我过去看过很多帖子详细介绍了如何做到这一点
sorted(path, key=lambda, etc)
但我似乎无法让我的工作。
import os
mypath = '../path/'
currentPath = os.getcwd( )
print currentpath`
下面还有更多代码。基本上,该程序从记事本文件中获取某个索引,并按降序列出前 10 个最高数字,同时考虑绝对值。我能够正确排序每个文件的输出。但是文件名(总共 1400 个文件)是从 98、99、100、1001、1002。而不是从 100 到 101。这是一个示例。
处理:../path/FAULT_100.txt
然后就会像这样直接进入故障_1000
处理:../path/FAULT_1000.txt
有谁知道如何编辑“打印当前路径”以使文件编号按升序数字顺序打印?
谢谢你。
我尝试在当前路径上排序
print sorted(currentpath, key=lambda k:k[1]))
代码错误,我认为 k 值可能不正确。我总共有 1400 个文件。
谢谢你。
如果您不关心文件名本身,而只关心其中包含的数字,那么很容易让
sorted
做您想做的事:
import re
sorted_files = sorted(unsorted_files, key=lambda fn: tuple(int(s) for s in re.findall('[0-9]+', fn)))