python3基础07(进程操作及执行系统级命令等)

#subprocess 创建子进程 连接输入 输出 管道错误,及获取他们的状态,可执行操作系统级的命令
# subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, shell=False,
# cwd=None, timeout=None, check=False, encoding=None, errors=None, env=None)

stdin stdout stderr 文件描述符 或对象 subprocess.PIPE subprocess.DEVNULL None
encoding默认字节,可设置编码
shell为True,通过shell执行的命令
args为字符串,必须指定shell=True
args为字符串列表,不用指定shell,默认shell=False
args为字符串列表,指定shell=True时,参数被忽略

#返回的是CompletedProcess对象
args 进程的参数
returncode 状态码
stdout 输出信息 为bytes,需要通过decdoe编码才正常显示字符串
stderr 错误信息
check_returncode 返回码


ret = subprocess.run(['ipconfig', '/all'],stdout=subprocess.PIPE)
result=bytes(ret.stdout).decode(encoding='gbk')
print(result)

print(sys.builtin_module_names)
print(sys.modules)
ret = subprocess.run(['ipconfig', '/all'], shell=True)


s = subprocess.Popen("python", stdout=subprocess.PIPE, stdin=subprocess.PIPE, shell=True)
s.stdin.write(b"import os\n")
s.stdin.write(b"print(os.environ)")
s.stdin.close()

out = s.stdout.read().decode("GBK")
s.stdout.close()
print(out)

转载于:https://www.cnblogs.com/NiceTime/p/10085294.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值