python使用os.walk获取文件夹的大小-一行代码
2017-12-19 23:28
726 查看
使用
使用
上面的例子中,第一个for循环是遍历文件夹的,我们只要文件,也就是只要第二个for循环,把其中每一项加起来
把里层的for循环写成迭代器,再用sum来替代
再把最外面的for循环也剥掉,就成了下面的一行代码了。
一行代码:
完美,完全看不懂了。
os.path.getsize(path)可以获取到文件的大小,但是如果path是一个文件夹而不是文件的话,虽然也有数值返回,但是并不是这个文件夹真正的大小。至少windows上是这样的。Linux可能没问题(毕竟一切皆文件)。不如既然可以获取到文件的大小,那么遍历以便所有文件,文件夹大小也就有了。
使用
os.walk(path)就可以遍历目录下的所有目录和文件,包括子目录:
import os folder_path = r'E:\Downloads' for parent, dirs, files in os.walk(folder_path): # 输出文件夹信息 for dir in dirs: print('parent is :', parent) print('dirname is ', dir) # 输出文件信息 for file in files: print('parent is :', parent) print('filename is :', file) # 文件的完整路径 fullname = os.path.join(parent, file) print('the fulll name of the file is :', fullname) file_size = os.path.getsize(fullname)/1024/1024 print('the file size is : %.2f MB' % file_size)
上面的例子中,第一个for循环是遍历文件夹的,我们只要文件,也就是只要第二个for循环,把其中每一项加起来
# 获取文件夹的大小 import os folder_path = r'E:\Downloads' full_size = 0 for parent, dirs, files in os.walk(folder_path): for file in files: fullname = os.path.join(parent, file) file_size = os.path.getsize(fullname) full_size += file_size print(full_size, "%.2f MB" % (full_size/1024/1024))
把里层的for循环写成迭代器,再用sum来替代
full_size += file_size:
import os folder_path = r'E:\Downloads' full_size = 0 for parent, dirs, files in os.walk(folder_path): full_size = sum(os.path.getsize(os.path.join(parent, file)) for file in files) print(full_size, "%.2f MB" % (full_size/1024/1024))
再把最外面的for循环也剥掉,就成了下面的一行代码了。
一行代码:
full_size = sum(sum(os.path.getsize(os.path.join(parent, file)) for file in files) for parent, dirs, files in os.walk(folder_path))
完美,完全看不懂了。
相关文章推荐
- python使用os.walk和os.path.join来遍历文件夹的文件(包括子文件夹下的文件)
- python使用os.walk和os.path.join来遍历文件夹的文件(包括子文件夹下的文件)
- python使用os模块的os.walk遍历文件夹示例
- python使用os.walk和os.path.join来遍历文件夹的文件(包括子文件夹下的文件)
- python使用os模块的os.walk遍历文件夹示例
- python使用os模块的os.walk遍历文件夹
- Python使用一行代码获取上个月是几月
- QQ登录使用的g_tk获取的python代码
- python获取文件及文件夹大小
- python之os.walk()的使用实例
- Dive Into Python 学习记录3-对获取某文件夹下MP3文件信息的代码构成分析
- Python获取远程文件大小的函数代码分享
- 使用 Python 获取 Linux 系统信息的代码
- 使用Python获取指定文件夹下文件名列表
- 使用Delphi获取一个文件夹所占空间大小
- python中使用urllib2获取http请求状态码的代码例子
- [python]获取文件夹大小
- python学习笔记之--os.walk使用
- python 获取文件夹下所有文件大小
- python获取文件及文件夹大小