Python 调用外部命令:os 模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 调用外部命令:os 模块相关的知识,希望对你有一定的参考价值。

注:以下使用 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 模块的主要内容,如果未能解决你的问题,请参考以下文章

Python 调用外部命令

Python下调用Linux的Shell命令的方法

21 python调用外部系统命令

python调用linux的命令

python调用外部命令

Python调用(运行)外部程序