Python FileNotFoundError, даже если файл есть
Дерево каталогов моего проекта выглядит примерно так:
build
----fonts
--------Roboto Bold.ttf
----main.py
Следующие ошибки кода отсутствуют,
from pyglet import font
font.add_file("fonts\\Roboto Bold.ttf")
Также пробовал этот код ,
import os
from pyglet import font
font.add_file(str(os.getcwd())+"\\fonts\\Roboto Bold.ttf")
ошибка есть,
Traceback (most recent call last):
File "{full_dir_name}\build\main.py", line 25, in <module>
font.add_file(str(os.getcwd())+'\\fonts\\Roboto Bold.ttf')
File "C:\python-3.8.5-amd64\lib\site-packages\pyglet\font\__init__.py", line 183, in add_file
font = open(font, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: '{full_dir_name}\\fonts\\Roboto Bold.ttf'
Я пробовал примерно день, а также видел здесь другие сообщения, но не смог решить ...
Я сомневаюсь, что проблема не в моем коде, а в "pyglet". Мне срочно нужен совет .
Спасибо
1 ответ
Путь к файлу ресурса (изображение, шрифт, звук и т. д.) должен относиться к текущему рабочему каталогу. Рабочий каталог, возможно, отличается от каталога файла python.
Имя и путь к файлу можно получить__file__
. Текущий рабочий каталог можно получить с помощьюos.getcwd()
. Если файл находится в подпапке файла python (или даже в той же папке), вы можете получить каталог файла и присоединиться (os.path.join()
) относительный путь к файлу. например:
font.add_file(str(os.getcwd())+"\\fonts\\Roboto Bold.ttf")
font.add_file(os.path.join(os.path.dirname(os.path.abspath(__file__)), "fonts/Roboto Bold.ttf"))