我試圖實現一個ramdump PC程序,可以從智能手機獲取所有RAM數據。 我的代碼最終能夠正常工作,但由於文件寫入速度很慢。如何提高Python中的文件寫入速度?如何提高將串行數據保存到Python文件的速度
這是我的代碼部分,用於接收串行數據:
while recv_num < tot_num:
remain_num = tot_num - recv_num
for i in range(512):
data = receive_qword() # result=ser.read(size=8)
f.write(data)
recv_num = recv_num + 512
我已經寫在C ramdump程序,我工作的這個轉換到Python。在我的C代碼中,函數f_write(fil,ptr,size * count,& bwrite)的工作很快,似乎像散裝蒸汽一樣運行。
在Python中是否存在與C機制等價的機制?
你怎麼知道該程序由於文件寫入緩慢?你有分析過嗎? – user4815162342
非常好的問題。在資源管理器中,通過按F5鍵刷新轉儲文件,發現文件的大小與C程序相比成長很小。這意味着python程序有比C更多的文件寫入時間,所以我在C中檢查了f_write函數。它可以在不分開的時間立即在文件中寫入數據。 – redreamer
C的'fwrite'和Python的'file.write'緩衝輸出數據。我希望你的緩慢來自小塊閱讀和創造大量的小字符串。 – user4815162342