python的subprocess如何使用
时间: 2024-05-03 17:22:52 浏览: 118
Python的subprocess模块可以在Python程序中启动新进程,与该进程进行交互并获取其输出。下面是一些subprocess的基本使用方法:
1. 启动一个进程并等待其完成
```python
import subprocess
# 启动一个进程并等待其完成
result = subprocess.run(["ls", "-l"], stdout=subprocess.PIPE)
# 输出进程的标准输出
print(result.stdout.decode("utf-8"))
```
2. 启动一个进程并不等待其完成
```python
import subprocess
# 启动一个进程并不等待其完成
subprocess.Popen(["ls", "-l"])
```
3. 启动一个进程并获取其输出
```python
import subprocess
# 启动一个进程并获取其输出
result = subprocess.run(["ls", "-l"], stdout=subprocess.PIPE)
# 输出进程的标准输出
print(result.stdout.decode("utf-8"))
```
4. 启动一个进程并传递参数
```python
import subprocess
# 启动一个进程并传递参数
result = subprocess.run(["grep", "-n", "hello", "test.txt"], stdout=subprocess.PIPE)
# 输出进程的标准输出
print(result.stdout.decode("utf-8"))
```
5. 将一个命令的输出作为另一个命令的输入
```python
import subprocess
# 将一个命令的输出作为另一个命令的输入
p1 = subprocess.Popen(["ls", "-l"], stdout=subprocess.PIPE)
p2 = subprocess.Popen(["grep", "hello"], stdin=p1.stdout, stdout=subprocess.PIPE)
p1.stdout.close()
output = p2.communicate()[0]
# 输出进程的标准输出
print(output.decode("utf-8"))
```
这些是subprocess模块的一些基本用法,可以根据具体需求进行扩展。
阅读全文