struct与subprocess 模块
struct模块
pack
用于将Python的值根据格式符,转换为字符串(因为Python中没有字节(Byte)类型,可以把这里的字符串理解为字节流,或字节数组)。其函数原型为:struct.pack(fmt, v1, v2, …),参数fmt是格式字符串,v1, v2, …表示要转换的python值。
res = struct.pack("i", 45) print(res, len(res)) 运行结果: b'-\x00\x00\x00' 4
|
unpack
unpack做的工作刚好与struct.pack相反,用于将字节流转换成python数据类型。它的函数原型为:struct.unpack(fmt, string),该函数返回一个元组
obj = struct.unpack("i", res) print(obj[0]) 运行结果: 45
calcsize
用于计算格式字符串所对应的结果的长度,如:struct.calcsize(‘ii’),返回8。因为两个int类型所占用的长度是8个字节。
subprocess
用于通过python执行shell命令
Popen
res = subprocess.Popen("dir", shell=True, stderr=subprocess.PIPE, stdout=subprocess.PIPE ) print(res.stderr.read().decode("gbk")) print(res.stdout.read().decode("gbk"))