BG = pygame.image.load('sprite / test_bg.jpg')pygame.error:无法打开sprite / test_bg.jpg

时间:2019-10-01 01:47:20

标签: python pygame

Import pygame

pygame.init

BG = pygame.image.load('_pycache_/test_bg.jpg')

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

pygame.display.update()


DrawGameWin()

1 个答案:

答案 0 :(得分:1)

首先,声明

  
pygame.init

不是初始化pygame。这不是对方法的调用,它什么也不做。缺少括号:

pygame.init()

图像文件路径必须相对于当前工作目录。工作目录可能与python文件的目录不同。

文件名和路径可以通过__file__获取。当前工作目录可以通过os.getcwd()获取,也可以通过os.chdir(path)进行更改。

一种解决方案是更改工作目录:

import os

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

另一种解决方案是找到绝对路径。 如果图像相对于python文件的文件夹(甚至在同一文件夹中),则可以获取文件目录并连接图像文件名。例如:

import pygame
import os

# get the directory of this file
sourceFileDir = os.path.dirname(os.path.abspath(__file__))

# [...]

imgPath = os.path.join(sourceFileDir, 'test_bg.jpg')
# imgPath = os.path.join(sourceFileDir, '_pycache_/test_bg.jpg')

BabyNarwhal = pygame.image.load().convert(imgPath)
BG = pygame.image.load(imgPath )