«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как исправить «FileNotFoundError» при загрузке ресурсов в Pygame?

Как исправить «FileNotFoundError» при загрузке ресурсов в Pygame?

Опубликовано 23 декабря 2024 г.
Просматривать:948

How to Fix

Загрузка ресурсов с помощью Pygame: устранение ошибки FileNotFoundError.

При попытке загрузить внешние ресурсы, такие как изображения или звуки, в Pygame, вы можете столкнуться с ошибка «FileNotFoundError: нет такого файла или каталога». Эта проблема обычно возникает из-за неправильных путей к файлам ресурсов, особенно если путь указан относительно текущего рабочего каталога.

Решение: установка рабочего каталога или создание абсолютного пути к файлу

Чтобы устранить эту ошибку, убедитесь, что в качестве рабочего каталога выбрано место, где находятся ваши файлы ресурсов. Этого можно добиться с помощью модуля os:

import os

os.chdir(os.path.dirname(os.path.abspath(__file__)))

В качестве альтернативы вы можете создать абсолютный путь к файлу, объединив путь к каталогу файла и имя файла:

filePath = os.path.join(sourceFileDir, 'test_bg.jpg')
surface = pygame.image.load(filePath)

Альтернативное решение с использованием pathlib

Модуль pathlib предлагает другой подход для установки рабочего каталога или создания абсолютных путей к файлам:

Настройка рабочего каталога:

import os, pathlib

os.chdir(pathlib.Path(__file__).resolve().parent)

Создание абсолютного пути к файлу:

import pathlib

filePath = pathlib.Path(__file__).resolve().parent / 'test_bg.jpg'
surface = pygame.image.load(filePath)
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3