运行Python脚本报错:prog.py: error: unrecognized arguments: case
本地跑完全没有问题,我自己的电脑线上平台跑也没有问题,但是用挂测电脑,线上平台运行的脚本就一直报这个错误。
线上平台需要输入参数,包括报告路径,case选择等
报错如下:
usage: prog.py [-h] [–proName PRONAME] [–testCase TESTCASE]
[–testLux TESTLUX] [–interval INTERVAL]
[–deviceName DEVICENAME] [–reportPath REPORTPATH]
[–reportName REPORTNAME]
prog.py: error: unrecognized arguments: case
错误原因:
找了好久,原本以为是本地跑的时候注释掉提取参数的代码,直接定义的参数,换成线上跑的时候忘记注释回来了,结果改完还不对。
现在想了一下,没改的话应该就按我定义的跑了,不至于无法识别参数报这个错
proName = parameter[0]
testCase = parameter[1]
deviceName = parameter[2]
reportPath = parameter[3]
最终参考一个帖子发现,挂测电脑输入的路径是:D:\work\text case ,啊啊啊谁!谁建的文件夹,名字还带了空格!!!
文件夹的名字删掉空格,就可以正常运行了。
困扰辣么久的问题出现在文件夹名字上,无语又搞笑。空格真不是个好东西!
此外,这个贴主是bash文件多写了等号:
#!/usr/bin/env bash
python main.py --env_name = “Ant-v2” --actor_path = “./models/Ant/sac_actor_Ant”
–critic_path = “./models/Ant/sac_critic_Ant”
这个帖子评论区说可能出现这个错误的还有:
删除“=”还报错,在shell文件开头加上 #!/bin/bash解决;
或者"="两边不加空格,应该也可以。
其实就是输入的路径错了。
感谢这个帖主!!!
https://zhuanlan.zhihu.com/p/338845540