Jim*_*Jim 6 python sorting file-io
我正在使用一个程序,根据从目录中读取文件的顺序将输出写入csv文件.但是带有大量文件的结尾为1,2,3,4,5,6,7,8,9,10,11,12.我的程序实际上按照字母顺序读取文件:1,10,11,12 ....,2,20,21 ..... 99.问题是另一个程序假定排序是数字排序,并使图结果偏斜.
实际文件看起来像:String.ext.ext2.1.txt, String.ext.ext2.2.txt
等等......
我怎么能用python脚本做到这一点?
eum*_*iro 13
files = ['String.ext.ext2.1.txt', 'String.ext.ext2.12.txt', 'String.ext.ext2.2.txt']
# files: coming from os.listdir() sorted alphabetically, thus not numerically
sorted_files = sorted(files, key=lambda x: int(x.split('.')[3]))
# returns: ['String.ext.ext2.1.txt', 'String.ext.ext2.2.txt', 'String.ext.ext2.12.txt']
Run Code Online (Sandbox Code Playgroud)