Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membetulkan 'FileNotFoundError' Apabila Memuatkan Sumber dalam Pygame?

Bagaimana untuk Membetulkan 'FileNotFoundError' Apabila Memuatkan Sumber dalam Pygame?

Patricia Arquette
Patricia Arquetteasal
2024-12-17 10:05:21532semak imbas

How to Fix

Memuatkan Sumber dengan Pygame: Menangani "FileNotFoundError"

Apabila cuba memuatkan sumber luaran seperti imej atau bunyi dalam Pygame, anda mungkin menghadapi ralat "FileNotFoundError: Tiada fail atau direktori sedemikian". Isu ini biasanya timbul disebabkan oleh laluan fail sumber yang salah, terutamanya apabila laluan itu adalah relatif kepada direktori kerja semasa.

Penyelesaian: Menetapkan Direktori Kerja atau Mencipta Laluan Fail Mutlak

Untuk menyelesaikan ralat ini, pastikan direktori kerja ditetapkan ke lokasi di mana fail sumber anda berada. Ini boleh dicapai dengan modul os:

import os

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

Sebagai alternatif, anda boleh mencipta laluan fail mutlak dengan menggabungkan laluan direktori fail dan nama fail:

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

Alternatif Penyelesaian Menggunakan pathlib

Modul pathlib menawarkan pendekatan lain untuk menetapkan direktori kerja atau mencipta mutlak laluan fail:

Menetapkan Direktori Kerja:

import os, pathlib

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

Mencipta Laluan Fail Mutlak:

import pathlib

filePath = pathlib.Path(__file__).resolve().parent / 'test_bg.jpg'
surface = pygame.image.load(filePath)

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan 'FileNotFoundError' Apabila Memuatkan Sumber dalam Pygame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn