準確地講,Python沒有專門處理字節的數據類型。但因爲str
既是字符串,又能夠表示字節,因此,字節數組=str。而在C語言中,咱們能夠很方便地用struct、union來處理字節,以及字節和int,float的轉換。shell
好在Python提供了一個struct
模塊來解決str
和其餘二進制數據類型的轉換。數組
struct
的pack
函數把整數類型變成字節:函數
import struct res=struct.pack('i',16243422) print(res) print(len(res)) >>> b'\xde\xda\xf7\x00' 4
'i' 表示4字節無符號整數, 'h' 表示2字節無符號整數(範圍:(-32768) <= number <= 32767)性能
struct
的unpack
函數把字節類型還原成整數:spa
import struct res=struct.pack('i',16243422) ret=struct.unpack('i',res) print(ret[0]) >>> 16243422
因此,儘管Python不適合編寫底層操做字節流的代碼,但在對性能要求不高的地方,利用struct
就方便多了。code
subprocess的popen用法:blog
import subprocess res=subprocess.Popen('dir', shell=True, stderr=subprocess.PIPE, stdout=subprocess.PIPE) print(res.stdout.read().decode('gbk')) #打印當前文件下的目錄
print(res.stderr.read().decode('gbk')) #文件名輸入錯誤,輸出錯誤