给出python执行shell命令并获取返回结果的代码
时间: 2024-05-05 17:18:19 浏览: 162
当然可以,以下是Python执行Shell命令并获取返回结果的代码:
```python
import subprocess
def run_command(command):
process = subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)
output, error = process.communicate()
return output.decode("utf-8")
result = run_command("ls -l")
print(result)
```
这段代码可以执行Shell命令`ls -l`并获取该命令的输出结果。如果你需要执行其他Shell命令,只需要将`ls -l`替换为你要执行的命令即可。
相关问题
python 执行shell 命令并返回结果
可以使用Python的`subprocess`模块来执行shell命令并返回结果。可以使用`subprocess.run()`函数来执行命令,并且可以通过`stdout`参数来获取命令执行的输出结果。以下是一个示例代码:
```python
import subprocess
# 执行shell命令
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE)
# 获取命令执行的输出结果
output = result.stdout.decode('utf-8')
# 打印输出结果
print(output)
```
在上面的示例中,我们执行了`ls -l`命令,并通过`stdout`参数获取了命令执行的输出结果。然后使用`decode()`方法将输出结果从字节串转换为字符串,最后将结果打印出来。
python2 获取shell命令输出结果
在Python 2中,你可以使用`os.popen()`函数来获取shell命令的输出结果。`os.popen()`函数会执行指定的shell命令,并返回一个文件对象,你可以通过读取该文件对象来获取命令的输出结果。
以下是一个示例代码:
```python
import os
# 执行shell命令,并获取输出结果
command = "ls -l"
output = os.popen(command).read()
# 打印输出结果
print(output)
```
在上面的示例中,我们使用`os.popen()`函数执行了一个`ls -l`的shell命令,并将输出结果保存在`output`变量中。然后我们通过`print()`函数打印了输出结果。
需要注意的是,`os.popen()`函数在Python 2中已经被废弃,推荐使用`subprocess`模块来执行shell命令。如果你使用的是Python 2.7.16及以上版本,可以使用`subprocess.check_output()`函数来获取shell命令的输出结果。
以下是使用`subprocess.check_output()`函数获取shell命令输出结果的示例代码:
```python
import subprocess
# 执行shell命令,并获取输出结果
command = "ls -l"
output = subprocess.check_output(command, shell=True)
# 打印输出结果
print(output)
```
这样就可以在Python 2中获取shell命令的输出结果了。
阅读全文