Python语言学习:如何执行 shell 命令
python执行shell脚本的几种方法
利用第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")
- 字符串形式执行命令
- 返回状态,0,表示成功
import os
os.system("curl https://js.work")
os.popen("command")方法
- 字符串形式执行命令
- 返回 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
'''