在 Python 中,對檔案和目錄的管理是一項非常重要的技能。Python 提供了許多強大的模組來處理檔案系統的各種操作,包括 os
、os.path
和 glob
。這些模組讓開發者能夠方便地進行檔案和目錄的操作,如建立、移動、刪除、查詢檔案路徑等。此外,檔案的讀寫也是 Python 中常見的操作,涵蓋了從文字檔案到二進位檔案的處理。
os
模組:檔案與目錄的管理os
模組提供了許多檔案和目錄操作的功能,幫助我們與作業系統進行互動。
常見的檔案操作:
os.mkdir(path)
:建立一個新目錄。os.rmdir(path)
:刪除一個目錄(若目錄不為空,會報錯)。os.rename(src, dst)
:重新命名檔案或目錄。os.remove(path)
:刪除檔案。範例:
import os
# 建立新目錄
os.mkdir("new_folder")
# 重命名目錄
os.rename("new_folder", "renamed_folder")
# 刪除目錄
os.rmdir("renamed_folder")
os.path
模組:路徑操作os.path
提供了一些方法來處理檔案路徑。它可以用來檢查檔案或目錄是否存在,或將不同的路徑組合起來。
常見操作:
os.path.exists(path)
:檢查檔案或目錄是否存在。os.path.join(path1, path2)
:合併多個路徑。os.path.abspath(path)
:取得檔案的絕對路徑。範例:
import os
# 檢查目錄是否存在
if os.path.exists("renamed_folder"):
print("目錄存在")
# 取得檔案的絕對路徑
absolute_path = os.path.abspath("some_file.txt")
print(f"絕對路徑是: {absolute_path}")
glob
模組:通配符搜尋glob
模組允許我們使用通配符來搜尋符合特定模式的檔案或目錄,特別是在進行批次處理時非常有用。
常見操作:
glob.glob(pattern)
:回傳符合模式的檔案或目錄清單。glob.iglob(pattern)
:和 glob()
類似,但回傳一個可迭代物件。範例:
import glob
# 搜尋當前目錄下所有的 .txt 檔案
txt_files = glob.glob("*.txt")
print(txt_files)
在 Python 中,我們可以使用 open()
函數來開啟、讀取和寫入檔案。
常見操作:
open(filename, mode)
:開啟檔案,mode
可以是 r
(讀取), w
(寫入), 或 a
(附加)。file.read()
:讀取整個檔案的內容。file.write(data)
:將資料寫入檔案。file.close()
:關閉檔案。範例:
# 寫入文字檔案
with open("example.txt", "w") as file:
file.write("這是一個範例檔案內容\n")
# 讀取文字檔案
with open("example.txt", "r") as file:
content = file.read()
print(content)
除了文字檔案,Python 也支援二進位檔案的讀寫,適用於處理圖像、音訊等非文字型資料。
常見操作:
open(filename, mode)
:開啟檔案,mode
可以是 rb
(讀取二進位), wb
(寫入二進位)。file.read()
:讀取檔案的二進位資料。file.write(data)
:將二進位資料寫入檔案。範例:
# 讀取二進位檔案
with open("example.bin", "rb") as file:
binary_data = file.read()
print(binary_data)
# 寫入二進位檔案
with open("output.bin", "wb") as file:
file.write(binary_data)
透過 Python 提供的 os
、os.path
和 glob
模組,我們可以輕鬆管理檔案系統中的各種操作,從目錄管理到檔案搜尋。此外,對檔案的讀寫操作讓我們能夠靈活處理文字與二進位檔案。不論是日常工作中的資料處理還是進階應用中的二進位檔案操作,這些功能都能大幅提升我們的工作效率。
這些技巧是進階學習 Python 中非常重要的一環,能幫助我們深入掌握檔案處理與系統操作,並在實際應用中靈活運用。