在Python中,要進行文件和目錄操作是非常容易的。Python提供了一組內置模塊來完成這些任務,而且這些模塊相互之間協作緊密,我們可以輕鬆地完成各種文件和目錄操作。在本文中,我們將分別介紹以下幾個模塊:os,os.path,shutil,glob。
一、os模塊
os模塊是Python內置的一個操作系統模塊。它提供了許多與操作系統交互的函數。以下是一些常用的os模塊函數:
import os # 獲取當前工作目錄 os.getcwd() # 改變當前工作目錄 os.chdir('/path/to/new/dir') # 列出目錄中的文件和子目錄 os.listdir('/path/to/dir') # 創建目錄 os.mkdir('/path/to/newdir') # 遞歸創建目錄 os.makedirs('/path/to/newdir/subdir') # 刪除文件 os.remove('/path/to/filename') # 刪除目錄 os.rmdir('/path/to/dir') # 遞歸刪除目錄 os.removedirs('/path/to/dir')
二、os.path模塊
os.path模塊是Python內置的用於處理路徑的模塊。以下是一些常用的os.path模塊函數:
import os.path # 判斷文件是否存在 os.path.exists('/path/to/file') # 判斷是否為文件 os.path.isfile('/path/to/file') # 判斷是否為目錄 os.path.isdir('/path/to/dir') # 獲取文件後綴名 os.path.splitext('/path/to/file') # 獲取文件所在目錄 os.path.dirname('/path/to/file') # 獲取文件名 os.path.basename('/path/to/file') # 拼接路徑 os.path.join('/path/to', 'file')
三、shutil模塊
shutil模塊是Python內置的與文件操作相關的模塊。它提供了一組高級的文件操作函數。以下是一些常用的shutil模塊函數:
import shutil # 複製文件 shutil.copy('/path/to/src', '/path/to/dest') # 複製目錄 shutil.copytree('/path/to/src', '/path/to/dest') # 移動文件或目錄 shutil.move('/path/to/src', '/path/to/dest') # 刪除目錄樹 shutil.rmtree('/path/to/dir')
四、glob模塊
glob模塊是Python內置的用於文件名匹配的模塊。它提供了一組函數用於獲取符合特定模式的文件名。以下是一些常用的glob模塊函數:
import glob # 獲取當前目錄下所有 .txt 文件路徑 glob.glob('./*.txt') # 獲取指定目錄下所有 .py 文件路徑 glob.glob('/path/to/dir/*.py') # 獲取指定目錄及其子目錄下所有 .jpg 文件路徑 glob.glob('/path/to/dir/**/*.jpg')
完整代碼示例:
import os import os.path import shutil import glob # os模塊 print(os.getcwd()) os.chdir('/path/to/new/dir') print(os.listdir('/path/to/dir')) os.mkdir('/path/to/newdir') os.makedirs('/path/to/newdir/subdir') os.remove('/path/to/filename') os.rmdir('/path/to/dir') os.removedirs('/path/to/dir') # os.path模塊 print(os.path.exists('/path/to/file')) print(os.path.isfile('/path/to/file')) print(os.path.isdir('/path/to/dir')) print(os.path.splitext('/path/to/file')) print(os.path.dirname('/path/to/file')) print(os.path.basename('/path/to/file')) print(os.path.join('/path/to', 'file')) # shutil模塊 shutil.copy('/path/to/src', '/path/to/dest') shutil.copytree('/path/to/src', '/path/to/dest') shutil.move('/path/to/src', '/path/to/dest') shutil.rmtree('/path/to/dir') # glob模塊 print(glob.glob('./*.txt')) print(glob.glob('/path/to/dir/*.py')) print(glob.glob('/path/to/dir/**/*.jpg'))
總結
Python提供了用於文件和目錄操作的一組內置模塊,包括os、os.path、shutil和glob模塊。通過這些模塊,我們可以輕鬆地完成各種文件和目錄操作。在實際開發中,根據需求選取相應的模塊,可以使代碼更加簡潔明了。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/293292.html