2014-03-01 71 views
0

我有一個包含文件的目錄一樣排序文件排序

file23.txt 
file2.txt etc, 

我所要的輸出是

file2.txt 
file23.txt 

什麼想法?

我已經試過這

files = os.listdir(r'D:\Test\thread\xml') 

sorted(files) 

我想用一個lambda來排序的函數,把我的lambda作爲重點進行排序。

+1

您目前的任務有什麼麻煩? –

+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)) 

這將會把所有文件名與他們沒有數字在列表的前面。