python3基础07(进程操作及执行系统级命令等)
2024-09-02 04:25:39
#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)
最新文章
- Linux gzip、gunzip
- 制作SMD Package及SMD焊盘制作
- PRML读书会第四章 Linear Models for Classification(贝叶斯marginalization、Fisher线性判别、感知机、概率生成和判别模型、逻辑回归)
- java调用matlab函数
- 局域网怎么通过IP查看对方MAC
- 【转】C#读取文件时的共享方式
- GPSR协议移植
- js jquery版本号 金额千分之一转换功能(非规范,高效率)
- Tomcat8-源码编译及开发
- 求数组的最小数、最大值,求一组数的平均数,sort函数详解,类数组转数组
- Jquery页面滚动动态加载数据,页面下拉自动加载内容
- Appium python自动化测试系列之等待函数如何进行实战(九)
- fastjson从1.1.41升级到1.2.28的坑
- cannot be run because the QueueReader subsystem failed to load
- logback日志丢失的情况之一
- 5. Web vulnerability scanners (网页漏洞扫描器 20个)
- k8s学习笔记之九: Service Account
- 【Git使用】SourceTree+Git简单使用(Windows)(转)
- MySQL DROP DB或TABLE场景下借助SQL Thread快速应用binlog恢复方案
- android--------Dagger2介绍与简单使用(一)