Python写一个文件自动计数工具
目录
脚本说明
使用说明
扩展功能
创建一个能够自动计数文件行数、单词数和字符数的Python工具,可以帮助博主和写作者轻松跟踪他们的内容量。这个工具还可以扩展以提供更多功能,如统计特定关键字出现的次数。
以下是一个较为完整的Python脚本,它可以实现上述功能,并带有适当的注释,以帮助理解和扩展。
import os
def count_lines(file_path):
"""计算文件中的行数"""
with open(file_path, 'r', encoding='utf-8') as file:
lines = file.readlines()
return len(lines)def count_words(file_path):
"""计算文件中的单词数"""
with open(file_path, 'r', encoding='utf-8') as file:
words = file.read().split()
return len(words)def count_characters(file_path):
"""计算文件中的字符数"""
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
return len(content)def count_keyword(file_path, keyword):
"""统计特定关键字在文件中出现的次数"""
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
return content.lower().count(keyword.lower())def file_stats(file_path):
"""输出文件的所有统计数据"""
print(f"文件: {file_path}")
print(f"行数: {count_lines(file_path)} 行")
print(f"单词数: {count_words(file_path)} 个单词")
print(f"字符数: {count_characters(file_path)} 个字符")def main():
"""主函数,处理用户输入和调用统计函数"""
file_path = input("请输入文件的路径: ")if not os.path.isfile(file_path):
print("文件路径无效,请重新输入")
returnfile_stats(file_path)
# 询问用户是否要统计特定关键字的出现次数
keyword = input("请输入要统计的关键字(或按Enter跳过): ")
if keyword:
keyword_count = count_keyword(file_path, keyword)
print(f"关键字 '{keyword}' 出现了 {keyword_count} 次")if __name__ == "__main__":
main()
脚本说明
count_lines
: 计算文件中的行数。通过读取文件的所有行并计算行数来实现。count_words
: 计算文件中的单词数。通过将文件内容拆分为单词列表并计算单词数来实现。count_characters
: 计算文件中的字符数。通过读取整个文件内容并计算字符数来实现。count_keyword
: 统计特定关键字在文件中出现的次数。通过读取文件内容并使用字符串的count
方法来实现。file_stats
: 输出文件的所有统计数据。main
: 主函数,处理用户输入,并调用上述函数来输出统计数据。如果用户输入了关键字,则统计其出现次数。
使用说明
- 运行脚本,会提示你输入文件路径。
- 输入有效的文件路径后,脚本会输出该文件的行数、单词数和字符数。
- 脚本还会询问你是否要统计特定关键字的出现次数。如果输入关键字,脚本会统计并输出该关键字在文件中出现的次数。
扩展功能
- 文件类型检查:添加对文件类型的检查,只处理文本文件。
- 批量处理:扩展脚本以处理多个文件或目录中的所有文件。
- 输出格式:将统计结果导出为CSV或其他格式,便于进一步分析。
通过这个工具,你可以轻松跟踪和分析你的博文或其他文本文件的内容量。希望这个脚本对你有帮助!