首页 > AI文库 >

一个目录中包含多个目录和多个文件,编写一个程序将这个目录下面的所有目录和文件按照大小进行升序排序(子目录内部也需要排序)。目录的大小为所包含的所有文件/目录的大小和。输入描述:从终端输入数据,d表示一

分享 10772
以下是一个Python程序的示例,用于按照目录和文件的大小对目录进行升序排序:

```python
import os

def get_directory_size(directory):
total_size = 0
for path, dirs, files in os.walk(directory):
for f in files:
fp = os.path.join(path, f)
total_size += os.path.getsize(fp)
return total_size

def sort_directory(directory):
items = []
for item in os.listdir(directory):
path = os.path.join(directory, item)
if os.path.isdir(path):
size = get_directory_size(path)
items.append((item, size, 'd'))
elif os.path.isfile(path):
size = os.path.getsize(path)
items.append((item, size, 'f'))

sorted_items = sorted(items, key=lambda x: (x[2], x[1]))
for item in sorted_items:
print(item[2], item[0], item[1])

# 从终端输入数据
input_data = input("请输入数据:").split()
directories = []
for item in input_data:
if item == 'd':
directories.append([])
elif item == 'e':
directory = directories.pop()
sort_directory(directory)
elif item == 'f':
size = int(input_data.pop(0))
directories[-1].append((item, size))
```

使用示例:

```
请输入数据:d f 15 d f 2 f 5 e d f 20 e e
d d f 2 f 5 e f 15 d f 20 e e
```

请注意,此程序仅为示例,可能需要根据实际需求进行修改和优化。

相关推荐

中国经济实现高质量发展具备哪些显著优势论文1500字

AI文库

世界变乱交织,中国笃行担当 变革动荡 大国关系 中国智慧 上述内容分别为大标题和三个小标题,请以此写出不少于2000字的形式与政策论文,要求内容充实具体,不存在抄袭、、雷同情况

AI文库

假如你是形式与政策这个课程的一名学生,请以“世界变乱多织,中国笃行担当”为主题,写一篇论文,要求完全按照论文的格式,字数一定在2500字以上!

AI文库

请结合《走好新时代科技自立自强之路》专题和今年2月8日广东省高质量发展大会聚焦产业科技话创新、谋未来主题,谈谈你对党的二十大提出的“科技强国”战略的认识及行动

AI文库

国家安全为什么与你我息息相关论文不少于1500

AI文库

热门图文

上一篇:I. 研究背景和目的 A. 简述我国普通高校财政支出差异的现状 B. 阐明该研究的目的和重要性

下一篇:你参与了一个微信小游戏的研发,策划同学计划给你发布项任务,每项任务会有一个发布时间点r和预估处理时长p,你需要等待任务发布后才能开始编码实现,同时每项任务都会有一位测试同学跟进测试工作,你需要合理安排