【发布时间】:2021-08-10 18:16:51
【问题描述】:
我正在开发一个 gui,按一下按钮,它应该会启动一个软件“ansa”并加载一个将 3 个文件合并在一起的脚本。
这个输入参数是一个文件路径,以便脚本可以加载这个文件。
这是我目前在 python 中使用的命令:
os.system("start ansa -exec load_script: 'ansa123.py' -exec \"foo('" + self.path[0] + "')\"")
self.path[0] 是在 gui python 代码中存储为局部变量的文件路径,ansa123.py 是要加载到 ansa 中的脚本
这就是脚本 ansa123.py 加载输入参数的方式:(函数 foo 作为输入传递给脚本)
def foo(fileName):
这适用于一个参数,但我想发送 3 个参数,它们对应于存储为字符串的 3 个文件路径。
当我发送 3 个参数时出现错误:
TypeError: system() 最多接受 1 个参数(给定 3 个)
【问题讨论】:
-
你如何“发送 3 个参数”?请显示您用于该命令的完整代码。也可以考虑改用 QProcess。
-
我尝试使用逗号分隔它们。 os.system("start ansa -exec load_script: 'Merge_Script.py' -exec \"foo('" + (self.mergefile0, self.mergefile1, self.mergefile2) + "') \"") 我知道这不正确,我不知道正确的方法。你能告诉我如何使用 QProcess 吗?我在编程方面不是很有经验。谢谢。
标签: python command-line-arguments