捕获 nvidia-detect 输出以列出

Capturing nvidia-detect output to list

我想 运行 nvidia 检测并捕获列表或字符串中的输出,我可以将输出与我需要的进行字符串比较。 我需要知道系统是否需要 kmod-nvidia 或 kmod-nvidia-340xx。

我已经搜索并提出了两种捕获 nvidia-detect 输出的可能方法。

我的初始代码是:

test=str(os.system('nvidia-detect'))
print test

我的输出是: kmod-英伟达 256

其中 256 是测试值。

所以在搜索之后我尝试了:

test2=subprocess.check_output('nvidia-detect', shell=True)

并得到这个错误:

Traceback (most recent call last):
  File "/home/emmdom/PycharmProjects/mycode/nvidia_update.py", line 8, in <module>
    test2=subprocess.check_output('nvidia-detect')
AttributeError: 'module' object has no attribute 'check_output'

我成功了,这就是最终对我有用的东西。谢谢

import os

os.system('yum -y yum-plugin-nvidia nvidia-detect')
nvidia='kmod-nvidia'
nvidia_340='kmod-nvidia-340xx'

chk_nvidia=(os.popen('nvidia-detect').read()).rstrip()
print chk_nvidia

if chk_nvidia == nvidia:
   print 'nvidia'
   os.system('yum -y kmod-nvidia')

if chk_nvidia == nvidia_340:
    print 'nvidia-340-xxx'
    os.system('yum -y kmod-nvidia-340xx')