import os
# 定义标点符号集
punctuation_set = set("。,、;:?!“”‘’()【】《》…—…")
def is_punctuation(char):
"""检查字符是否为标点符号"""
return char in punctuation_set
def process_file(input_folder):
# 遍历输入文件夹中的所有文件
for filename in os.listdir(input_folder):
if filename.endswith('.txt'): # 只处理文本文件
input_path = os.path.join(input_folder, filename)
output_path = os.path.join(input_folder, filename.replace('.txt', '_processed.txt'))
with open(input_path, 'r', encoding='utf-8') as infile, \
open(output_path, 'w', encoding='utf-8') as outfile:
content = infile.read()
processed_content = []
# 逐字符处理内容
i = 0
while i < len(content):
if content == '\n':
# 检查换行符前的字符是否为标点符号
j = i - 1
while j >= 0 and content[j] == ' ': # 忽略换行符前的所有空格
j -= 1
if j >= 0 and is_punctuation(content[j]):
processed_content.append('\n')
else:
processed_content.append('')
else:
processed_content.append(content)
i += 1
# 写入处理后的内容到新文件
outfile.write(''.join(processed_content))
# 示例用法
input_folder = 'YY'
process_file(input_folder)
使用说明,下载文本文档,另存为后缀名PY。把半边文档放入YY文件夹中,点击PY即可处理完毕。PY文本文档可自由下载。
|