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