繁体   English   中英

将返回的 linux 命令值存储到 python 变量中

[英]Store returned linux command value into python variable

我不会撒谎,我知道这是一个很容易回答的问题,我只是在文档方面遇到了麻烦,并且考虑到我觉得这是多么具体,在网上找到解决方案有点困难。

在 Raspberry Pi 上运行 Raspbian,并试图编写一个python 脚本,该脚本以蓝牙连接的信号强度运行。 在 Linux 命令行中,如果我输入hcitool rssi 14:C8:9B:92:C2:05它将返回RSSI return value: 12 我要做的是将此值存储在脚本中的 python 变量中。

在我的脚本中,我根据我在网上看到的文档尝试了导入 os 和导入子进程模块,并尝试了以下解决方案:

var = os.system('hcitool rssi 14:C8:9B:92:C2:05')
def find_dist():
        return(os.system('hcitool rssi 14:C8:9B:92:C2:05'))
var=find_dist()
var = subprocess.call('hcitool rssi 14:C8:9B:92:C2:05', shell = true)

os 模块将简单地 output 常规RSSI return value: 12并为所有变量值打印 0,而子进程模块我真的无法弄清楚正确的语法。 我知道这可能看起来很简单,但考虑到具体的性质,我很难找到合适的文档~

任何帮助将不胜感激!

最简单的方法是使用subprocess.run来捕获 output,以便您稍后查看。 这是了解其工作原理的最简单示例:

import subprocess
result = subprocess.run(['echo', 'hi'], capture_output=True)
print(result.stdout)

这会将预期的hi打印为 output。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM