在python中,确定显示是否仅支持文本或图形是否可用

时间:2018-12-06 16:34:15

标签: python

我有一些嵌入matlibplot.py的python脚本。我在台式机上运行它们以进行开发,测试,演示和操作,其中它们显示matlibplot数字。但是,我也在没有图形显示,只有终端模式或具有输出重定向的后台的服务器上运行它们。

我已经在脚本的命令行中设置了一个选项(手动)。我想自动确定(以一般方式-不特定于显示器和图形,例如X)是否可以通过代码获得图形。是否有人这样做或知道摘要即可执行此检查?

1 个答案:

答案 0 :(得分:2)

我组合了一个小功能来检测windowslinux上是否存在图形卡,即:

import subprocess, os

def gc_available():
    if os.name == 'nt': # Windows
        import wmi 
        try: 
            wmi.WMI().computer.Win32_VideoController()[0] # Tested on Windows 10
            return 1
        except:
            pass

    elif os.name == 'posix': # Linux
        out = subprocess.getoutput('sudo lshw -c video | grep configuration') # Tested on CENTOS 7 and Ubuntu
        if out:
            return 1

用法:

if gc_available():
    print("VideoController available")
else:
    print("VideoController Not available")