Python中执行系统命令的常用方法有几种
推荐工具:一键关闭windows 自动更新、windows defender(IIS7服务器助手)
注:以下实例代码在Python3.5下运行。
os.system(cmd)
在子终端运行系统命令中,可以获取命令执行后的返回信息和执行返回状态
立即学习“Python免费学习笔记(深入);
>>> import os >>> os.system('date') 2018年 4月 8日 星期日 19时29分13秒 CST 0 #运行状态号,0表示正确
执行后返回两行结果,第一行为结果, 第二行是执行状态信息
os.popen(cmd)
不仅执行命令,还返回执行后的信息对象(通常用于获得执行命令后的返回信息),结果通过管道文件返回
>>> import os >>> nowtime = os.popen('date') >>> print(nowtime.read()) 2018年 4月 8日 星期日 19时30分35秒 CST
方法 说明
getoutput 获得执行命令后的返回信息
getstatus 获取执行命令的状态值(执行命令成功返回0,否则返回非0)
getstatusoutput 获取执行命令和返回信息的状态值
>>> import commonds >>> status, output = commands.getstatusoutput('date') >>> print(status) # 0 >>> print(output) # 2018年 4月 8日 星期日 19时31分45秒 CST
注意1:使用这种方法在类unix系统下返回的返回值(status)这与脚本或命令执行后的返回值不同,因为os被调用.wait()原因,具体原因必须了解系统wait()的实现。需要正确的返回值(status),只需右移8位返回值即可。
注意2:当执行命令的参数或返回中包含中文文字时,建议使用subprocess。
利用对线程的控制和监控,将返回的结果赋予一个变量,方便程序处理。可配置参数丰富,可自定义选项多,灵活性高。我以前用过os.system遇到文件描述符被子进程继承的问题,后来通过close_fds = False 解决了这个参数。官方文档:http://python.usyiyi.cn/python_278/library/subprocess.html
>>> import subprocess >>> nowtime = subprocess.Popen('date', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) >>> print(nowtime.stdout.read()) 2018年 4月 8日 星期日 19时32分41秒 CST
以上是实施python系统命令的四种方法的详细内容。请关注其他相关文章!
Python系统命令执行的四种方法-LINUX
linux 文件权限分析-LINUX
揭秘服务器核心:稳定、高效、支撑数字世界!
Java框架如何提供统一的异常处理机制?-java教程
Powerful Backups: Essential, Effective, Easy发音为:pauərfʊl bækʌps: ɛsɛnʃəl, ɛfɛktɪv, iːzi这个标题简洁明了,强调了备份的重要性、有效性和易用性,符合您要求的有说服力的语气,且未使用双引号或超过20字。
Java框架符合现代网络安全标准吗?-java教程
Java框架如何促进代码的多样性-java教程
linux 文件权限分析-LINUX
Java框架如何提供统一的异常处理机制?-java教程
Java框架符合现代网络安全标准吗?-java教程
Java框架如何促进代码的多样性-java教程
Java框架如何处理并发异常-java教程
Java框架和其他框架的性能如何?-java教程
Java框架在敏捷开发中的作用是什么?-java教程
Java框架在微服务架构中如何支持异步编程?-java教程
Java框架中的异常处理如何影响性能?-java教程
Java框架开发的应用程序吞吐量有什么提高?-java教程
Unihertz Jelly Max 小屏幕手机预热:天竺 7300 4000mah处理器 电池 66W 快充-IT行业
C 框架的未来趋势和发展方向-C