当前位置: 首页 > 面试题库 >

无法在Atom中使用PyGame打开图像

秦英发
2023-03-14
问题内容

7个月前关闭。

我正在使用该网站学习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]

这是.py目录:

更新:
我在sublime中运行了完全相同的代码,并且运行良好。我假设这是Atom的问题,所以从现在开始我将只使用Sublime。感谢所有尝试提供帮助的人!


问题答案:

只要是当前工作目录,就可以将文件与python程序放在同一目录中。由于我们知道情况并非如此,因此要么在执行脚本时以某种方式更改工作目录,要么在其他目录中启动。您可以在命令行上使用

python ../myscript.py

但我不认为您正在这样做。您说了一些有关在Atom下运行脚本的信息,这也许可以解释它。我对此没有任何经验,所以我不能随便说。请把

print os.getcwd()

作为程序的第一行。然后,您将知道从哪里开始以及当前目录是否正在更改。如果没有更改,请尝试在Atom下并从命令行运行脚本,以查看是否获得不同的结果。除非我们确切地知道发生了什么,否则我们将无法解决问题。



 类似资料:
  • 当我试图从Intellij中打开JavaFx scenebuilder中的fxml文件时,它给出了以下错误:无法打开“示例”。fxml“打开”操作失败。确保所选文件是有效的FXML文档。请参阅下面的图片以查看错误的foto。

  • 问题内容: 使用Python 2.5.2和Linux Debian,我试图从包含西班牙字符的西班牙URL中获取内容: 我收到此错误: UnicodeEncodeError:’ascii’编解码器无法在位置8编码字符u’\ xe1’:序数不在范围内(128) 我已经尝试过在将URL传递给urllib之前使用: 和这个: 但是他们没有用。 你能告诉我我做错了什么吗? 问题答案: 根据适用的标准RFC

  • 问题内容: 在执行其他操作时,opencv可以正常工作。它可以打开图像并显示图像。但无法打开视频。 我用来打开视频的代码如下 但是执行时,它会输出如下错误消息 我和可以播放此视频,但opencv无法播放。 我已经安装和编解码器包。(使用) 我的ubuntu版本是。 我不确定是否是编解码器问题? 我已经使用或重建了opencv ,但它根本不影响问题。错误消息永远不会改变。 问题答案: 我将该文件转换

  • 我在华硕的Windows 10上。我正在使用python 3.8。我在另一台计算机上成功安装了pygame(联想瑜伽,相同的操作系统)并且工作正常。然后我尝试使用 pip 在这台计算机(华硕)上安装相同的软件包,并且工作得很好。问题是当我尝试在 中导入 时,模块似乎没有退出 在python控制台上导入或使用默认IDLE可以正常工作。我还尝试从Pycharm导入包,既使用快速修复程序,又转到文件 安

  • 问题内容: 我正在尝试为将要用于游戏的地图做基础,但无法将图像加载到屏幕上。我尝试使用相同的字母大小写将图像的绝对文件路径发送到图像,尝试更改图像的名称,尝试加载在我制作的其他程序中可以使用的其他图像,并且尝试放置图像与脚本本身位于同一目录中。什么都没有。我查看了遇到相同问题的人的一些话题,例如为什么我的pygame图片无法加载?而且我找不到我的问题的答案。图像将不会加载。这是代码: 和错误: 我

  • 问题内容: 嗨,我对angularjs和chrome有问题,这是代码: 如果我用Opera,Firefox或safary打开index.html,则没有任何问题,但如果我用Chorme打开,则不能运行routerprovider,并在控制台中显示如下错误消息: XMLHttpRequest无法加载file://localhost/Users/multivideo/Desktop/FTL- Angu