最近开发Django项目,发现需要将前端传输的字节流转为实际的配置文件并保存,网上搜了很多,实现都比较繁琐(实现的功能太多,很多用不上),以下是个人的使用实例:
import os # 写文件 def save_file_from_bytes(str_msg, filename): """Save binary data from bytes to a file with the specified filename.""" with open(filename, 'w') as f: f.write(str_msg) # 示例字节流报文 msg = {"message_bytes": "54686973206973206120746573740d0a5468697320697320616e6f74686572206c696e650d0a416e642079657420616e6f74686572206c696e652e"} byte_str = msg['message_bytes'] # 将字节流转为str str_msg = bytes.fromhex(byte_str).decode() # 将字节流保存到文件 filename = 'example.txt' save_file_from_bytes(str_msg, filename) # 检查文件是否保存成功 if os.path.exists(filename): print(f'Saved file {filename} successfully!') else: print(f'Failed to save file {filename}.') # 该代码示例接收报文中传输的字节流,并将其转换为文件并保存在本地磁盘上。可以将示例字节流替换为实际传输的字节流,并将 filename 变量设置为希望保存文件的名称和路径。