qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-免登录深度版🔥

"按大小升序排序目录及其子目录和文件的程序实现"

时间2023-08-14 20:09:28 提问来自 加州洛杉矶 的网友 分类创作 浏览460
以下是一个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 ``` 请注意,此程序仅为示例,可能需要根据实际需求进行修改和优化。

不满意?免费深度重写!

免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。

上一篇 设计微信小游戏开发任务调度策略以最小化测试等待时间 下一篇 电极丝有哪些方面的性能需要检测