如何在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 模組,它是標準庫的一部分。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP