output = subprocess.check_output(['adb', 'devices']).decode().strip().split('\n')[1:] 打印
时间: 2023-08-07 18:04:36 浏览: 37
这行代码的作用是执行 adb devices 命令,并将命令的输出结果以字符串的形式存储在 output 变量中。然后使用 strip() 方法移除字符串两侧的空白字符,再使用 split('\n') 方法按照换行符进行切割,将输出结果转换为列表形式。最后使用 [1:] 切片语法将列表的第一个元素(即命令执行时的提示信息)去除,得到只包含设备信息的列表。
如果您想要将获取到的设备信息打印出来,可以使用以下代码:
```
output = subprocess.check_output(['adb', 'devices']).decode().strip().split('\n')[1:]
print(output)
```
该代码会将获取到的设备信息打印到控制台中。
相关问题
output = subprocess.check_output('adb exec-out screencap -p', shell=True)不返回数据
这是一个使用 Python 的 subprocess 模块调用 adb 命令截取屏幕截图的代码片段。可能因为以下原因导致 `subprocess.check_output()` 函数没有返回数据:
1. 当前设备未连接到计算机或者 adb 未能识别设备;
2. adb 命令执行出错,例如没有获取到屏幕截图;
3. 子进程被阻塞或已经崩溃。
为了找出具体原因,您可以在代码中添加异常处理语句,例如:
```python
import subprocess
try:
output = subprocess.check_output('adb exec-out screencap -p', shell=True)
# 处理 output 中的数据
except subprocess.CalledProcessError as e:
print('Error:', e)
except Exception as e:
print('Unexpected error:', e)
```
这样可以捕获到 `check_output()` 函数抛出的异常,并输出错误信息。您可以根据错误信息来排查问题。
python报错result = subprocess.check_output(command)
这个错误常常是因为代码中的 command 不符合要求,或者 subprocess 模块在执行 command 时发生了错误。您可以先检查代码中的 command 是否正确,然后检查当前环境中是否存在 subprocess 模块。如果这些都没有问题,你还可以尝试在代码中添加 try 和 except 语句来捕捉这个错误,并尝试解决它。