Что такое формат файла PY?
.py - это расширение файла, используемое для файлов скриптов, написанных на языке программирования Python. Файл .py содержит исходный код, написанный на Python и хранящийся по умолчанию в виде обычного текста в кодировке UTF-8, поэтому его можно читать и изменять без каких-либо специальных инструментов.
Универсальность файлов .py
Формат .py имеет множество применений и чрезвычайно популярен благодаря широко используемому интерпретатору Python и его огромной экосистеме библиотек. Этот формат поддерживается во многих операционных системах, включая Windows, macOS и Unix/Linux. Сфера применения Python теперь простирается от веб-разработки и анализа данных до машинного обучения и автоматизации, что делает файлы .py присутствующими практически во всех областях современной разработки программного обеспечения.
Управление файлами .py
Просмотр, открытие и редактирование файлов .py возможны с помощью любого текстового редактора. Однако для запуска скрипта .py требуется установленный в системе интерпретатор Python - стандартными командами являются python script.py или python3 script.py. Файлы скриптов .py обычно используются для системного администрирования, автоматизации задач и обработки данных. Когда Python импортирует модуль, он может создать скомпилированный кэш .pyc рядом с исходным кодом. Связанные варианты включают .pyw (скрипты Windows GUI без окна консоли) и файлы заглушек .pyi, используемые для подсказок типов.
Безопасность и защита
РИСК: HIGHФайл .py - это программа; его запуск выполняет любой содержащийся в нем код с вашими правами пользователя. НИКОГДА не запускайте скрипт Python из ненадежного источника, не прочитав его предварительно; вредоносные скрипты могут удалять файлы, устанавливать вредоносное ПО или красть данные, а Python является распространенным языком для доставки зловредов. Простое ОТКРЫТИЕ .py в текстовом редакторе безопасно (это всего лишь текст). Будьте осторожны с «pip install» неизвестных пакетов, которые требуются скрипту - тайпсквоттинг пакетов PyPI является реальным вектором атаки. Если сомневаетесь, прочитайте исходный код; .py по своей природе человекочитаем.
Детали формата
в двух словахПрограммы, открывающие файлы PY
Технические подробности
глубокая спецификация| Тип файла | Исходный код Python в текстовом формате |
| MIME-тип | text/x-python |
| Кодировка по умолчанию | UTF-8 (PEP 3120); переопределяется объявлением `# -*- coding: <name> -*-` в строке 1 или 2 |
| Поддержка Shebang | В скриптах Unix/Linux в первой строке ставится `#!/usr/bin/env python3`, что позволяет выполнять их напрямую без явного вызова интерпретатора |
| Синтаксис отступов | Значимые пробелы - отступы являются частью грамматики; PEP 8 рекомендует 4 пробела на уровень |
| Точка входа модуля | Конструкция `if __name__ == "__main__":` отделяет импортируемый код от кода, который запускается только при прямом выполнении файла |
| Скомпилированный кэш | CPython компилирует исходный код `.py` в байт-код `.pyc` и сохраняет его в `__pycache__/` для ускорения последующих импортов |
| Поддержка подсказок типов | Необязательные встроенные аннотации согласно PEP 484 (Python 3.5+); отдельные определения заглушек живут в файлах `.pyi` |
| Синтаксис комментариев | `#` вводит однострочный комментарий; строки в тройных кавычках (`"""..."""`) служат строками документации (docstrings) для модулей, классов и функций |
| Среды выполнения | CPython (эталонная реализация), PyPy, Jython, MicroPython, GraalPy |
| Окончания строк | LF предпочтителен на всех платформах; CRLF принимается в Windows |
| Система импорта | `import` и `from ... import` загружают модули; каталог, содержащий `__init__.py`, рассматривается как пакет |
| Магические байты | Отсутствуют - `.py` является текстовым файлом без бинарной сигнатуры; идентифицируется по содержимому (shebang, ключевые слова `import`/`def`/`class` или структура отступов) |
| Выпущен | 1991 (Python 0.9.0); language steward: Python Software Foundation since 2001 |
| Открыть стандартное | Да · без роялти |
| Спецификация | docs.python.org |
Конвертации PY
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах PY.