Python Can';t在pygame中加载图像

Python Can';t在pygame中加载图像,python,pygame,Python,Pygame,我正在尝试使用pygame.image.load()函数加载.png图像。我试图加载的映像与我正在运行的程序文件位于同一相对目录中。我遵循了我以前使用过的和在教程中找到的相同语法,但它仍然不起作用 代码: 文件目录(尚未嵌入图像,因此这里有一个链接): 错误消息: pygame 1.9.6 Hello from the pygame community. https://www.pygame.org/contribute.html Traceback (most recent call las

我正在尝试使用pygame.image.load()函数加载.png图像。我试图加载的映像与我正在运行的程序文件位于同一相对目录中。我遵循了我以前使用过的和在教程中找到的相同语法,但它仍然不起作用

代码:

文件目录(尚未嵌入图像,因此这里有一个链接):

错误消息:

pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
  File "c:/Users/dougl/OneDrive/Skolgrejer/Programmering/Program/TestFolder/TestFile.py", line 3, in <module>
    image = pygame.image.load("ImageFolder/TestImage.png")
pygame.error: Couldn't open ImageFolder/TestImage.png
PS C:\Users\dougl\OneDrive\Skolgrejer\Programmering\Program> 
pygame 1.9.6
大家好,来自pygame社区。https://www.pygame.org/contribute.html
回溯(最近一次呼叫最后一次):
文件“c:/Users/dougl/OneDrive/Skolgrejer/Programmering/Program/TestFolder/TestFile.py”,第3行,在
image=pygame.image.load(“ImageFolder/TestImage.png”)
pygame.error:无法打开ImageFolder/TestImage.png
PS C:\Users\dougl\OneDrive\Skolgrejer\Programmering\Program>

使用:Python 3.7.4 32位,pygame 1.9.6

很可能您的程序没有在
ImageFolder
所在的目录中执行

这很容易检查:

import os.path

dir_path = os.path.dirname( os.path.realpath( __file__ ) )
print( "Current dir is [%s]" % dir_path )
您还可以使用
os.chdir()
确保代码在加载开始之前在正确的位置运行:

import os

INSTALL_DIR = "c:/Users/dougl/OneDrive/Skolgrejer/Programmering/Program/TestFolder/"

os.chdir( INSTALL_DIR )
。。。也许还可以检查您的目录是否在您认为的位置,并优雅地处理它:

import os.path

IMAGE_DIR = 'ImageFolder'

if ( not os.path.isdir( IMAGE_DIR ) ):
    # TODO: handle error
    pass

很可能您的程序没有在
ImageFolder
所在的目录中执行

这很容易检查:

import os.path

dir_path = os.path.dirname( os.path.realpath( __file__ ) )
print( "Current dir is [%s]" % dir_path )
您还可以使用
os.chdir()
确保代码在加载开始之前在正确的位置运行:

import os

INSTALL_DIR = "c:/Users/dougl/OneDrive/Skolgrejer/Programmering/Program/TestFolder/"

os.chdir( INSTALL_DIR )
。。。也许还可以检查您的目录是否在您认为的位置,并优雅地处理它:

import os.path

IMAGE_DIR = 'ImageFolder'

if ( not os.path.isdir( IMAGE_DIR ) ):
    # TODO: handle error
    pass

试试
TestFolder/ImageFolder/TestImage.png
。如果您使用的是IDE,那么您的程序可能从另一个路径启动。您的项目似乎是从“C:\Users\dougl\OneDrive\Skolgrejer\Programmering\Program”开始的,请尝试
TestFolder/ImageFolder/TestImage.png
。如果您使用的是IDE,那么您的程序可能从另一个路径启动。似乎您的项目是从“C:\Users\dougl\OneDrive\Skolgrejer\Programmering\Program”开始的,以这种方式使用整个目录的结果是可行的,但我仍在寻找一种解决方案,使用相对目录来启动文件,以便我可以将其导出给其他用户。@TehDogge-是,但是现在您正在使用某种IDE,比如PyCharm、VSC等。一旦打包好,可执行文件将在正确的位置启动。因此,在执行
os.chdir()
之前,您应该首先检查
ImageFolder
是否不可用,因为这可能只是从IDE运行时出现的问题。以这种方式使用整个目录是可行的,但我仍在寻找使用相对目录来启动文件的解决方案,所以我可以将其导出给其他用户。@tehdoge-是的,但现在您正在使用某种IDE,如PyCharm、VSC等。一旦打包,可执行文件将在正确的位置启动。因此,在执行
os.chdir()
之前,应该首先检查
ImageFolder
是否不可用,因为这可能只是从IDE运行时出现的问题。