基本上,我从服务器接收二进制数据(更新率为4Hz),我需要在二进制文件中写入此文件。
我的代码中的问题是文件大小。
我正在写,文件得到一个巨大的大小。我使用的是通用数据记录器软件,文件大小在5分钟内小于3mb,而我的代码超过100mb。
连接到服务器,我使用套接字(TCP)和写我使用下面的代码:
import socket
host = '10.1.1.10'
port = 4204
buffer_size = 2048
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s = socket.connect((host, port))
while True:
data = s.recv(buffer_size)
if not data:
break
data += data
with open('test2.000', 'a+b') as f:
f.write(data)
提前感谢您的帮助。
文尼
您的代码似乎将接收到的最新数据附加到接收到的所有数据,然后再次写入所有数据。删除
data += data
应该给你你想要的。