Python中执行系统命令常见方法有两种:
两者均需 import os
(1)
os.system
# 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息
system(command) -> exit_status
Execute the command (a string) in a subshell.
# 如果再命令行下执行,结果直接打印出来
2
|
04101419778.CHM bash
document media py - django
video
|
3
|
11.wmv books
downloads Pictures python
|
4
|
all - 20061022 Desktop
Examples project tools
|
(2)
os.popen
#该方法不但执行命令还返回执行后的信息对象
popen(command [, mode='r' [, bufsize]]) -> pipe
Open a pipe to/from a command returning a file object.
例如:
01
|
>>>tmp = os.popen( 'ls
*.py' ).readlines()
|
04
|
[ 'dump_db_pickle.py
' ,
|
05
|
'dump_db_pickle_recs.py
' ,
|
10
|
'make_db_pickle_recs.py
' ,
|
12
|
'peopleinteract_query.py
' ,
|
16
|
'update_db_pickle.py
' ,
|
好处在于:将返回的结果赋于一变量,便于程序的处理。
(3)
使用模块subprocess
2
|
>>>
subprocess.call ([ "cmd" , "arg1" , "arg2" ],shell = True )
|
获取返回和输出:
2
|
p = subprocess.Popen( 'ls' ,
shell = True ,
stdout = subprocess.PIPE,
stderr = subprocess.STDOUT)
|
3
|
for line in p.stdout.readlines():
|
(4)
使用模块commands模块
3
|
[ '__all__' , '__builtins__' , '__doc__' , '__file__' , '__name__' , 'getoutput' , 'getstatus' , 'getstatusoutput' , 'mk2arg' , 'mkarg' ]
|
4
|
>>>
commands.getoutput( "date" )
|
5
|
'Wed
Jun 10 19:39:57 CST 2009'
|
7
|
>>>
commands.getstatusoutput( "date" )
|
8
|
( 0 , 'Wed
Jun 10 19:40:41 CST 2009' )
|
注意: 当执行命令的参数或者返回中包含了中文文字,那么建议使用subprocess,如果使用os.popen则会出现下面的错误:
1
|
Traceback
(most recent call last):
|
2
|
File "./test1.py" ,
line 56, in <module>
|
4
|
File "./test1.py" ,
line 45, in main
|
6
|
File "./mailfax/Fax.py" ,
line 13, in sendFax
|
8
|
UnicodeEncodeError: 'ascii' codec
can't encode characters in position
46-52: ordinal not in range(128)
|
关于本文更多的延伸阅读地址:
http://zh-cn.how-to.mobi/index.php?id=89228
http://www.javaeye.com/topic/406623
分享到:
相关推荐
Python中执行系统命令常见的几种方法.doc
#仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 import os os.system('ls') 方法二:popen()函数 import os os.popen('ls').readlines() #这个返回值是一个list 方法三:使用模块 ...
主要介绍了Python执行Linux系统命令的4种方法,即在Python脚本中调用Shell命令,需要的朋友可以参考下
本文是小编日常整理的些关于python执行系统命令常见的方法,比较全面,特此通过脚本之家这个平台把此篇文章分享给大家供大家参考
procSpy - 用于监视和记录Linux系统上用户运行命令的Python工具
主要介绍了Python3 执行系统命令并获取实时回显功能,文中通过两种方法给大家介绍了Python执行系统命令并获得输出的方法,需要的朋友可以参考下
最近在做那个测试框架的时候发现对python执行系统命令不太熟悉,所以想着总结下,下面这篇文章主要给大家介绍了关于在Python中执行系统命令的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
利用Python调用外部系统命令的方法可以提高编码效率。调用外部系统命令完成后可以通过获取命令执行返回结果码、执行的输出结果进行进一步的处理。本文主要描述Python常见的调用外部系统命令的方法,包括os.system&#...
Python使用技巧,实战应用开发小系统参考资料,源码参考。经测试可运行。 详细介绍了一些Python框架的各种功能和模块,以及如何使用Python进行GUI开发、网络编程和跨平台应用开发等。 适用于初学者和有经验的开发者...
今天小编就为大家分享一篇python执行系统命令后获取返回值的几种方式集合,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
但Python执行系统命令这个问题,从学Python之初就一直在困扰,到最近又反复几次在上边遇到问题,实在是受不了。 二、Python执行系统命令的实现方式 2.1 执行命令不需要获取命令输出–os.system 有时候我们只需要执行...
今天小编就为大家分享一篇解决python执行不输出系统命令弹框的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
SecureCRT运行Python脚本测试IoT-WiFi模块-基础1 讲解基础的CRT-Python
基于python的二维码识别系统的实现.zip基于python的二维码识别系统的实现.zip基于python的二维码识别系统的实现....第四步:运行命令:python manage.py runserver 8000 第五步:打开浏览器查看http://127.0.0.1:8000