如何对代码的输出文件进行数字排序

问题描述 投票:0回答:1

我过去看过很多帖子详细介绍了如何做到这一点

    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 个文件。

谢谢你。

python sorting printing
1个回答
0
投票

如果您不关心文件名本身,而只关心其中包含的数字,那么很容易让

sorted
做您想做的事:

import re
sorted_files = sorted(unsorted_files, key=lambda fn: tuple(int(s) for s in re.findall('[0-9]+', fn)))
© www.soinside.com 2019 - 2024. All rights reserved.