Python Glossary English

Python 3.8+ioфункция

io.open_code

служебные

Открывает файл для чтения как исполняемый код с учётом аудит-хуков безопасности; предпочтительнее open() для загрузки кода (Python 3.8+).

Синтаксис

io.open_code(path)

Это всегда бинарное чтение: режим 'rb', параметров encoding и newline нет, а путь ожидается абсолютной строкой. Сама функция ничего не проверяет и безопасности не добавляет — ценность в единой точке перехвата: приложение или встраивающая среда может подменить её реализацию (или повесить аудит-хук) и, например, отказаться отдавать неподписанный файл. Через неё же импорт-механизм читает то, что собирается выполнить.

Примеры

import io
import json
print(callable(io.open_code))   # → True
with io.open_code(json.__file__) as f: print(f.mode, type(f).__name__)   # → rb BufferedReader
print(io.open_code('no_such_file.py'))   # → FileNotFoundError
print(io.open_code('script.py', 'w'))   # → TypeError

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности