我制作了两个python程序A和B,其中两个程序都被cx_Freeze打包成不同的exe文件。
程序A是主程序,B位于"Main Program folder/dummy_dist"
A使用subprocess.run()
启动B,如下所示
subprocess.run(["dummy_dist/dummy.exe", "--mode 1", "--pid " + str(os.getpid()), "--sid " + sid], cwd="dummy_dist")
当我运行时,出现以下错误
错误的唯一部分是我的代码是“第45行”,即
args = parser.parse_args()
仅供参考我使用argparse的代码是这个
parser = argparse.ArgumentParser(description="-")
parser.add_argument('--mode', dest="mode", metavar='Program Mode', type=str,
help="")
parser.add_argument('--pid', dest="pid", metavar='PID', type=str, required=False)
parser.add_argument('--sid', dest="sid", metavar='SESSION_ID', type=str,
help="Active SESSION_ID", required=False)
当我将它作为.py文件运行时,程序运行正常。
你能告诉我出了什么问题吗?
答案 0 :(得分:0)
所以是的......我发现了这个错误
致电
subprocess.run(["dummy_dist/dummy.exe", "--mode 1", "--pid " + str(os.getpid()), "--sid " + sid], cwd="dummy_dist")
当我将它们分开时,我将标志和值分组在一个字符串中。
所以它应该是
subprocess.run(["dummy_dist/dummy.exe", "--mode", "1", "--pid", str(os.getpid()), "--sid", sid], cwd="dummy_dist")