我有一个包含
等文件的目录file23.txt
file2.txt etc,
我希望输出为
file2.txt
file23.txt
任何想法?
我试过这个
files = os.listdir(r'D:\Test\thread\xml')
sorted(files)
我想将lambda用于以lambda为键并对其进行排序的排序函数。
答案 0 :(得分:2)
您是否只是在mydir
中查找列表文件并按名称排序?
import os
print(sorted(os.listdir('mydir/')))
如果您按其中的数字排序,则可以尝试
import os
import re
def sorter(filename):
match = re.search(r'\d+', filename)
if match:
return int(match.group())
return 0
files = sorted(os.listdir('mydir/'), key = lambda fname: sorter(fname))
这会将所有没有数字的文件名放在列表的前面。