subprocess和struct模块

subprocess

import subprocess

obj = subprocess.Popen('dir',shell=True,
                 stdout=subprocess.PIPE,
                 stderr=subprocess.PIPE,
                 )  # 开启子进程执行命令,默认会将结果直接输出,stdout标准正确输出,PIPE管道,stderr错误输出
print(obj.stdout.read().decode('gbk'))  # 打印正确的内容,为bytes类型,只能取一次

print(obj.stderr.read().decode('gbk'))  # 读错误内容,没出错就没有内容

 

struct

import struct
# 帮我们把数字转成固定长度的bytes类型
res = struct.pack('i',123123)
print(struct.pack('i',123123))  # b'\xf3\xe0\x01\x00' i表示int类型 转换为4位的bytes类型
res1 = struct.unpack('i',res)
print(res1)  # (123123,)

res = struct.pack('q',12312344444)  # q格式支持的数字范围更大,转换为8个bytes类型

 

posted on 2017-11-28 15:22  杨小天  阅读(121)  评论(0编辑  收藏  举报