Перейти к содержимому

Как узнать размер файла в python

  • автор:

Как получить размер файла в Python

Мы можем получить размер файла в Python, используя модуль os.

Размер файла в Python

Модуль python os имеет функцию stat(), где мы можем передать имя файла в качестве аргумента. Эта функция возвращает структуру кортежа, содержащую информацию о файле. Затем мы можем получить его свойство st_size , чтобы получить размер файла в байтах. Вот простая программа для печати размера файла в байтах и мегабайтах.

# get file size in python import os file_name = "/Users/pankaj/abcdef.txt" file_stats = os.stat(file_name) print(file_stats) print(f'File Size in Bytes is ') print(f'File Size in MegaBytes is ') 

Если вы посмотрите на функцию stat(), мы можем передать еще два аргумента: dir_fd и follow_symlinks. Однако они не реализованы для Mac OS. Вот обновленная программа, в которой я пытаюсь использовать относительный путь, но она выдает NotImplementedError.

# get file size in python import os file_name = "abcdef.txt" relative_path = os.open("/Users/pankaj", os.O_RDONLY) file_stats = os.stat(file_name, dir_fd=relative_path) 
Traceback (most recent call last): File "/Users/pankaj/. /get_file_size.py", line 7, in file_stats = os.stat(file_name, dir_fd=relative_path) NotImplementedError: dir_fd unavailable on this platform 

Как получить расширение и размер файла в Python

Мы можем использовать функцию splitext() модуля os в Python, чтобы получить расширение файла. Эта функция разбивает путь к файлу на кортеж, имеющий два значения – корень и расширение.

Вот простая программа для получения расширения файла на Python.

import os # unpacking the tuple file_name, file_extension = os.path.splitext("/Users/pankaj/abc.txt") print(file_name) print(file_extension) print(os.path.splitext("/Users/pankaj/.bashrc")) print(os.path.splitext("/Users/pankaj/a.b/image.png"))

Расширение файла в Python

  • В первом примере мы напрямую распаковываем значения кортежа в две переменные.
  • Обратите внимание, что файл .bashrc не имеет расширения. К имени файла добавляется точка, чтобы сделать его скрытым.
  • В третьем примере в имени каталога есть точка.

Получение расширения файла с помощью модуля Pathlib

Мы также можем использовать модуль pathlib, чтобы получить расширение файла. Этот модуль был представлен в версии Python 3.4.

>>> import pathlib >>> pathlib.Path("/Users/pankaj/abc.txt").suffix '.txt' >>> pathlib.Path("/Users/pankaj/.bashrc").suffix '' >>> pathlib.Path("/Users/pankaj/.bashrc") PosixPath('/Users/pankaj/.bashrc') >>> pathlib.Path("/Users/pankaj/a.b/abc.jpg").suffix '.jpg' >>>

Всегда лучше использовать стандартные методы, чтобы получить расширение файла. Если вы уже используете модуль os, используйте метод splitext(). Для объектно-ориентированного подхода используйте модуль pathlib.

Получение размера файла

Мы можем получить размер файла в Python, используя модуль os.

Модуль os имеет функцию stat(), где мы можем передать имя файла в качестве аргумента. Эта функция возвращает структуру кортежа, содержащую информацию о файле. Затем мы можем получить его свойство st_size, чтобы получить размер файла в байтах.

Вот простая программа для печати размера файла в байтах и мегабайтах.

# get file size in python import os file_name = "/Users/pankaj/abcdef.txt" file_stats = os.stat(file_name) print(file_stats) print(f'File Size in Bytes is ') print(f'File Size in MegaBytes is ')

Размер файла в Python

Если вы посмотрите на функцию stat(), мы можем передать еще два аргумента: dir_fd и follow_symlinks. Однако они не реализованы для Mac OS.

Вот обновленная программа, в которой я пытаюсь использовать относительный путь, но выдает NotImplementedError.

# get file size in python import os file_name = "abcdef.txt" relative_path = os.open("/Users/pankaj", os.O_RDONLY) file_stats = os.stat(file_name, dir_fd=relative_path)
Traceback (most recent call last): File "/Users/pankaj/. /get_file_size.py", line 7, in file_stats = os.stat(file_name, dir_fd=relative_path) NotImplementedError: dir_fd unavailable on this platform

Как определить размер файла, имея только список его байтов

Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.

  • python
  • python-3.x
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.8.3130

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Получение размера файла в Python

В работе с файлами на Python часто возникает необходимость получить размер файла. Это может быть полезно в различных случаях, например, при проверке доступного пространства на диске перед записью больших файлов, или при оценке прогресса обработки больших данных.

Python предоставляет несколько способов для получения размера файла. Рассмотрим два наиболее популярных из них.

Использование встроенного модуля os

Один из способов — использовать функцию getsize() из встроенного модуля os . Эта функция принимает путь к файлу в качестве аргумента и возвращает его размер в байтах.

import os file_size = os.path.getsize('path_to_your_file') print('Размер файла:', file_size, 'байт')

В данном примере ‘path_to_your_file’ — это строка, содержащая путь к файлу, размер которого вы хотите определить.

Использование модуля os и функции stat

Ещё один способ получить размер файла в Python — использовать функцию stat() из модуля os . Эта функция возвращает объект os.stat_result , который содержит различные атрибуты файла, включая его размер.

import os file_info = os.stat('path_to_your_file') file_size = file_info.st_size print('Размер файла:', file_size, 'байт')

В данном примере атрибут st_size объекта os.stat_result содержит размер файла в байтах.

Оба этих способа предоставляют простые и эффективные средства для получения размера файла в Python. Выбор между ними зависит от конкретных потребностей и предпочтений разработчика.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *