建議檔名:批次空白列移除.py
將 TXT 檔內段落間的空白列全數移除,使各段落間緊密相連。
程式碼:
(複製以下文字,貼入純文字檔中,存檔後將副檔名設定為 .py)
import os
def remove_blank_lines(folder_path):
"""
批次處理指定資料夾內的所有 .txt 檔案,移除檔案中的所有空白行,包括檔案結尾的空白行。
"""
for root, _, files in os.walk(folder_path): # 遍歷資料夾及其子資料夾內的所有檔案
for file in files:
file_path = os.path.join(root, file) # 獲取檔案的完整路徑
# 只處理 .txt 檔案
if file.endswith('.txt'):
with open(file_path, 'r', encoding='utf-8') as f:
lines = f.readlines() # 讀取檔案的所有行
# 過濾掉空白行
cleaned_lines = [line.rstrip() for line in lines if line.strip()]
# 檢查是否最後一行有空白且是換行符,去除
if cleaned_lines and cleaned_lines[-1] == '':
cleaned_lines.pop() # 刪除最後一行空白
# 寫回檔案,覆蓋原始內容
with open(file_path, 'w', encoding='utf-8') as f:
if cleaned_lines:
f.write('\n'.join(cleaned_lines)) # 不加額外的換行符
else:
f.write('') # 若沒有有效行,清空檔案
print(f"已處理: {file_path}") # 輸出處理成功的檔案路徑
# 用戶輸入資料夾路徑
folder_path = input("請輸入資料夾路徑(或輸入 'q' 退出):")
if folder_path.lower() != 'q': # 支援用戶輸入 'q' 來退出操作
if os.path.exists(folder_path): # 確保輸入的資料夾路徑有效
remove_blank_lines(folder_path)
else:
print("資料夾路徑無效!") # 如果路徑不存在,提示錯誤訊息