簡體   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