Проверить расширение файла питон

filetype 1.2.0

Infer file type and MIME type of any file/buffer. No external dependencies.

Ссылки проекта

Статистика

Метаданные

Лицензия: MIT License (MIT)

Метки file, libmagic, magic, infer, numbers, magicnumbers, discovery, mime, type, kind

Сопровождающие

Классификаторы

Описание проекта

Small and dependency free Python package to infer file type and MIME type checking the magic numbers signature of a file or buffer.

This is a Python port from filetype Go package.

Features

  • Simple and friendly API
  • Supports a wide range of file types
  • Provides file extension and MIME type inference
  • File discovery by extension or MIME type
  • File discovery by kind (image, video, audio…)
  • Pluggable: add new custom type matchers
  • Fast, even processing large files
  • Only first 261 bytes representing the max file header is required, so you can just pass a list of bytes
  • Dependency free (just Python code, no C extensions, no libmagic bindings)
  • Cross-platform file recognition

Installation

API

Examples

Simple file type checking

Supported types

Image

Video

Audio

Archive

  • br — application/x-brotli
  • rpm — application/x-rpm
  • dcm — application/dicom
  • epub — application/epub+zip
  • zip — application/zip
  • tar — application/x-tar
  • rar — application/x-rar-compressed
  • gz — application/gzip
  • bz2 — application/x-bzip2
  • 7z — application/x-7z-compressed
  • xz — application/x-xz
  • pdf — application/pdf
  • exe — application/x-msdownload
  • swf — application/x-shockwave-flash
  • rtf — application/rtf
  • eot — application/octet-stream
  • ps — application/postscript
  • sqlite — application/x-sqlite3
  • nes — application/x-nintendo-nes-rom
  • crx — application/x-google-chrome-extension
  • cab — application/vnd.ms-cab-compressed
  • deb — application/x-deb
  • ar — application/x-unix-archive
  • Z — application/x-compress
  • lzo — application/x-lzop
  • lz — application/x-lzip
  • lz4 — application/x-lz4
  • zstd — application/zstd
Читайте также:  CSS Toggle Switch

Document

  • doc — application/msword
  • docx — application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • odt — application/vnd.oasis.opendocument.text
  • xls — application/vnd.ms-excel
  • xlsx — application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • ods — application/vnd.oasis.opendocument.spreadsheet
  • ppt — application/vnd.ms-powerpoint
  • pptx — application/vnd.openxmlformats-officedocument.presentationml.presentation
  • odp — application/vnd.oasis.opendocument.presentation

Font

  • woff — application/font-woff
  • woff2 — application/font-woff
  • ttf — application/font-sfnt
  • otf — application/font-sfnt

Источник

Как получить расширение и размер файла в 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

Источник

Python: Get a File’s Extension (Windows, Mac, and Linux)

Python Get File Extension Cover Image

In this tutorial, you’ll learn how to use Python to get a file extension. You’ll accomplish this using both the pathlib library and the os.path module.

Being able to work with files in Python in an easy manner is one of the languages greatest strength. You could, for example use the glob library to iterate over files in a folder. When you do this, knowing what the file extension of each file may drive further decisions. Because of this, knowing how to get a file’s extension is an import skill! Let’s get started learning how to use Python to get a file’s extension, in Windows, Mac, and Linux!

The Quick Answer: Use Pathlib

Quick Answer - Python Get a File

Using Python Pathlib to Get a File’s Extension

The Python pathlib library makes it incredibly easy to work with and manipulate paths. Because of this, it makes perfect sense that the library would have the way of accessing a file’s extension.

The pathlib library comes with a class named Path , which we use to create path-based objects. When we load our file’s path into a Path object, we can access specific attributes about the object by using its built-in properties.

Let’s see how we can use the pathlib library in Python to get a file’s extension:

# Get a file's extension using pathlib import pathlib file_path = "/Users/datagy/Desktop/Important Spreadsheet.xlsx" extension = pathlib.Path(file_path).suffix print(extension) # Returns: .xlsx

We can see here that we passed a file’s path into the Path class, creating a Path object. After we did this, we can access different attributes, including the .suffix attribute. When we assigned this to a variable named extension , we printed it, getting .xlsx back.

This method works well for both Mac and Linux computers. When you’re working with Windows, however, the file paths operate a little differently.

Because of this, when using Windows, create your file path as a “raw” string. But how do you do this? Simply prefix your string with a r , like this r’some string’ . This will let Python know to not use the backslashes as escape characters.

Now that we’ve taken a look at how to use pathlib in Python to get a file extension, let’s explore how we can do the same using the os.path module.

Want to learn more? Want to learn how to use the pathlib library to automatically rename files in Python? Check out my in-depth tutorial and video on Towards Data Science!

Источник

Оцените статью