**已关闭。**此问题需要debugging details。目前不接受回答。
编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答问题。
昨天就关门了。
Improve this question的
我正在运行一个代码,开头包含以下代码段-
#Set path(command) to Hphi
if len(sys.argv) == 2:
path_to_HPhi = os.path.abspath(sys.argv[1])
else:
print("Error")
print("Usage: python do_all.py path_to_HPhi.")
print("path_to_HPhi: relative or absolute path to HPhi.")
exit(1)
字符串
当我运行代码时,它会打印包含在打印命令中的错误。
你能帮我整理一下吗?
2条答案
按热度按时间f3temu5u1#
从你提供的代码中,我可以想象你忘记了
sys.argv[0]
是脚本的名称,所以如果你提供2个参数,len(sys.argv)
等于3,而不是2。你应该至少添加以下代码:
字符串
这应该能帮你搞清楚到底发生了什么
fkvaft9z2#
如果添加另一个依赖项不是禁止的,我建议使用argparse。
字符串
通过这种方式,您可以相对轻松地指定过多的参数,定义默认值,关键字参数等。
此外,如果缺少必需的参数或提供了意外的参数,它会自动创建帮助/错误消息。
当然,仅从你提供的代码片段来看,使用argparse可能有些矫枉过正,但在不知道你如何调用脚本以及是否还需要其他参数的情况下,这很难说。如果你可以添加更多的参数,它肯定会使你的脚本在将来更容易扩展。