Python新手命令行向py文件传参调用sys.argv运行报错如何解决
问题原因
该报错由Windows PowerShell默认安全规则导致:PowerShell默认不会从当前工作目录加载可执行文件/脚本,直接输入脚本名无法被识别为有效命令。
解决方案
- 方案1(全终端通用,兼容性最高):显式调用Python解释器执行脚本,示例命令如下:
python task-img-reading.py 测试参数1 测试参数2
如果系统安装了多版本Python,可将python替换为python3使用。执行后会输出包含脚本名和传入参数的列表,符合sys.argv的使用预期。
- 方案2(仅PowerShell可用):按照报错提示添加当前目录标识运行,前提是你的系统已完成.py文件与Python解释器的关联,示例命令如下:
.\task-img-reading.py 测试参数1 测试参数2
注意事项
- 运行脚本前需确认终端当前工作目录为脚本存放目录,可执行
pwd命令查看当前目录,若路径不符可执行cd 脚本所在文件夹的完整路径切换。 - 传参时直接将参数放在脚本路径后即可,多个参数用空格分隔,sys.argv会自动按顺序存储所有参数。
内容的提问来源于stack exchange,提问作者Haseeb Ahmad Butt
相关产品推荐
相关产品推荐

