文章

第25天:檔案與目錄操作

課程簡介

在 Python 中,檔案與目錄操作是日常編程中經常遇到的需求,包括讀取與寫入檔案、檢查檔案或目錄是否存在、以及操作目錄結構。Python 提供了內建的 osshutil 模組來進行這些操作。今天的課程將介紹如何進行基本的檔案與目錄操作,並介紹常見的應用場景。


學習內容

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 進行目錄的複製、移動和刪除。

任務

  1. 建立一個新的檔案,並將一段文字寫入該檔案。
  2. 檢查檔案是否存在,如果存在則讀取並顯示內容,否則顯示提示訊息。
  3. 創建一個新目錄,並將檔案移動到該目錄中。
  4. 使用 os.listdir() 列出新目錄中的所有檔案。
本文章以 CC BY 4.0 授權