如何将os.system的输出分配给变量

Dar*_*ylF 0 python os.system

我想从python运行此命令

/opt/vc/bin/vcgencmd measure_temp
Run Code Online (Sandbox Code Playgroud)

当我在python中运行它时,它将温度打印到屏幕并返回0.当我尝试将其分配给变量时,它也分配0.

>>> import os
>>> os.system('/opt/vc/bin/vcgencmd measure_temp')
temp=42.8'C
0
>>> temp=os.system('/opt/vc/bin/vcgencmd measure_temp')
temp=42.8'C
>>> temp
0
>>>
Run Code Online (Sandbox Code Playgroud)

如何在python中运行此命令并将实际温度分配给变量?

Ash*_*ary 7

os.system不返回输出,subprocess.check_output用于此.

  • 如果你看一下`os.system`文档,他们明确地告诉你它有"局限性","`subprocess`模块有更强大的工具来产生新进程并检索它们的结果",并且"使用那个模块"比使用这个功能更好." (2认同)