argparse导致cx\u冻结应用程序出错

2024-04-18 02:58:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我制作了两个python程序A和B,它们都由cx\u 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")

当我运行这个程序时,会出现以下错误

cx_Freeze argparse error msg

唯一的错误部分是我的代码是“第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文件运行时,它运行良好。你知道吗

你们能告诉我怎么了吗?你知道吗


Tags: 文件程序addparsermodedisttypeargument
1条回答
网友
1楼 · 发布于 2024-04-18 02:58:36

所以是的。。。我发现了窃听器

打电话的时候

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")

相关问题 更多 >