租用问题

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

< 返回租用问题列表

python中subprocess如何使用,python中subprocess模块

发布时间:2023-08-18 08:52:54

python中subprocess如何使用

在Python中,使用`subprocess`模块可以调用系统命令并与其交互。下面是一些常见的使用方法:
1. 履行命令并获得输出:
```python
import subprocess
output = subprocess.check_output(['ls', '-l'])
print(output.decode())
```
上述代码履行`ls -l`命令,并将输出结果以字节情势保存在`output`变量中。使用`decode()`方法将字节转换为字符串并打印输出。
2. 履行命令并获得返回值:
```python
import subprocess
return_code = subprocess.call(['ls', '-l'])
print(return_code)
```
上述代码履行`ls -l`命令,并将返回值保存在`return_code`变量中。返回值为0表示命令成功履行,非0表示履行失败。
3. 履行命令并捕获毛病:
```python
import subprocess
try:
output = subprocess.check_output(['command'])
except subprocess.CalledProcessError as e:
print(e.returncode)
print(e.output.decode())
```
上述代码履行`command`命令,并捕获可能的毛病。如果命令履行成功,将输出保存在`output`变量中,否则将返回值保存在`e.returncode`中,毛病信息保存在`e.output`中。
4. 履行命令并传递参数:
```python
import subprocess
filename = 'example.txt'
subprocess.call(['touch', filename])
```
上述代码履行`touch`命令,并传递参数`filename`,在当前目录下创建一个名为`example.txt`的文件。
5. 履行命令并传递输入:
```python
import subprocess
input_data = 'Hello World!'
output = subprocess.check_output(['grep', 'World'], input=input_data.encode())
print(output.decode())
```
上述代码履行`grep 'World'`命令,并将`input_data`作为输入传递给命令。输出结果包括`World`的即将被保存在`output`变量中。
这只是`subprocess`模块的一些基本用法,还有很多其他功能可以探索。请查阅官方文档以取得更详细的信息:https://docs.python.org/3/library/subprocess.html