Python中执行系统命令常见的几种方法有
注意:以下实例代码在Python3.5下运行通过。
一、os.system方法
os.system(cmd)
在子终端运行系统命令,可以获取命令执行后的返回信息以及执行返回的状态>>> import os
>>> os.system('date')
2018年 4月 8日 星期日 19时29分13秒 CST
0 #运行状态号,0表示正确
执行后返回两行结果,第一行是结果, 第二行是执行状态信息
《python数组循环合并python执行系统命令四种方法比较》总结了关于python培训教程,对于我们来电脑技术002pc网确实能学到不少知识。
二、os.popen方法
os.popen(cmd)
不仅执行命令而且返回执行后的信息对象(常用于需要获取执行命令后的返回信息),是通过一个管道文件将结果返回>>> import os
>>> nowtime = os.popen('date')
>>> print(nowtime.read())
2018年 4月 8日 星期日 19时30分35秒 CST
三、commands模块
方法 说明
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。
四、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执行系统命令四种方法比较
https://www.002pc.comhttps://www.002pc.com/python/5681.html
你可能感兴趣的python,系统命令,四种,执行,方法,比较
我手机下种子怎么是phpPHP 中执行系统外部命令
《我手机下种子怎么是phpPHP 中执行系统外部命令》总结了关于php开源教程,对于我们来002pc.com确实能学到不少知识。
linux硬盘满Linux系统重定向命令的使用方法
标准输入的控制
语法:命令 文件将命令的执行结果送至指定的文件中。
例如:
ls -l > list 将执行“ls -l” 命令的结果写入文件list 中。
语
linux端口号查进程CentOS下查看系统版本的4种方法
Linux有很多的发行版,不同的版本会有一些细微区别,所以经常需要查看服务器系统的版本号。下面来看下CentOS下如何查看CentOS版本。
ai免费版xp系统XP命令提示符被管理员停用的解决方法
我们知道,为了安全起见,有的系统命令提示符是禁止使用的,但如何启用呢,下面看一下吧
XP系统"命令提示符已被管理员停用"解决方法
单击"开始"
电脑系统字体卸载CentOS系统中使用yum命令安装redis的方法
在linux CentOS系统中使用yum命令安装redis报错:
[root@localhost install]# yum install redisLoaded plugins: fastestmirrorSetting
鞋店电脑系统怎么装win7系统telnet命令无效的解决方法
为了测试Mina服务器并实践协议,需要用到windows下的telnet命令。
系统时win7的,输入telnet时,提示该命令无效。
首先想到的是环境变量没有配置好,进入电脑--
linux安装搜狗输入法命令linux命令行高效操作方法
引言:文本界面操作linux系统,对初学者来说,显的很吃力,但如果掌握了一定的方法,熟练了,命令行下linux操作效率远高于桌面linux系统,接下来将从以下几个方面简要阐
convert linuxsudo命令与su命令有什么区别
udo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,那么sudo命令与su命令有什么区别呢?今天小编与大家分享下sudo命令与su命令区别
御龙在天电脑系统CentOS7无法使用Tab键补全命令的解决方法
www.002pc.com认为此文章对《御龙在天电脑系统CentOS7无法使用Tab键补全命令的解决方法》说的很在理,电脑技术网为你提供最佳的学习电脑基础,系统故障。今天在centOS上做实验,
xp系统大 硬盘分区windows环境常用命令sc的用法
sc 在渗透中常用的功能有三个,远程执行东西,远程开启/关闭服务,查服务的信息,如服务的exe路径。
0踩
赏
0 赞