[英]Checking whether a sys.argv path exists
我目前面临一个问题,我通过 cmd 运行 python 脚本,在该脚本中,我也在 cmd 中设置了该脚本上的函数所需的一些参数。 所以,我一直在使用 sys.argv。 为了更好地解释,我将输入以下内容:
python script.py arg.yaml C:\Users\JohnDoe\Documents
所以, sys.argv 是一个 yaml 文件,第二个是一个路径。 请注意,第二个参数是可选参数,因此用户可能不会选择添加它。 如果给定的路径不存在,我的目标是引发错误。
我一直在尝试以下方法:
try:
export_path = sys.argv[2]
if len(sys.argv) == 3:
try:
Path('export_path').is_dir()
except FileNotFoundError:
print(custom_message_error)
except IndexError:
export_path = None
但程序仍在进行中,我无法捕捉到错误。 那么,如何检查 sys.argv 路径文件夹是否存在。
我认为你在这里混淆了一些概念。 如果未找到目录, pathlib.Path.is_dir
不会引发异常,而只是返回False
。 此外,在将变量export_path
传递给Path
时,不应将其放在引号中:
from pathlib import Path
export_path = "C:\Users\JohnDoe\Documents"
if Path(export_path).is_dir():
print("Path exists!")
else:
print("Path does not exist")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.