Найти - Пользователи
Полная версия: getsize
Начало » Python для новичков » getsize
1
Win95
Доброго времени суток)

Мне необходимо было получить размер файла и я нашел это:
os.stat('C:\111\111.txt').st_size
и это
os.path.getsize('C:\111\111.txt')
Собственно говоря оба варианта позволяют получить размер файла, но не пойму, зачем их 2? Модуль то один, да и он стандартный (os).
s0rg
os.path.getsize это короткая запись для os.stat(…).st_size
FishHook
Win95
Доброго времени суток)

Мне необходимо было получить размер файла и я нашел это:
os.stat('C:\111\111.txt').st_size
и это
os.path.getsize('C:\111\111.txt')
Собственно говоря оба варианта позволяют получить размер файла, но не пойму, зачем их 2? Модуль то один, да и он стандартный (os).
Достаточно взглянуть на исходники Питона, файл genericpath.py

def getsize(filename):
    """Return the size of a file, reported by os.stat()."""
    return os.stat(filename).st_size
dimy44
Откуда видно, что os.stat(filename).st_size будет работать быстрее.
Андрей Светлов

Не будет. Точнее, разницу заметить не получится.

reclosedev
Если говорить о скорости, то когда нужно пробежаться по большому количеству файлов и узнать не только размер, но и время создания, время модификации, права и т.п., то лучше вызвать os.stat() один раз на файл и брать информацию из полученного namedtuple'a. Когда же количество файлов и скорость не критичны или нужно только один вид информации (например размер), удобнее воспользоваться функциями из os.path: os.path.getsize(), os.path.getmtime() и т.п.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB