Python находит самый последний файл и получает размер

Я пытаюсь заставить Python найти самый последний файл в каталоге и получить размер файла. Я пробовал несколько разных методов, используя "sorted" и "os.path", но, похоже, ничего не работает. Вот пример кода.

 filepath='/path/to/files'

 files = sorted([ 
    f for f in os.listdir(filepath) if f.startswith('spam')])


 print "Most recent file = %s" % (files[-1],)

 recent = files[-1]

 filesize = os.path.getsize(recent)

 #print "File size = %s" % (filesize)

При этом захватывается самый последний файл, но при попытке найти размер, отображающий его, отсутствует каталог для поиска. Поэтому я выбрал другой метод, подобный этому.

import os,sys
from stat import *
from os.path import join

for (dirname, dirs, files) in os.walk('/path/to/file'):
    for filename in files:
            if filename.startswith('.tar.gz'):
                    thefile = os.path.join(dirname,filename)
                    size = os.path.getsize(thefile)
                    if size == 0
                    print "File %s has 0 data!" % thefile
                            exit 2
                    else print "File %s is good!" %thefile
                            exit 0

Этот выходит с ошибкой неверный синтаксис на "размер = 0"

Любая помощь высоко ценится!

1 ответ

Решение

os.path.getsize() нужен полный путь.

 filepath='/path/to/files'    
 files = sorted([ 
    f for f in os.listdir(filepath) if f.startswith('spam')])


 recent = files[-1]

 filesize = os.path.getsize(os.path.join(filepath, recent))
Другие вопросы по тегам