程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Python >> python 下讀取二進制文件

python 下讀取二進制文件

編輯:Python

在解析一個二進制文件的時候,想把讀取的單個的byte轉換為python的char類型值

f = file(...)
buf = f.read(1024)
int(buf[0])

結果總是報錯:ValueError: invalid literal for int() with base 10: ‘\x90′

 


這裡找到了對這個問題的解釋和解決的辦法:

 


在python中,file.read 得到的結果是string, 要轉換成別的類型,需要用到struct。

import struct
...
value = struct.unpack(fmt, buf[0])[0]

關於 struct.unpack 的用法,可以參考這個鏈接,其中有 fmt 的詳細的說明。

 


舉例來講,如果是想轉換成unsigned char,就用:

uchar = struct.unpack('B', buf[0])[0]

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved