给出python执行shell命令并获取返回结果的代码
时间: 2024-05-05 21:18:19 浏览: 9
当然可以,以下是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()`方法将输出结果从字节串转换为字符串,最后将结果打印出来。
使用python在adb shell中执行命令并获取返回值
可以使用Python的`subprocess`模块来在adb shell中执行命令并获取返回值。以下是一个简单的示例,假设已经连接上了一台Android设备:
```python
import subprocess
# 定义要执行的命令
cmd = "adb shell getprop ro.product.model"
# 执行命令并捕获输出
output = subprocess.check_output(cmd.split())
# 输出结果
print(output.decode().strip())
```
注意,这个示例假设adb已经在系统的环境变量中,如果不是,你需要指定adb的路径。此外,`check_output()`方法只会返回命令的输出,如果命令返回了非零的退出代码,它将会抛出一个`CalledProcessError`异常。如果你需要处理错误,可以使用`try...except`语句来捕获这个异常。