目录是这样的 a/b/a.txt q/b/a.txt a/c/c.txt q/c/c.txt 我想要的是这种结果
时间: 2023-08-16 18:08:04 浏览: 40
a/b/a.txt
a/c/c.txt
q/b/a.txt
q/c/c.txt
可以按照以下步骤实现:
1. 使用os模块的walk函数遍历目录,获取所有文件的绝对路径。
2. 使用sorted函数按照指定的排序规则进行排序,这里可以使用lambda表达式按照目录名和文件名排序。
3. 遍历排序后的文件路径列表,输出即可。
代码示例:
```python
import os
dir_path = 'your/dir/path'
# 遍历目录,获取所有文件的绝对路径
file_paths = []
for root, dirs, files in os.walk(dir_path):
for file in files:
file_paths.append(os.path.join(root, file))
# 按照目录名和文件名排序
file_paths = sorted(file_paths, key=lambda x: (os.path.dirname(x), os.path.basename(x)))
# 输出结果
for file_path in file_paths:
print(file_path)
```