如何在 Python 中判斷目錄是否存在?
建立目錄是計算機使用者的一項常見任務。您可能需要建立一個目錄來儲存一些檔案,或者將一些新檔案放置到現有目錄中。在本文中,您將學習如何在 Python 中判斷目錄是否已存在。
目錄是作業系統和軟體應用程式用來組織檔案的檔案系統結構。它也可以指檔案和資料夾的列表,例如 Windows 資源管理器中的當前資料夾。
有時需要檢查系統中是否存在某個目錄;例如,我們需要確定是否要將檔案儲存到已存在的目錄中或建立一個新目錄。
有幾種方法可以檢查目錄是否存在。它們如下所示:
使用 os.path.isdir() 方法
使用 os.path.exists() 方法
使用 pathlib 模組
使用 os.path.isdir() 方法
在 Python 中,您可以使用 isdir() 函式來檢查目錄是否存在。此方法只能用於檢查目錄是否存在;因此,它不適用於檔案。但是,必須記住,要檢查的目錄應該是當前主目錄內的子目錄。
語法
此方法的語法如下所示
isdir(object)
其中,object 是要檢查狀態的目錄的名稱。
示例
在以下示例中,讓我們嘗試使用 isdir() 方法檢查目錄是否存在。由於該方法返回布林型別值,因此我們使用條件語句 if-else 來減少輸出中的歧義。
import os # sub directory is a directory present within the current directory if os.path.isdir('sub directory'): print("Given directory exists") else: print("Given directory doesn't exist")
輸出
如果我們編譯並執行給定的程式,則輸出將顯示如下:
Given directory doesn't exist
使用 os.path.exists() 方法
os.path.exists() 方法的工作原理也類似於 os.path.isdir() 方法,但它還檢查當前目錄中的檔案是否存在。因此,它適用於系統的檔案和資料夾。
語法
此方法的語法如下所示:
os.path.exists(path)
其中,path 是需要檢查狀態的檔案或目錄的名稱。?
示例
在本文中,我們只嘗試檢查目錄是否存在;因此,讓我們首先看一個示例,以檢查特定目錄是否存在於當前目錄中。
import os if not os.path.exists('my_folder'): print("Given directory doesn't exist") else: print("Given directory exists")
輸出
Given directory doesn't exist
給定程式的輸出如下所示:
使用 pathlib 模組
pathlib 模組自 Python 3.4 版本起引入;此模組提供了各種面向物件的方法來處理檔案系統。在這種情況下,該模組包含兩個方法:exists() 和 is_dir(),用於檢查特定目錄是否存在。
這些方法不接受任何引數;而是對檔案或目錄路徑進行呼叫。
示例:使用 is_dir() 方法
如果路徑指向現有目錄,則 is_dir() 方法返回布林值 True,否則返回 False。
示例如下所示。
from pathlib import Path p = Path('sub directory') if p.is_dir(): print("Given directory exists") else: print("Given directory doesn't exist")
輸出
上述程式的輸出顯示為:
Given directory doesn't exist
示例:使用 exists() 方法
如果路徑指向現有目錄,則 exists() 方法返回布林值 True,否則返回 False。但是,與 is_dir() 方法不同,exists() 方法適用於檔案和目錄。
讓我們看下面的示例。
from pathlib import Path p = Path('new folder') if p.exists(): print("Given directory exists") else: print("Given directory doesn't exist")
輸出
上述程式的輸出顯示為:
Given directory doesn't exist
結論
在本文中,我們討論瞭如何在 Python 中檢查目錄是否存在。我們將使用 os 模組,它是標準庫的一部分。