背景介绍
本项目旨在实现对本地目录中所有txt文件内容的读取与保存功能,同时计算该目录中所有文件的平均字数。该功能要求程序独立运行,无需依赖任何框架或第三方服务。本项目的核心知识涵盖文件读写、数据处理及计算逻辑,具有一定的挑战性。
思路分析
- 文件读取与保存
使用Python的os.listdir遍历本地目录,通过文件路径读取txt文件内容。若目录不存在,则程序会提示用户检查路径是否正确。保存内容时使用open函数写入指定文件夹。 -
平均值计算
遍历所有文件,统计每个文件的字数,计算总和与数量,最后求出平均值。注意处理可能的空文件或空路径异常。
代码实现
import os
def process_directory(directory_path, output_folder):
result_file = os.path.join(output_folder, "output.txt")
print(f"正在读取目录: {directory_path} 中的 txt 文件内容...\n")
# 遍历目录中的文件
files = os.listdir(directory_path)
file_contents = []
# 读取所有txt文件内容
for file in files:
if file.endswith('.txt'):
content = open(os.path.join(directory_path, file), 'r', encoding='utf-8').read()
file_contents.append(content)
# 保存输出内容
print(f"输出内容已写入: {result_file}\n")
with open(result_file, 'w', encoding='utf-8') as f:
for line in file_contents:
f.write(line + '\n')
# 计算平均字数
total_words = sum(len(line) for line in file_contents)
file_count = len(file_contents)
avg_words = total_words / file_count if file_count > 0 else 0
print(f"目录中所有文件的平均字数: {avg_words:.2f} 字\n")
return avg_words
if __name__ == "__main__":
directory_path = "C:/SampleData"
output_folder = "C:/OutputFolder"
avg_value = process_directory(directory_path, output_folder)
总结
本项目通过Python实现对本地目录中txt文件内容的读取与保存,并计算所有文件的平均字数。关键步骤包括:文件路径的处理、内容的读取与写入、数据的统计与平均值计算。该实现满足独立运行要求,具备良好的可读性和可维护性。该项目不仅验证了Python在文件处理方面的强大能力,也为开发者提供了实际应用的范例。