Python语言学习:如何执行 shell 命令

python执行shell脚本的几种方法
更新于: 2022-02-15 05:15:21

利用第3方命令 sh

使用简单,推荐。

# 安装
pip install sh
# 使用
import sh
sh.pwd()
sh.mkdir( new_folder )
sh.touch( new_file.txt )
sh.whoami()
sh.echo( This is great! )

利用 os.system("command")

  1. 字符串形式执行命令
  2. 返回状态,0,表示成功
import os
os.system("curl https://js.work")

os.popen("command")方法 

  1. 字符串形式执行命令
  2. 返回 shell 执行的返回结果
output_stream = os.popen('ps aux | grep main.py')
print(output_stream.read())
output_stream.close()

通过subprocess模块

subprocess模块是python从2.4版本开始引入的模块,也是系统自带的,不需要再额外安装了。主要用来取代 一些旧的模块方法,如os.system、os.spawn*、os.popen*、commands.*等。subprocess通过子进程来执行外部指令,并通过input/output/error管道,获取子进程的执行的返回信息。

import subprocess
 
print(subprocess.call(["ls","-l"],shell=False))  # shell参数为false,则,命令以及参数以列表的形式给出
'''
total 8
-rw-rw-r-- 1 tengjian tengjian    0 11月  5 09:32 a.txt
-rw-rw-r-- 1 tengjian tengjian    0 11月  5 09:33 b.txt
drwxrwxr-x 2 tengjian tengjian 4096 11月  5 09:32 hahaha
-rw-rw-r-- 1 tengjian tengjian  119 11月  5 10:22 python_shell.py
0
'''

参考