2012-06-09 20 views
9

, dizindeDizindeki dosya öznitelikleri nasıl okunur? Örneğin

import os 
print os.listdir() 

liste dosyaları.

Dizindeki tüm dosyalar için dosya değiştirme zamanı nasıl alınır?

+0

olası yinelenen [? Dosya oluşturma ve değiştirme tarihini/Python kez almak nasıl] (http://stackoverflow.com: Bir bağımsız değişkenle listdir kullanıyorsanız, ayrıca os.path.join kullanmanız gerekir/sorular/237079/how-to-get-dosya yaratma-modifikasyon-tarih-zaman-in-piton) –

cevap

28

Değiştirme süresi gibi dosya özelliklerini almak için os.stat numaralı telefonu arayın.

import os 
for filename in os.listdir(): 
    info = os.stat(filename) 
    print info.st_mtime 

st_mtime

piton 2.5 ve en fazla bir yüzer değer, dönemden beri saniye temsil eder; Bunları görüntüleme amacıyla veya benzer şekilde yorumlamak için time veya datetime modüllerini kullanın.

tam anlamı ile st_atime, st_mtime ve st_ctime niteliklerin çözünürlüğü, işletim sistemi ve dosya sistemi bağlıdır:

değerin hassas kullandığınız işletim sistemine bağlı olduğunu unutmayın. Örneğin, FAT veya FAT32 dosya sistemlerini kullanan Windows sistemlerinde st_mtime 2 saniyelik çözünürlüğe sahiptir ve st_atime yalnızca 1 günlük çözünürlüğe sahiptir. Ayrıntılar için işletim sisteminizin belgelerine bakın.

tüm yapıyorsun değişiklik zamanını almak ise, os.path.getmtime yöntem kullanışlı kısayol olduğu; başlık altında os.stat yöntemini kullanır. os.stat çağrı (dosya sistemi erişimi) nispeten pahalıdır, bu yüzden dosyaların bir sürü bunu ve dosya başına birden fazla Datapoint gerekiyorsa, os.stat kullanarak daha iyi ve yeniden o ancak

Not bilgi os.stat dosya başına birden çok kez çağrılacak olan os.path kullanışlılık yöntemlerini kullanmak yerine döndü.

3

Yalnızca değiştirilen süreyi istiyorsanız, os.path.getmtime(filename) sizin için alır.

import os, os.path 

for filename in os.listdir(SOME_DIR): 
    print os.path.getmtime(os.path.join(SOME_DIR, filename)) 
ait
İlgili konular