第25天:檔案與目錄操作
課程簡介
在 Python 中,檔案與目錄操作是日常編程中經常遇到的需求,包括讀取與寫入檔案、檢查檔案或目錄是否存在、以及操作目錄結構。Python 提供了內建的 os
和 shutil
模組來進行這些操作。今天的課程將介紹如何進行基本的檔案與目錄操作,並介紹常見的應用場景。
學習內容
1. 檔案操作
1.1 開啟與讀取檔案
使用 open()
函數可以開啟檔案,並指定檔案模式,如只讀 ('r'
)、寫入 ('w'
)、追加 ('a'
) 等。
範例:
1
2
3
4
# 讀取檔案內容
with open('example.txt', 'r', encoding='utf-8') as file:
content = file.read()
print(content)
1.2 寫入檔案
可以使用 write()
或 writelines()
方法將資料寫入檔案。
範例:
1
2
3
# 寫入檔案
with open('output.txt', 'w', encoding='utf-8') as file:
file.write("Hello, Python!\n")
1.3 追加檔案
可以通過 'a'
模式將新內容追加到現有檔案中。
範例:
1
2
3
# 追加內容
with open('output.txt', 'a', encoding='utf-8') as file:
file.write("這是追加的文字。\n")
1.4 按行讀取檔案
可以使用 readlines()
方法將檔案內容按行讀取,或通過迴圈逐行處理。
範例:
1
2
3
4
# 逐行讀取
with open('example.txt', 'r', encoding='utf-8') as file:
for line in file:
print(line.strip()) # strip() 去掉多餘的換行符
2. 目錄操作
2.1 檢查檔案或目錄是否存在
使用 os.path.exists()
可以檢查指定的檔案或目錄是否存在。
範例:
1
2
3
4
5
6
7
import os
# 檢查檔案是否存在
if os.path.exists('example.txt'):
print("檔案存在")
else:
print("檔案不存在")
2.2 創建目錄
使用 os.mkdir()
可以創建一個目錄。
範例:
1
2
# 創建目錄
os.mkdir('new_folder')
2.3 刪除檔案或目錄
使用 os.remove()
可以刪除檔案,使用 os.rmdir()
或 shutil.rmtree()
可以刪除空目錄或包含內容的目錄。
範例:
1
2
3
4
5
6
7
8
9
10
import shutil
# 刪除檔案
os.remove('output.txt')
# 刪除空目錄
os.rmdir('empty_folder')
# 刪除包含檔案的目錄
shutil.rmtree('non_empty_folder')
2.4 列出目錄內容
使用 os.listdir()
可以列出指定目錄下的所有檔案和子目錄。
範例:
1
2
3
# 列出當前目錄的所有檔案和子目錄
items = os.listdir('.')
print(items)
3. 路徑操作
3.1 組合路徑
使用 os.path.join()
可以組合檔案或目錄路徑,這樣可以避免手動處理不同操作系統的路徑分隔符。
範例:
1
2
3
# 組合路徑
path = os.path.join('folder', 'file.txt')
print(path)
3.2 取得檔案的絕對路徑
使用 os.path.abspath()
可以取得檔案的絕對路徑。
範例:
1
2
3
# 取得檔案的絕對路徑
abs_path = os.path.abspath('example.txt')
print(abs_path)
3.3 檔案名與副檔名分離
使用 os.path.splitext()
可以將檔案名與副檔名分開。
範例:
1
2
3
4
# 分離檔案名與副檔名
filename, ext = os.path.splitext('example.txt')
print("檔案名:", filename)
print("副檔名:", ext)
教學重點
- 檔案讀寫操作:學會使用
open()
函數進行檔案的讀取與寫入。 - 目錄操作:掌握如何創建、刪除目錄以及檢查目錄或檔案是否存在。
- 路徑操作:理解如何使用
os.path
進行路徑組合、解析與操作。 - 進階操作:了解如何使用
shutil
進行目錄的複製、移動和刪除。
任務
- 建立一個新的檔案,並將一段文字寫入該檔案。
- 檢查檔案是否存在,如果存在則讀取並顯示內容,否則顯示提示訊息。
- 創建一個新目錄,並將檔案移動到該目錄中。
- 使用
os.listdir()
列出新目錄中的所有檔案。
本文章以 CC BY 4.0 授權