Python 调用 Shell脚本的方法
1.os模块的popen方法
通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出。
>>> os.popen(\'date -u |wc\') <open file \'date -u |wc\', mode \'r\' at 0x7f9539eb34b0> >>> os.popen(\'date -u |wc\').read() \' 1 6 43\n\'
2.利用commands模块
这个模块有个非常好用的方法可以直接读取程序执行的返回值
通过 commands.getstatusoutput() 一个方法就可以获得到返回值和输出
>>> import commands >>> commands.getstatusoutput(\'ls /bin/ls\') (0, \'/bin/ls\') >>> commands.getstatusoutput(\'cat /bin/junk\') (256, \'cat: /bin/junk: No such file or directory\') >>> commands.getstatusoutput(\'/bin/junk\') (256, \'sh: /bin/junk: not found\') >>> commands.getoutput(\'ls /bin/ls\') \'/bin/ls\' >>> commands.getstatus(\'/bin/ls\') \'-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls\'
3.利用subprocess模块
subprocess模块用来启动可终止其它程序,创建多个进程.想要shell中运行其它程序并获取它的输出,可以使用check_output()方法,它接受一个命令和参数列表
>>> subprocess.check_output(["echo", "Hello World!"]) \'Hello World!\n\' >>> ret = subprocess.check_output([\'date\',\'-u\']) >>> ret \'2016\xe5\xb9\xb4 05\xe6\x9c\x88 20\xe6\x97\xa5 \xe6\x98\x9f\xe6\x9c\x9f\xe4\xba\x94 09:48:44 UTC\n\'
本文转载自:https://blog.csdn.net/u010786109/article/details/51463598