Доступ к файлам
Эти функции Python позволяют получить доступ к файлам ассетов, которые могут находиться в каталоге игры, в RPA-архивах или в виде ассетов Android.
- renpy.file(fn, encoding=None)
Псевдоним для
renpy.open_file()для совместимости со старыми версиями Ren'Py.
- renpy.list_files(common=False)
Перечисляет файлы в каталоге игры и в архивных файлах. Возвращает список файлов, где в качестве разделителя каталогов используется /.
- common
Если true, файлы из общего каталога (common) включаются в список.
- renpy.loadable(filename, directory=None, tl=True)
Возвращает True, если данный файл можно загрузить, то есть он может быть загружен с диска или из архива. В противном случае возвращает False.
- directory
Если не None, каталог для поиска, если файл не найден в каталоге игры. Этот путь будет добавлен в начало имени файла, и поиск будет повторён.
- tl
Если True, также будет учитываться подкаталог перевода.
- renpy.open_file(fn, encoding=None, directory=None)
Возвращает файлоподобный объект только для чтения, который предоставляет доступ к файлу с именем fn. Доступ к файлу осуществляется с помощью стандартного метода поиска Ren'Py, и файл может находиться в каталоге игры, в архиве RPA или как ресурс Android.
Объект поддерживает широкий набор полей и методов, аналогичных стандартному файловому объекту Python, открытому в двоичном режиме. (По сути, все методы, которые имеют смысл для файла, открытого только для чтения.)
- encoding
Если указан, файл открывается в текстовом режиме с заданной кодировкой. Если False, файл открывается в двоичном режиме. Если None (по умолчанию), кодировка берётся из
config.open_file_encoding. В большинстве случаев None открывает файл в двоичном режиме.- directory
Если не None, каталог для поиска, если файл не найден в каталоге игры. Этот путь будет добавлен в начало имени файла, и поиск будет повторён.
Возвращает объект io.BufferedReader, если encoding равен None, и объект io.TextIOWrapper, если encoding не равен None.
Редко используемые
Эти функции используются реже.
- renpy.exists(filename)
Возвращает true, если данный файл можно найти в путях поиска (searchpath). Работает, только если физический файл существует на диске. Не найдёт файл, если он находится внутри архива.
Вам почти наверняка следует использовать
renpy.loadable()вместо этой функции.
- renpy.fsdecode(s)
Преобразует s из кодировки файловой системы в unicode.
- renpy.fsencode(s, force=False)
Преобразует s из unicode в кодировку файловой системы.
- renpy.image_size(im)
Принимает манипулятор изображений, загружает его и возвращает кортеж (
width,height), содержащий его размер.Эта функция считывает изображение с диска и распаковывает его, не используя кэш изображений. Это может быть медленно.