如何用Python执行linux命令

By 刘志军, 2020-06-04, 分类: qa

python

方法1: 使用 subprocess.call

如果你在Linux中执行的命令是:

ls -l

那么你只要将命令按空格分隔,转换成列表,作为参数传给 subprocess.call 即可。

>>> import subprocess
>>> subprocess.call(["ls", "-l"])
total 72
lrwxrwxrwx   1 root root     7 Jul 19  2018 bin -> usr/bin
dr-xr-xr-x   5 root root  4096 Dec  1  2018 boot
drwxr-xr-x   3 root root  4096 Nov 10  2019 data
drwxr-xr-x  19 root root  2980 May 23 00:12 dev
drwxr-xr-x  89 root root  4096 Apr 16 21:43 etc
drwxr-xr-x   4 root root  4096 Dec 14 23:10 home
lrwxrwxrwx   1 root root     7 Jul 19  2018 lib -> usr/lib
lrwxrwxrwx   1 root root     9 Jul 19  2018 lib64 -> usr/lib64
drwx------   2 root root 16384 May 12  2016 lost+found
drwxr-xr-x   2 root root  4096 Apr 11  2018 media
drwxr-xr-x   2 root root  4096 Apr 11  2018 mnt
drwxr-xr-x   2 root root  4096 Apr 11  2018 opt
dr-xr-xr-x 113 root root     0 Feb  5 00:22 proc

方法2:使用 subprocess.run

subprocess.run 是 python3.5 引入的方法,如果你是使用python,那么推荐用此方法。

>>> import subprocess
>>> subprocess.call(["ls", "-l"])
total 72
lrwxrwxrwx   1 root root     7 Jul 19  2018 bin -> usr/bin
dr-xr-xr-x   5 root root  4096 Dec  1  2018 boot
drwxr-xr-x   3 root root  4096 Nov 10  2019 data
drwxr-xr-x  19 root root  2980 May 23 00:12 dev
drwxr-xr-x  89 root root  4096 Apr 16 21:43 etc
drwxr-xr-x   4 root root  4096 Dec 14 23:10 home
lrwxrwxrwx   1 root root     7 Jul 19  2018 lib -> usr/lib
lrwxrwxrwx   1 root root     9 Jul 19  2018 lib64 -> usr/lib64
drwx------   2 root root 16384 May 12  2016 lost+found
drwxr-xr-x   2 root root  4096 Apr 11  2018 media
drwxr-xr-x   2 root root  4096 Apr 11  2018 mnt
drwxr-xr-x   2 root root  4096 Apr 11  2018 opt
dr-xr-xr-x 113 root root     0 Feb  5 00:22 proc

有问题可以扫描二维码和我交流

关注公众号「Python之禅」,回复「1024」免费获取Python资源

python之禅

猜你喜欢

2020-06-04
如何对python字典进行排序
2020-06-14
python中文件复制
2019-05-13
python3判断list是否为空
2022-05-21
为啥用 PIP 安装库也会提示UnicodeDecodeError?
2019-05-12
一行代码将 cookie 字符串转换成字典对象
2020-05-07
Python自制PornHub风格的LOGO
2017-07-19
如何正确理解@classmethod与@staticmethod
2022-03-13
从一段小代码开始学习如何重构
2020-12-25
PDF转换库 WeasyPrint 使用指南
2019-02-22
Python趣味挑战