python执行系统命令的方法
2022/1/22 21:09:48
本文主要是介绍python执行系统命令的方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
os.popen()、os.system()、subprocess.Popen()、subprocess.getoutput()、subprocess.getstatusoutput()
1、os.popen(cmd): 返回一个地址: <os._wrap_close object at 0x101f22dc0>
2、os.popen(cmd).read():返回所读取得地址的内容
3、os.system(cmd):返回内容以及执行结果,0表示正确,非0表示错误
4.1、subprocess.run(cmd,shell=True):返回 CompletedProcess 实例 => CompletedProcess(args='ls -l', returncode=0)
输入参数可以是一个字符串或列表,如果是字符串则需要shell = True;
4.2、subprocess.run(["ls", "-l", "/dev/null"]): 输入参数是一个列表
crw-rw-rw- 1 root wheel 3, 2 Jan 22 17:09 /dev/null
CompletedProcess(args=['ls', '-l', '/dev/null'], returncode=0)
5、status, output = subprocess.getstatusoutput(cmd):返回的结果和状态分开
6、subprocess.getoutput(cmd):只返回运行结果,无运行状态
import os, subprocess a = "-l" cmd = 'ls {}'.format(a) print("-------os.popen(cmd):返回一个地址") os_popen = os.popen(cmd) print(os_popen) print("\n-------os.popen(cmd).read():读取地址的内容") os_popen_read = os.popen(cmd).read() print(os_popen_read) print("\n-------os.system(cmd):返回内容以及执行结果,0表示正确") os_system = os.system(cmd) print(os_system) print("\n-------os.system(cmd):返回内容以及执行记结果,非0表示错误") os_system_error = os.system(cmd+"4") print(os_system_error) print("\n------subprocess.run(cmd,shell=True):输入参数可以是一个列表或字符串,如果是一个字符串,则需要shell=True") subprocess_run_string = subprocess.run(cmd,shell=True) print(subprocess_run_string) print("\n------subprocess.run([string1, string2]):输入参数可以是一个列表或字符串如果是一个字符串则需要shell=True") subprocess_run_list = subprocess.run(["ls", "-l", "/dev/null"]) print(subprocess_run_list) print("\n-------status, output = subprocess.getstatusoutput(cmd):运行结果和状态分开返回") status, output = subprocess.getstatusoutput(cmd) print("-------status--------") print(status) print("-------output--------") print(output) print("\n-----subprocess.getoutput(cmd):只返回运行结果") subprocess_getoutput = subprocess.getoutput(cmd) print(subprocess_getoutput)几种执行系统命令方式
-------os.popen(cmd):返回一个地址 <os._wrap_close object at 0x101f22dc0> -------os.popen(cmd).read():读取地址的内容 total 40 -rw-r--r-- 1 ad staff 172 Jan 22 16:26 listNode.py -rw-r--r--@ 1 ad staff 1153 Jan 22 16:39 test3.py -rw-r--r-- 1 ad staff 521 Jan 22 00:35 一星.py -rw-r--r-- 1 ad staff 435 Jan 22 00:36 排序汇总.py -rw-r--r-- 1 ad staff 3399 Jan 22 00:36 算法.py -------os.system(cmd):返回内容以及执行结果,0表示正确 total 40 -rw-r--r-- 1 ad staff 172 Jan 22 16:26 listNode.py -rw-r--r--@ 1 ad staff 1153 Jan 22 16:39 test3.py -rw-r--r-- 1 ad staff 521 Jan 22 00:35 一星.py -rw-r--r-- 1 ad staff 435 Jan 22 00:36 排序汇总.py -rw-r--r-- 1 ad staff 3399 Jan 22 00:36 算法.py 0 -------os.system(cmd):返回内容以及执行记结果,非0表示错误 ls: illegal option -- 4 usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...] 256 ------subprocess.run:输入参数可以是一个列表,如果是一个字符串,则需要shell = True total 40 -rw-r--r-- 1 ad staff 172 Jan 22 16:26 listNode.py -rw-r--r--@ 1 ad staff 1153 Jan 22 16:39 test3.py -rw-r--r-- 1 ad staff 521 Jan 22 00:35 一星.py -rw-r--r-- 1 ad staff 435 Jan 22 00:36 排序汇总.py -rw-r--r-- 1 ad staff 3399 Jan 22 00:36 算法.py CompletedProcess(args='ls -l', returncode=0) -------status, output = subprocess.getstatusoutput:运行结果和状态分开返回 -------status-------- 0 -------output-------- total 40 -rw-r--r-- 1 ad staff 172 Jan 22 16:26 listNode.py -rw-r--r--@ 1 ad staff 1153 Jan 22 16:39 test3.py -rw-r--r-- 1 ad staff 521 Jan 22 00:35 一星.py -rw-r--r-- 1 ad staff 435 Jan 22 00:36 排序汇总.py -rw-r--r-- 1 ad staff 3399 Jan 22 00:36 算法.py -----subprocess.getoutput(cmd):只返回运行结果 total 40 -rw-r--r-- 1 ad staff 172 Jan 22 16:26 listNode.py -rw-r--r--@ 1 ad staff 1153 Jan 22 16:39 test3.py -rw-r--r-- 1 ad staff 521 Jan 22 00:35 一星.py -rw-r--r-- 1 ad staff 435 Jan 22 00:36 排序汇总.py -rw-r--r-- 1 ad staff 3399 Jan 22 00:36 算法.py [Finished in 0.3s]几种执行命令方式返回的结果
这篇关于python执行系统命令的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-18初探Python股票自动化交易:入门指南
- 2024-09-18Python量化入门:轻松掌握量化分析基础与实战
- 2024-09-18Python量化交易:入门指南与实践
- 2024-09-18Python量化交易:入门指南与实战技巧
- 2024-09-14Python人工智能项目实战:从零开始的实践指南
- 2024-09-14探索Python人工智能资料:初学者的指南
- 2024-09-14Python人工智能资料:初学者的全面指南
- 2024-09-13Matplotlib入门:轻松绘制Python数据可视化图表
- 2024-09-13Python人工智能:初学者的入门指南
- 2024-09-13Python人工智能:轻松入门与实践