租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

python的subprocess用法有哪几种,python的subprocess.check_output

发布时间:2023-08-03 08:29:16

python的subprocess用法有哪几种

Python的subprocess模块提供了一种在Python程序中创建和管理子进程的方式。以下是subprocess模块的一些常见用法:
1. 运行外部命令或脚本:
```python
import subprocess
subprocess.run(["ls", "-l"]) # 运行ls -l命令
subprocess.run("echo Hello, World", shell=True) # 运行shell命令
```
2. 获得命令输出:
```python
import subprocess
result = subprocess.run(["ls", "-l"], capture_output=True, text=True)
print(result.stdout) # 输出命令的标准输出
print(result.stderr) # 输出命令的标准毛病
```
3. 检查命令的返回值:
```python
import subprocess
result = subprocess.run(["ls", "-l"])
if result.returncode == 0:
print("命令履行成功")
else:
print("命令履行失败")
```
4. 设置子进程的工作目录:
```python
import subprocess
subprocess.run(["ls", "-l"], cwd="/path/to/directory")
```
5. 传递输入给子进程:
```python
import subprocess
subprocess.run(["grep", "keyword"], input="This is a test", text=True)
```
6. 等待子进程完成并获得退出状态码:
```python
import subprocess
process = subprocess.Popen(["ls", "-l"])
process.wait() # 等待子进程完成
exit_code = process.returncode # 获得子进程的退出状态码
```
7. 实时获得命令输出:
```python
import subprocess
process = subprocess.Popen(["ls", "-l"], stdout=subprocess.PIPE, text=True)
for line in process.stdout:
print(line.strip())
```
以上是subprocess模块的一些常见用法,还有其他更高级的用法和选项,可以参考官方文档了解更多信息。