Форум сайта python.su
Доброго времени суток)
Мне необходимо было получить размер файла и я нашел это:
os.stat('C:\111\111.txt').st_size
os.path.getsize('C:\111\111.txt')
Офлайн
os.path.getsize это короткая запись для os.stat(…).st_size
Офлайн
Win95Достаточно взглянуть на исходники Питона, файл genericpath.py
Доброго времени суток)
Мне необходимо было получить размер файла и я нашел это:и этоos.stat('C:\111\111.txt').st_sizeСобственно говоря оба варианта позволяют получить размер файла, но не пойму, зачем их 2? Модуль то один, да и он стандартный (os).os.path.getsize('C:\111\111.txt')
def getsize(filename): """Return the size of a file, reported by os.stat().""" return os.stat(filename).st_size
Офлайн
Откуда видно, что os.stat(filename).st_size будет работать быстрее.
Офлайн
Не будет. Точнее, разницу заметить не получится.
Офлайн
Если говорить о скорости, то когда нужно пробежаться по большому количеству файлов и узнать не только размер, но и время создания, время модификации, права и т.п., то лучше вызвать os.stat() один раз на файл и брать информацию из полученного namedtuple'a. Когда же количество файлов и скорость не критичны или нужно только один вид информации (например размер), удобнее воспользоваться функциями из os.path: os.path.getsize(), os.path.getmtime() и т.п.
Офлайн