码迷,mamicode.com
首页 > 编程语言 > 详细

Python 调用外部命令:os 模块

时间:2017-10-30 11:18:28      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:close   调用   内容   stdout   out   pop   cto   span   /tmp   

注:以下使用 os 模块来调用外部命令,但已经不建议使用该模块,通常我们都是用 subpross 模块

os.system() :命令的结果输出在终端上,捕获不到

In [1]: import os

In [2]: os.system(ls /tmp/)
12.txt    1.txt  2.txt  3.txt  test1  test2    # 这里的结果输出到终端
Out[2]: 0                                      # 这里返回命令执行后的状态码

os.popen() :返回1个对象,即标准输出

In [4]: out = os.popen(ls /tmp/)    # 通过变量来接收标准输出

In [5]: out.read()    # 可以用read()、readline()、readlines()等方法查看
Out[5]: 12.txt\n1.txt\n2.txt\n3.txt\ntest1\ntest2\n

os.popen2() :返回2个对象,分别是标准输入、标准输出

In [3]: stdin, stdout = os.popen2(ls /tmp/)    # 我们用 stdin 来接收标准输入,用 stdout 来接收标准输出

In [4]: stdout.read()                            # 可以通过 read() 方法来查看标准输出
Out[4]: 12.txt\n1.txt\n2.txt\n3.txt\ntest1\ntest2\n

In [5]: stdin.write(hello)                     # 也可以用 write() 方法来写入到标准输入
 
In [6]: stdin.close()                            # close()之后才能保存写入的内容

os.popen3() :返回3个对象,分别是标准输入、标准输出、标准错误输出

In [7]: stdin, stdout, stderr = os.popen3(ls /tmp/aaa)

In [9]: stderr.read()    # 查看标准错误输出
Out[9]: ls: cannot access /tmp/aaa: No such file or directory\n

 

 

 

 

     

 

Python 调用外部命令:os 模块

标签:close   调用   内容   stdout   out   pop   cto   span   /tmp   

原文地址:http://www.cnblogs.com/pzk7788/p/7752912.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!