利用Python模块计算一个路径下文件的大小
计算一个路径下文件的总大小,如:计算D:\01文件夹的大小
计算D:\01文件夹的大小,将该文件夹下所有文件的大小进行相加计算
OS模块:
os.listdir(path) 返回指定路径下所有的文件名和目录名
os.isdir(path) 判断给定的路径是否是文件
os.isfile(path) 判断给定的路径是否是目录名
os.exists(path) 判断给定的路径是否存在
os.path.getsize(path) 返回指定文件的大小
os.path.join(path1,path2) 路径拼接
代码实现:
import os
num = 0
def getSize(path):
global num
# 判断给出的路径是否存在,如果不存在,则返回
if not os.path.exists(path):
return '给出的路径目录名不存在'
# 获取给定路径下所有的文件名和目录名
filename = os.listdir(path)
# 对给定路径下所有的文件名和目录名进行遍历,并判断
for i in filename:
new_path = os.path.join(path,i)
# 进行判断,是文件计算大小并累加
if os.path.isfile(new_path):
filesize = os.path.getsize(new_path)
size_num += filesize
else:
filesize = getSize(new_path)
# 返回计算的结果
return size_num
if __name__ == '__main__':
path = 'D:\01'
size_num = getSize(path)
print(size_num)
注意:递归返回时还是计算目录下文件的大小。
利用Python实现文件的迁移与移除
实现一个目录下文件的归类;将文件大小在5KB以内的文件迁移到另外一个文件夹下。
5KB = 1024 * 5
OS模块和shutil模块:
os.makedirs(path) 创建文件夹
os.remove(path) 删除指定路径的文件
shutil.copyfile(path1,path2) 复制文件到另外一个路径
代码实现:
import os
import shutil
def main():
# 判断迁移文件夹是否存在,若不存在,创建
if not os.path.exists("D:\文件安装\酷我音乐\MISIC\周杰伦\LRC"):
os.makedirs("D:\文件安装\酷我音乐\MISIC\周杰伦\LRC")
# 文件夹的路径
file_path = "D:\文件安装\酷我音乐\MISIC\周杰伦"
# 获取路径下的文件名组成的列表
filename = os.listdir(file_path)
# 遍历filename列表
for i in filename:
# 组成新的路径
new_path = os.path.join(file_path,i)
# 判断该路径是文件还是文件夹,若是文件,进行大小的判断
if os.path.isfile(new_path):
if os.path.getsize(new_path) <= 5000:
# 将小于5000的文件迁移到迁移文件夹中
save_path = os.path.join(D:\文件安装\酷我音乐\MISIC\周杰伦\LRC",i)
# 文件迁移
shutil.copyfile(path,save_path)
# 删除原始目录下被迁移的文件
os.remove(path)
print('文件迁移完成...')
if __name__ == '__main__'
main()
文件的迁移和删除代码,我实现的是文件中音乐文件和歌词文件混在了一个文件夹下,通过代码把音乐文件和歌词文件
进行区分;将歌词文件充该文件夹中复制出来,然后删除该文件夹中的歌词文件。
本文介绍使用Python OS模块计算指定路径下所有文件的总大小,包括递归处理子目录。同时,展示了如何将特定大小的文件从源目录迁移至另一目录,并在迁移后删除原文件,涉及os.makedirs, shutil.copyfile及os.remove等函数的应用。
17万+

被折叠的 条评论
为什么被折叠?



