项目35:简易文件类型统计器 — 《跟着小王学Python·新手》

《跟着小王学Python》 是一套精心设计的Python学习教程,适合各个层次的学习者。本教程从基础语法入手,逐步深入到高级应用,以实例驱动的方式,帮助学习者逐步掌握Python的核心概念。通过开发游戏、构建Web应用、编写网络爬虫、制作桌面软件等多样化项目,学习者可以深入理解并实践Python知识。每周更新1至2篇内容,旨在助力学习者成长为全栈工程师。

作为课程作业或者毕设参考也是不错的选择


文章目录

  • 项目35:简易文件类型统计器 --- 《跟着小王学Python·新手》
  • 目标
  • 功能
  • 设计
  • 1. 目录结构
  • 2. 技术选型
  • 3. 流程设计
  • 实现步骤
  • 1. 创建文件
  • 2. 编写代码
  • 3. 测试
  • 代码实现
  • 测试
  • 注意事项
  • 小结


项目35:简易文件类型统计器 --- 《跟着小王学Python·新手》_java

目标

本项目旨在为Python新手提供一个简易的文件类型统计器,通过这个项目,新手可以学习到文件操作、循环、条件判断等基础编程知识。同时,通过实践,加深对Python语言的理解,并能够将所学知识应用到实际问题中。

功能

  • 扫描指定目录下的所有文件。
  • 统计不同文件类型的个数。
  • 输出统计结果,显示每种文件类型及其对应的数量。

设计

1. 目录结构

为了使代码更加模块化,我们将代码分为以下几个部分:

  • main.py:主程序入口,负责调用其他模块。
  • file_scanner.py:负责扫描目录并获取文件列表。
  • file_counter.py:负责统计文件类型并存储结果。
  • output.py:负责输出统计结果。

2. 技术选型

  • Python 3.x:作为主要开发语言。
  • os模块:用于目录和文件操作。
  • collections模块:用于数据统计。

3. 流程设计

  1. 使用os模块扫描指定目录。
  2. 将文件列表传递给file_counter模块进行统计。
  3. 将统计结果存储在字典中。
  4. 使用output模块输出统计结果。

实现步骤

1. 创建文件

创建上述提到的四个文件:main.pyfile_scanner.pyfile_counter.pyoutput.py

2. 编写代码

file_scanner.py中编写文件扫描逻辑,在file_counter.py中编写统计逻辑,在output.py中编写输出逻辑。

3. 测试

main.py中调用其他模块,并在本地环境中测试程序的正确性。

代码实现

# file_scanner.py
import osdef scan_files(directory):"""扫描指定目录下的所有文件,并返回文件列表。"""files = []for root, dirs, filenames in os.walk(directory):for filename in filenames:files.append(os.path.join(root, filename))return files
# file_counter.py
from collections import defaultdictdef count_files(files):"""统计文件类型并返回统计结果。"""file_types = defaultdict(int)for file in files:file_type = file.split('.')[-1]  # 获取文件扩展名file_types[file_type] += 1return file_types
# output.py
def print_results(results):"""输出统计结果。"""for file_type, count in results.items():print(f"{file_type}: {count}")
# main.py
from file_scanner import scan_files
from file_counter import count_files
from output import print_resultsdef main():directory = input("请输入要扫描的目录路径:")files = scan_files(directory)  # 扫描文件results = count_files(files)  # 统计文件类型print_results(results)  # 输出结果if __name__ == "__main__":main()

测试

在命令行中运行main.py,并输入要扫描的目录路径,程序将输出该目录下不同文件类型的统计结果。

注意事项

  1. 确保输入的目录路径是正确的,否则程序将无法正常工作。
  2. 本程序不支持隐藏文件和目录。
  3. 对于没有扩展名的文件,程序将其视为无类型文件。

小结

通过本项目,新手可以学习到Python中文件操作的基本方法,以及如何使用循环和条件判断来处理实际问题。同时,通过实践,新手可以加深对Python语言的理解,并提高编程能力。