2、编写程序,要求如下: (1) 统计指定文件夹中文件和子文件夹数量 (2) 统计指定文件夹的大小(以多少G多少M表示) 说明:os.path.getsize(文件路径)可以获取文件大小
时间: 2023-12-10 09:38:00 浏览: 129
可以使用Python中的os模块来实现统计指定文件夹中文件和子文件夹数量以及大小的功能。具体代码如下:
```python
import os
def count_files(path):
"""
统计指定文件夹中文件和子文件夹数量
"""
file_count = 0
dir_count = 0
for root, dirs, files in os.walk(path):
file_count += len(files)
dir_count += len(dirs)
return file_count, dir_count
def count_size(path):
"""
统计指定文件夹的大小(以多少G多少M表示)
"""
size = 0
for root, dirs, files in os.walk(path):
for file in files:
file_path = os.path.join(root, file)
size += os.path.getsize(file_path)
if size >= 1024*1024*1024:
return '{:.2f}G'.format(size/(1024*1024*1024))
elif size >= 1024*1024:
return '{:.2f}M'.format(size/(1024*1024))
elif size >= 1024:
return '{:.2f}K'.format(size/1024)
else:
return '{}B'.format(size)
if __name__ == '__main__':
path = input('请输入文件夹路径:')
file_count, dir_count = count_files(path)
print('文件夹中文件数:{},子文件夹数:{}'.format(file_count, dir_count))
size = count_size(path)
print('文件夹大小:{}'.format(size))
```
其中,count_files函数用于统计文件夹中文件和子文件夹数量,利用os.walk函数来遍历文件夹中的文件和子文件夹,并分别累加文件数量和子文件夹数量。
count_size函数用于统计文件夹的大小,同样利用os.walk函数来遍历文件夹中的文件,并使用os.path.getsize函数获取文件大小,最终将所有文件的大小累加起来。最后根据文件夹大小的大小,以G、M、K或B的形式返回字符串。
在主程序中,用户可以输入文件夹路径,程序会输出文件夹中文件和子文件夹数量以及文件夹大小。
阅读全文