检查sys.argv路径是否存在

时间:2020-03-25 23:05:40

标签: python

我当前遇到一个问题,其中我通过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路径文件夹是否存在。

1 个答案:

答案 0 :(得分:0)

我认为您在这里混淆了一些概念。如果找不到目录,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")