【问题标题】:Python: pass sys.argv when loading python script with subprocess.PopenPython:使用 subprocess.Popen 加载 python 脚本时传递 sys.argv
【发布时间】:2017-06-20 19:11:24
【问题描述】:

我有一个使用 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"])

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

def main(*args):
    print(args)

if __name__ == "__main__":
    main(sys.argv)

如何将 sys.argv 传递给 subprocess.Popen?

【问题讨论】:

    标签: python subprocess popen sys


    【解决方案1】:

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

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

    【讨论】:

    • 嘿,成功了!我之前尝试过这样做,但我将 sys.argv 包含在外括号内。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 2015-07-09
    • 1970-01-01
    相关资源
    最近更新 更多