我正在使用this website学习python
我正在尝试像这样加载图像:
background_image = pygame.image.load("background.jpg").convert()
[我发现有其他几个帖子问同样的问题,所有答案都在告诉发布者,以确保图像与.py
文件位于同一文件夹中。好吧,是的。我仔细检查过。
我也尝试将其放入名为'images'
的子文件夹并使用它。
background_image = pygame.image.load(os.path.join("images","background.jpg")).convert()
在两种情况下,我都会收到以下错误消息。
pygame.error: Couldn't open saturn_family1.jpg
或
pygame.error: Couldn't open images\saturn_family1.jpg
使用绝对路径时,它可以工作。但是我不应该能够使用这样的相对路径吗?
[此外,使用script
程序包在Atom中执行时也会发生这种情况。但是当执行实际的python文件时,它可以工作。
我非常沮丧,这似乎没有任何意义!发生了什么事?
完整的错误消息是:
C:\Users\Manu\Dropbox\Python\ProgramArcadeGames
Traceback (most recent call last):
File "C:\Users\Manu\Dropbox\Python\ProgramArcadeGames\Ch11\11_graphicsAndSound.py", line 26, in <module>
background_image = pygame.image.load(os.path.join("images","saturn_family1.jpg")).convert()
pygame.error: Couldn't open images\saturn_family1.jpg
[Finished in 0.815s]
UPDATE:我在sublime中运行了完全相同的代码,并且效果很好。我假设这是Atom的问题,所以从现在开始我将只使用Sublime。感谢所有尝试提供帮助的人!
将文件放置在与python程序相同的目录中,只要它是当前工作目录即可。由于我们知道情况并非如此,因此要么在脚本执行时以某种方式更改工作目录,要么在其他目录中启动。您可以在命令行上使用
当我使用VS进行编码时发生了相同的错误。我通过更改图像的路径(在此使用绝对路径)来解决该问题。
仅使用图片的absolute