Python编程案例:查找指定文件大小的文件并输出路径


我们经常会遇到电脑的硬盘空间不够用了,遇到这种情况,最有效的方式是查找电脑里的大文件。如果手工查找也会相当费时费力的,还是利用Python的os模块完成这个工作。

运行环境:

OS:macOS Monterey Version 12.3.1

IDE: PyCharm 2020.1

1.1 编程步骤

§ 获取指定路径下所有文件列表

§ 遍历所有文件列表

§ 判断是否是文件,然后再判断文件是否大于指定的文件大小

§ 判断如果是文件夹继续进入文件夹进行查找,递归函数

1.2 编程源码

#_*_coding:utf-8_*_
# 作者      :liuxiaowei
# 创建时间   :4/8/22 10:17 AM
# 文件      :按文件大小查找.py
# IDE      :PyCharm

'''
os.path.getsize()获取文件大小的函数
'''
import os

workPath = '/Users/liuxiaowei'

def find_big_File(filePath):
    allfiles = os.listdir(filePath)

    for file in allfiles:
        itemPath = os.path.join(filePath, file)
        if not os.path.isdir(itemPath):
            # 获取文件的大小
            fileSize = os.path.getsize(itemPath)
            if fileSize > 200000:
                print(f'该文件的大小为{fileSize}字节,路径为{itemPath}')
        else:
            find_big_File(itemPath)

if __name__ == '__main__':
    find_big_File(workPath)

运行结果如下:

该文件的大小为2620822字节,路径为/Users/liuxiaowei/Music/QQ音乐/中国广播民族乐团-喜洋洋.mp3
该文件的大小为2410208字节,路径为/Users/liuxiaowei/.jetbrains/jetbrains-agent-v3.2.0.de72.619
该文件的大小为2170880字节,路径为/Users/liuxiaowei/Pictures/Photos Library.photoslibrary/database/Photos.sqlite
该文件的大小为225280字节,路径为/Users/liuxiaowei/Pictures/Photos Library.photoslibrary/database/search/psi.sqlite
该文件的大小为307200字节,路径为/Users/liuxiaowei/Pictures/Photos Library.photoslibrary/resources/cpl/cloudsync.noindex/storage/store.cloudphotodb
该文件的大小为3633872字节,路径为/Users/liuxiaowei/Pictures/Photos Library.photoslibrary/resources/cpl/cloudsync.noindex/storage/store.cloudphotodb-wal
该文件的大小为2473984字节,路径为/Users/liuxiaowei/.ipython/profile_default/history.sqlite
该文件的大小为27297848字节,路径为/Users/liuxiaowei/Desktop/启程.mp4
该文件的大小为238316字节,路径为/Users/liuxiaowei/Desktop/xls/logo.xlsx
该文件的大小为229967字节,路径为/Users/liuxiaowei/Desktop/对比Excel,轻松学习Python报表自动化随书资源/随书数据/9章.zip
该文件的大小为599449字节,路径为/Users/liuxiaowei/Desktop/对比Excel,轻松学习Python报表自动化随书资源/随书数据/3章.zip
该文件的大小为274430字节,路径为/Users/liuxiaowei/Desktop/对比Excel,轻松学习Python报表自动化随书资源/随书数据/12章.zip
该文件的大小为221105字节,路径为/Users/liuxiaowei/Desktop/对比Excel,轻松学习Python报表自动化随书资源/第9章用Python实现Excel中的函数计算/9章 - 利用Python实现Excel中的函数计算.ipynb
该文件的大小为221093字节,路径为/Users/liuxiaowei/Desktop/对比Excel,轻松学习Python报表自动化随书资源/第9章用Python实现Excel中的函数计算/.ipynb_checkpoints/9章 - 利用Python实现Excel中的函数计算-checkpoint.ipynb
该文件的大小为221093字节,路径为/Users/liuxiaowei/Desktop/对比Excel,轻松学习Python报表自动化随书资源/随书
........