繁体   English   中英

检查 sys.argv 路径是否存在

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM