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