2014-09-04 12 views
6

aşağıdaki kod parçasını düşünün. os.listdir sadece dosya adını değil, mutlak yolunu yani anahtar verir Ancak, os.path.getctime bu duruma bir çözüm var mıyapmak os.listdir() liste tam yolları

OSError: [Errno 2] No such file or directory: 'very_important_file.txt'

söyleyerek bir istisna atar ya ihtiyacım var kendi sıralama işlevimi yazmak için?

cevap

4
files = sorted(os.listdir('dumps'), key=lambda fn:os.path.getctime(os.path.join('dumps', fn))) 
10

glob'u kullanabilirsiniz.

import os 
from glob import glob 
glob_pattern = os.path.join('dumps', '*') 
files = sorted(glob(glob_pattern), key=os.path.getctime) 
3
files = sorted([os.path.join('dumps', file) for file in os.listdir('dumps')], key=os.path.getctime)