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

pygame.error仅在命令提示符下“无法打开image.png”

邹正阳
2023-03-14
问题内容

我有一个非常简单的python程序,用于学习pygame,此外,我还使用图像。

当我使用PyCharm运行该程序时,或者当我双击该文件运行该程序时,它运行良好。但是,如果尝试通过命令提示符运行它,则会收到以下错误:

C:\Users\julix>C:\Users\julix\Documents\test\pygame_tutorial.py
pygame 1.9.4
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
  File "C:\Users\julix\Documents\test\pygame_tutorial.py", line 21, in <module>
    carImg = pygame.image.load("racecar.png")
pygame.error: Couldn't open racecar.png

这是我的代码中所引用的行:

carImg = pygame.image.load("racecar.png")

图像“ racecar.png”位于与程序完全相同的目录中。令人困惑的是,我的代码似乎很好,因为通过双击运行它时没有错误。

必要时可以发布完整代码。提前致谢


问题答案:

文件与程序位于同一目录这一事实并不重要。如果您不提供路径,程序将在工作目录中查找文件,该文件可能是一个完全不同的文件。

如果要使用特定目录,请将路径添加到文件名。一种灵活的方法是确定当前文件的路径并使用它。Python有一种方法可以做到这一点os.path.dirname

import os.path
print(os.path.dirname(__file__))

在这种情况下,它将导致以下代码:

import os.path
filepath = os.path.dirname(__file__)
carImg = pygame.image.load(os.path.join(filepath, "racecar.png"))

这是一个使用精彩的替代实现pathlib

import pathlib
filepath = pathlib.Path(__file__).parent
carImg = pygame.image.load(filepath / "racecar.png")


 类似资料:
  • 问题内容: 我正在尝试将图像加载到pygame的窗口中,但是当我运行代码时。弹出错误 pygame.error:无法打开backround.png 我将图像与代码本身放在同一文件夹中。我为另一个脚本完成了此操作,它工作得很好。我不确定是什么问题。 我尝试关闭程序。重命名文件,仅此而已。不确定如何解决该问题。任何帮助深表感谢 就像我说的那样:我使用类似的布局来加载带有另一个文件的图像,它工作得很好,

  • 我想通过双击一个Jar文件来运行它。 下面是其中唯一的Java类文件。 并且清单文件已经定义了Main-Class。

  • 问题内容: 我在命令行中键入,但是命令提示符说python不被识别为内部或外部命令,可操作程序或批处理文件。我该怎么办? 注意:我已经在计算机上安装了Python 2.7和Python 3.2。 问题答案: 终于成功了!!! 我需要做一些事情才能使其正常工作 将C:\ Python27 \添加到PATH系统变量的末尾 将C:\ Python27 \添加到PYTHONPATH系统变量的末尾 我必须将

  • 我在命令行中键入,但命令提示符显示python不能被识别为内部或外部命令、可操作程序或批处理文件。我该怎么办? 注意:我已经在我的计算机上安装了Python2.7和Python3.2。

  • 我试图用命令提示符用java编译一个程序。我的程序在eclipse中运行良好,但是,当我试图在命令提示符中编译它时,我收到了一条错误消息。任何帮助和指导都将不胜感激。 triton.java:20:错误:不能dind符号循环Loop=new Loop(); 符号:类循环位置:类Triton trion.java:20:错误:找不到符号循环循环=新循环();sybmol:类循环位置:类Triton

  • 有没有办法从windows中的命令行启动Microsoft Visual Studio Code?我甚至似乎在我的计算机上找不到代码目录。它甚至没有问我在哪里下载它。