运行 DRI_PRIME 使用 Python 子进程的命令

Running DRI_PRIME Command By Using Python Subprocess

我需要 运行 DRI_PRIME=1 glxinfo 命令使用 Python 子进程,它也不应该导致 shell 注入风险。

它给出了以下错误:

FileNotFoundError: [Errno 2] No such file or directory: 'DRI_PRIME=1'

代码:

output = subprocess.check_output(["DRI_PRIME=1", "glxinfo"], shell=False).decode()
print(output)

System: Python3, OS: Linux

问题已使用以下代码解决:

output = subprocess.check_output(["env", "DRI_PRIME=1", "glxinfo"], shell=False).decode()

env 手册页的简短说明:

env - run a program in a modified environment

您正在寻找如何 运行 修改环境的命令。

import os
import subprocess

env = os.environ.copy()
env['DRI_PRIME'] = '1'
p = subprocess.run(['glxinfo'], env=env, capture_output=True)
print(p.stdout)