PyCharm中传参必须通过Run/Debug Configurations的Script parameters字段设置,参数从sys.argv[1]开始获取,推荐用argparse解析;临时配置关闭即失,需点Save Configuration存为永久配置。

PyCharm 运行 Python 脚本时,传入参数必须通过 Run/Debug Configurations 设置,不能靠改代码或终端命令临时覆盖——否则每次运行都得手动敲一遍,且调试断点会失效。
在哪里填参数:Script parameters 字段
打开 Run | Edit Configurations...(或点击右上角运行配置下拉箭头 → Edit Configurations),选中当前配置,在 Parameters 栏下的 Script parameters 输入框里填写参数值。
- 只填参数本身,不写
python script.py——PyCharm 已知道脚本路径和解释器 - 多个参数用空格分隔,例如:
--model GCN --layers 2 --data CORA - 含空格的值必须加双引号,比如:
--output_dir "results/v1 with spaces" - 布尔开关参数(如
--use_rd)直接写进去就行,不需要跟=True或1
为什么 sys.argv[0] 是脚本路径,而参数从 sys.argv[1] 开始
PyCharm 把你填在 Script parameters 的内容,原样拼接到 Python 解释器启动命令末尾,等价于你在终端执行:python /path/to/script.py --model GCN --layers 2。所以 sys.argv[0] 是绝对路径,sys.argv[1] 才是第一个参数。
PyCharm 2026.2是 JetBrains PyCharm 的指定版本安装包,下载地址指向官方 Windows 安装包直链,可用于旧项目兼容、版本回退和环境测试。
- 如果脚本里直接访问
sys.argv[1]却没填参数,会抛IndexError: list index out of range - 推荐用
argparse解析,它自动处理缺失、类型转换和帮助提示,比手撕sys.argv更可靠 - 别在代码里硬编码参数(如
args = argparse.Namespace(model='GCN')),那会让配置失去灵活性
临时配置 vs 永久配置:什么时候要 Save Configuration
新建配置默认是临时的(图标半透明),关掉 PyCharm 就丢;点 Save Configuration 才变成永久配置(图标不透明),保存在 .idea/runConfigurations/ 下的 XML 文件里。
- 多人协作项目必须保存为永久配置,否则队友打开项目后参数全空
- 一个脚本常对应多个场景(训练/评估/导出),建议建多个命名清晰的永久配置,比如
train-CORA、eval-PubMed - 临时配置最多保留 5 个,旧的会被自动删掉——别依赖它记参数
- 改完参数后没点
OK或Apply,实际运行时还是旧值
最容易被忽略的是:PyCharm 不校验参数是否合法,Script parameters 里填错拼写(比如 --modle)、漏空格(--layers2 被当做一个参数)、或者用了中文引号,都会导致 argparse 报错或静默失败——务必核对空格、连字符数量和引号类型。

















