背景介绍
在编程学习中,文件处理是一个常见但容易出错的问题。本脚本实现了一个基础功能:读取用户提供的文本文件,统计其中所有单词的出现频率,并以文本形式输出结果。该脚本使用了Python中的collections.Counter类,通过命令行输入文件路径,无需依赖外部服务或框架。
思路分析
- 文件读取
使用sys.argv[1]获取输入文件路径,确保在命令行下正确执行。
with open(...)语句确保文件读取时关闭文件流,避免异常。 -
单词统计
打开输入文件并将其内容拆分成列表,逐个处理,使用Counter统计每个单词的出现次数。 -
输出结果
通过循环遍历Counter.items(),将每个单词与出现次数输出。
代码实现
from collections import Counter
import sys
def main():
input_path = sys.argv[1] # 获取输入文件路径
with open(input_path, 'r') as f:
words = f.read().split()
counter = Counter(words)
for word, count in counter.items():
print(f"{word}: {count}")
if __name__ == "__main__":
main()
总结
本脚本实现了文本文件单词统计的核心功能,通过命令行输入文件路径,使用Python的collections.Counter统计频率,并以文本格式输出结果。整个过程展示了文件读写和数据结构使用的能力,具有良好的可读性和学习价值。脚本运行时只需输入文件路径即可完成任务,无需依赖外部服务。
——
学习价值
掌握文件读写和数据结构(如Counter)的使用,能够帮助解决类似文件处理问题,是编程学习中的一道基础题。这一脚本的实现展示了编程思维的核心要素。