建議檔名:批次空白列合併.py
與腳本01-01不同,清清爽爽,就只是將 TXT 檔內段落間重複的空白列合併,使各段落間只間隔一個空白列
程式碼:
(複製以下文字,貼入純文字檔中,存檔後將副檔名設定為 .py)
import os
# 合併檔案中的多餘空白列
def merge_blank_lines(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
lines = file.readlines()
# 合併多餘空白列,只保留一列空白
merged_lines = []
previous_blank = False
for line in lines:
if line.strip(): # 如果是非空白列
merged_lines.append(line)
previous_blank = False
elif not previous_blank: # 如果是空白列,且前一行不是空白
merged_lines.append(line)
previous_blank = True
# 將合併後的內容寫回檔案
with open(file_path, 'w', encoding='utf-8') as file:
file.writelines(merged_lines)
# 處理指定資料夾中的檔案
def process_files_in_folder(folder_path):
for filename in os.listdir(folder_path):
if filename.endswith('.txt'):
file_path = os.path.join(folder_path, filename)
print(f"正在處理檔案: {file_path}")
merge_blank_lines(file_path)
print(f"已合併檔案 {filename} 中的多餘空白列")
if __name__ == "__main__":
folder_path = input("請輸入檔案所在資料夾的路徑(或輸入 'q' 以中止操作):")
if folder_path.lower() == 'q':
print("操作已中止。")
exit()
process_files_in_folder(folder_path)
print("所有檔案的多餘空白列合併完成!")