Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menyelesaikan 'FileNotFoundError' Pygame Apabila Memuatkan Fail?

Bagaimana untuk Menyelesaikan 'FileNotFoundError' Pygame Apabila Memuatkan Fail?

Patricia Arquette
Lepaskan: 2024-12-18 09:46:11
asal
836 orang telah melayarinya

How to Solve Pygame's

Memuatkan Fail dalam Pygame: FileNotFoundError Resolution

Pygame ialah modul Python yang popular untuk mencipta permainan video. Satu ralat biasa yang dihadapi semasa menggunakan Pygame ialah "Tidak dapat membuka fail sumber, ralat pygame: "FileNotFoundError: Tiada fail atau direktori sedemikian."" Ralat ini berlaku apabila Pygame tidak dapat mencari fail sumber yang ditentukan.

Memahami Puncanya

Pygame mencari fail sumber berbanding dengan semasa direktori kerja. Apabila direktori kerja berbeza daripada direktori yang mengandungi fail Python, ralat berlaku. Menentukan laluan fail dalam kod secara salah juga boleh mencetuskan isu ini.

Penyelesaian 1: Tetapkan Direktori Kerja

Direktori kerja boleh ditukar menggunakan fungsi os.chdir . Coretan kod berikut menunjukkan pendekatan ini:

import os

os.chdir(os.path.dirname(os.path.abspath(__file__)))
Salin selepas log masuk

Kod ini menukar direktori kerja kepada direktori yang mengandungi fail Python, memastikan Pygame boleh mencari fail sumber.

Penyelesaian 2: Gunakan Laluan Fail Mutlak

Penyelesaian alternatif ialah mencipta fail mutlak laluan. Laluan mutlak menentukan laluan lengkap ke fail sumber daripada direktori akar. Kod berikut menggunakan modul pathlib untuk tujuan ini:

import pathlib

# ...

filepath = pathlib.Path(__file__).resolve().parent / 'test_bg.jpg'
surface = pygame.image.load(filepath)
Salin selepas log masuk

Dalam contoh ini, pathname.Path(__file__) mendapatkan semula laluan fail semasa. resolve().parent menavigasi ke direktori induk, dan join('test_bg.jpg') menambah nama fail sumber, mencipta laluan fail mutlak.

Penyelesaian 3: Ubah Suai Kod

Kod diubah suai berikut menunjukkan cara memuatkan fail sumber sambil menentukan relatif filepath:

import pygame

# ...

def DrawGameWin():
    window.blit(BG, (0, 0))

pygame.image.load('test_bg.jpg').convert() # Convert the image to match the display format
# ...
Salin selepas log masuk

Di sini, laluan fail relatif "test_bg.jpg" digunakan terus dalam fungsi pygame.image.load.

Dengan menggunakan salah satu penyelesaian yang dibentangkan, anda boleh menyelesaikan "FileNotFoundError" dan pastikan Pygame berjaya memuatkan fail sumber yang diperlukan untuk projek pembangunan permainan anda.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan