Python - 目錄



Python 中的目錄

在 Python 中,目錄(在作業系統中通常稱為資料夾)是檔案系統中的位置,用於儲存檔案和其他目錄。它們作為一種以分層方式對檔案進行分組和管理的方法。

Python 提供了幾個模組,主要是 osos.path,以及 shutil,允許您對目錄執行各種操作。

這些操作包括建立新目錄、導航現有目錄、列出目錄內容、更改當前工作目錄以及刪除目錄。

檢查目錄是否存在

在對目錄執行操作之前,您通常需要檢查它是否存在。我們可以使用 Python 中的 os.path.exists() 函式檢查目錄是否存在。

此函式接受一個引數,該引數是表示檔案系統中路徑的字串。此引數可以是 -

  • 相對路徑 - 相對於當前工作目錄的路徑。

  • 絕對路徑 - 從根目錄開始的完整路徑。

示例

在此示例中,我們使用 os.path.exists() 函式檢查給定的目錄路徑是否存在 -

import os

directory_path = "D:\\Test\\MyFolder\\"

if os.path.exists(directory_path):
   print(f"The directory '{directory_path}' exists.")
else:
   print(f"The directory '{directory_path}' does not exist.")

以下是上述程式碼的輸出 -

The directory 'D:\\Test\\MyFolder\\' exists.

建立目錄

您可以使用 os.makedirs() 函式在 Python 中建立新目錄。如果這些目錄不存在,此函式將建立中間目錄。

os.makedirs() 函式接受您要建立的“路徑”作為引數。它可以選擇接受一個“模式”引數,該引數指定要為新建立的目錄設定的許可權。它是一個整數,以八進位制格式表示(例如,0o755)。如果未指定,則根據您的系統的 umask 使用預設許可權。

示例

在以下示例中,我們使用 os.makedirs() 函式建立新目錄 -

import os

new_directory = "new_dir.txt"

try:
   os.makedirs(new_directory)
   print(f"Directory '{new_directory}' created successfully.")
except OSError as e:
   print(f"Error: Failed to create directory '{new_directory}'. {e}")

執行上述程式碼後,我們得到以下輸出 -

Directory 'new_dir.txt' created successfully.

mkdir() 方法

您可以使用 os 模組的 mkdir() 方法 在當前目錄中建立目錄。您需要為此方法提供一個引數,其中包含要建立的目錄的名稱。

以下是 Python 中 mkdir() 方法的語法 -

os.mkdir("newdir")

示例

以下是如何在當前目錄中建立名為 test 的目錄的示例 -

import os

# Create a directory "test"
os.mkdir("test")
print ("Directory created successfully")

獲得的結果如下所示 -

Directory created successfully

獲取當前工作目錄

要檢索 Python 中的當前工作目錄,您可以使用 os.getcwd() 函式。此函式返回一個字串,表示 Python 指令碼正在執行的當前工作目錄。

語法

以下是 Python 中 getcwd() 函式的基本語法 -

os.getcwd()

示例

以下是如何使用 getcwd() 函式顯示當前工作目錄的示例 -

import os

current_directory = os.getcwd()
print(f"Current working directory: {current_directory}")

我們得到以下輸出 -

Current working directory: /home/cg/root/667ba7570a5b7

列出檔案和目錄

您可以使用 os.listdir() 函式列出目錄的內容。此函式返回指定目錄路徑中所有檔案和目錄的列表。

示例

在下面的示例中,我們將使用listdir()函式列出指定目錄路徑的內容。

import os

directory_path = r"D:\MyFolder\Pictures"

try:
   contents = os.listdir(directory_path)
   print(f"Contents of '{directory_path}':")
   for item in contents:
      print(item)
except OSError as e:
   print(f"Error: Failed to list contents of directory '{directory_path}'. {e}")

上述程式碼的輸出如下所示:

Contents of 'D:\MyFolder\Pictures':
Camera Roll
desktop.ini
Saved Pictures
Screenshots

更改當前工作目錄

您可以使用chdir()方法更改當前目錄。此方法接受一個引數,該引數是要設定為當前目錄的目錄名稱。

語法

以下是 Python 中 chdir() 方法的語法:

os.chdir("newdir")

示例

以下是一個使用 chdir() 方法將當前目錄更改為桌面的示例:

import os

new_directory = r"D:\MyFolder\Pictures"

try:
    os.chdir(new_directory)
    print(f"Current working directory changed to '{new_directory}'.")
except OSError as e:
    print(f"Error: Failed to change working directory to '{new_directory}'. {e}")

我們將獲得如下所示的輸出:

Current working directory changed to 'D:\MyFolder\Pictures'.

刪除目錄

您可以使用os.rmdir()方法刪除 Python 中的空目錄。如果目錄包含檔案或其他目錄,則可以使用shutil.rmtree()方法遞迴刪除它。

語法

以下是 Python 中刪除目錄的基本語法:

os.rmdir(directory_path)
# or
shutil.rmtree(directory_path)

示例

在以下示例中,我們使用 os.rmdir() 方法刪除一個空目錄:

import os
directory_path = r"D:\MyFolder\new_dir"

try:
   os.rmdir(directory_path)
   print(f"Directory '{directory_path}' successfully removed.")
except OSError as e:
   print(f"Error: Failed to remove directory '{directory_path}'. {e}")

它將產生以下輸出:

Directory 'D:\MyFolder\new_dir' successfully removed.
廣告