You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python生成的exe文件中使用sys.argv?运行报错求助

问题分析与修正方案

代码存在的核心错误

  • open函数模式参数错误:你将数字"2"/"3"作为文件打开模式传入,这是无效参数。创建文件需使用写入模式:"w"(文件不存在则创建,存在则覆盖)或"x"(仅创建新文件,若文件已存在则报错)。
  • 路径转义问题:Windows路径中的反斜杠\在Python字符串中是转义字符,直接写"E:\myfile1.txt"会导致\m被解析为无效转义序列,需改为双反斜杠"E:\\myfile1.txt"或原始字符串r"E:\myfile1.txt"。
  • 拼写问题(非致命但建议修正):函数参数numder应为number,返回文本中的crated应为created。

修正后的代码

import sys

def test(number):
    x = number
    if x == 2:
        # 用原始字符串避免路径转义,with语句自动管理文件资源
        with open(r"E:\myfile1.txt", "w") as f:
            pass  # 无需写入内容时,用pass占位即可
        return "myfile1 created"
    elif x == 3:
        with open(r"E:\myfile2.txt", "w") as f:
            pass
        return "myfile2 created"
    return "no no no "

n = int(sys.argv[1])
print("n is: ", n)
x = test(n)
print(x)

运行说明

在CMD中运行生成的exe文件时,输入你的程序名.exe 2或你的程序名.exe 3,即可创建对应文件;输入其他数字则返回no no no。

内容的提问来源于stack exchange,提问作者Navrang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 19:23:20