[英]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.