在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-tw/n/293292.html
微信掃一掃
支付寶掃一掃