python中subprocess批量执行linux命令


本文摘自php中文网,作者不言,侵删。

本篇文章给大家详细讲述了python中使用subprocess批量执行linux命令的方法,有兴趣的朋友参考学习下。

可以执行shell命令的相关模块和函数有:

  • os.system

  • os.spawn

  • os.popen --废弃

  • popen --废弃

  • commands --废弃,3.x中被移除

以上执行shell命令的相关的模块和函数的功能均在 subprocess 模块中实现,并提供了更丰富的功能。

subprocess

call

执行命令,返回状态码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

>>> import subprocess

>>> ret = subprocess.call(["ls", "-l"], shell=False)

total 4684

-rw-r--r-- 1 root root   454 May 5 12:20 aa.py

-rw-r--r-- 1 root root    0 May 8 16:51 aa.txt

-rw-r--r-- 1 root root 4783286 Apr 11 16:39 DockerToolbox.exe

-rw-r--r-- 1 root root   422 May 5 12:20 ip_info.txt

-rw-r--r-- 1 root root   718 Apr 19 10:52 my.cnf

>>> ret = subprocess.call("ls -l", shell=True)

total 4684

-rw-r--r-- 1 root root   454 May 5 12:20 aa.py

-rw-r--r-- 1 root root    0 May 8 16:51 aa.txt

-rw-r--r-- 1 root root 4783286 Apr 11 16:39 DockerToolbox.exe

-rw-r--r-- 1 root root   422 May 5 12:20 ip_info.txt

-rw-r--r-- 1 root root   718 Apr 19 10:52 my.cnf

>>> print(ret)

0

check_call

执行命令,如果执行状态码是 0 ,则返回0,否则抛异常

1

2

3

4

5

6

7

8

9

10

11

12

13

14

>>> subprocess.check_call(["ls", "-l"])

total 4684

-rw-r--r-- 1 root root   454 May 5 12:20 aa.py

-rw-r--r-- 1 root root    0 May 8 16:51 aa.txt

-rw-r--r-- 1 root root 4783286 Apr 11 16:39 DockerToolbox.exe

-rw-r--r-- 1 root root   422 May 5 12:20 ip_info.txt

-rw-r--r-- 1 root root   718 Apr 19 10:52 my.cnf

0

>>> subprocess.check_call("exit 1", shell=True)

Traceback (most recent call last):

 File "<stdin>", line 1, in <module>

 File "/usr/local/python3.5/lib/python3.5/subprocess.py", line 581, in check_call

  raise CalledProcessError(retcode, cmd)

subprocess.CalledProcessError: Command 'exit 1' returned non-zero exit status 1

check_output

阅读剩余部分

相关阅读 >>

Python中while和for的区别

Python中怎么向字典添加元素

爬虫为什么不用java要用 Python

Python中eval() 与exec() 函数的用法解析

Python单链表中如何插入和输出节点?(代码示例)

pytho 中闭包与装饰器详解

Python numpy函数中linspace实现创建等差数列的实例分享

手把手教你在Python中如何使用while true语句

Python怎么安装numpy库

Python实现有序字典的详细介绍(附代码)

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...