Python相关错误,无法找到路径[关闭]

inb24sb2  于 2024-01-05  发布在  Python
关注(0)|答案(2)|浏览(418)

**已关闭。**此问题需要debugging details。目前不接受回答。

编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答问题。
昨天就关门了。
Improve this question
我正在运行一个代码,开头包含以下代码段-

  1. #Set path(command) to Hphi
  2. if len(sys.argv) == 2:
  3. path_to_HPhi = os.path.abspath(sys.argv[1])
  4. else:
  5. print("Error")
  6. print("Usage: python do_all.py path_to_HPhi.")
  7. print("path_to_HPhi: relative or absolute path to HPhi.")
  8. exit(1)

字符串
当我运行代码时,它会打印包含在打印命令中的错误。
你能帮我整理一下吗?

f3temu5u

f3temu5u1#

从你提供的代码中,我可以想象你忘记了sys.argv[0]是脚本的名称,所以如果你提供2个参数,len(sys.argv)等于3,而不是2。
你应该至少添加以下代码:

  1. print(len(sys.argv))
  2. for i in range(len(sys.argv)):
  3. print(sys.argv[i])

字符串
这应该能帮你搞清楚到底发生了什么

fkvaft9z

fkvaft9z2#

如果添加另一个依赖项不是禁止的,我建议使用argparse

  1. import argparse
  2. parser = argparse.ArgumentParser(
  3. prog='ProgramName',
  4. description='What the program does',
  5. epilog='Text at the bottom of help')
  6. parser.add_argument('filepath')
  7. arguments = parser.parse_args()
  8. path_to_HPhi = arguments.filepath

字符串
通过这种方式,您可以相对轻松地指定过多的参数,定义默认值,关键字参数等。
此外,如果缺少必需的参数或提供了意外的参数,它会自动创建帮助/错误消息。
当然,仅从你提供的代码片段来看,使用argparse可能有些矫枉过正,但在不知道你如何调用脚本以及是否还需要其他参数的情况下,这很难说。如果你可以添加更多的参数,它肯定会使你的脚本在将来更容易扩展。

展开查看全部

相关问题