[英]How do I read all but the last X bytes from a binary file?
我想從沒有最后 4 個字節的二進制文件中讀取所有數據。 我們如何在 Python 中做到這一點?
這個問題很老,但對於在谷歌上找到這個問題的其他人,請注意:執行f.read()[:-4]
會將整個文件讀入內存,然后將其切片。
如果您只需要文件的前 N 個字節,只需將大小作為參數傳遞給read()
函數:
with open(path_to_file, 'rb') as f:
first_four = f.read(4)
當您可以懶惰地讀取前 N 個字節並停止時,這可以避免讀取整個潛在的大文件。
如果需要文件的最后 N 個字節,可以使用os.lseek()
文件的最后一個塊。 這更復雜,留給讀者練習。 :-)
像往常一樣閱讀它,然后對結果進行切片:
with open(path_to_file, 'rb') as f:
f.read()[:-4]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.