Python:使用 subprocess.Popen 加载 python 脚本时传递 sys.argv

APo*_*031 2 python subprocess popen sys

我有一个使用 subprocess.Popen 打开文件的脚本,这样我就可以在后台运行它。我希望能够使用 ./[script] [params] 运行此脚本

#!/usr/bin/python
import subprocess
import sys
sys.path.insert(0,"./pyqt")
import gui

if __name__ == "__main__":
    subprocess.Popen(["python", "./pyqt/gui.py"])
Run Code Online (Sandbox Code Playgroud)

gui.py 可以使用 sys.argv 从终端运行时获取参数。下面是我如何在 gui.py 中访问这些参数

def main(*args):
    print(args)

if __name__ == "__main__":
    main(sys.argv)
Run Code Online (Sandbox Code Playgroud)

如何将 sys.argv 传递到 subprocess.Popen 中?

zwe*_*wer 5

只需转发/连接调用中的参数即可subprocess.Popen()

if __name__ == "__main__":
    subprocess.Popen(["python", "./pyqt/gui.py"] + sys.argv[1:])
Run Code Online (Sandbox Code Playgroud)