python 3.3 : Unable to load an image using Pygame if game folder is not in C drive

标签 python windows image python-3.x pygame

有没有一种方法可以使用“pygame.image.load”在 Pygame 中传递参数,而源文件夹不必位于 C 驱动器中,或者脚本和图像必须位于 C 驱动器中?

我已经尝试了很多不同的事情,并且花了这个周末的大部分时间来弄清楚。我搜索了其他 stackoverflow 问答,但一无所获。

我试过用“os.path.join”、“os.path.normpath”之类的,还是没弄明白。

代码如下:

import os, pygame
load_image = pygame.image.load(os.path.join('\\test', 'energy.png'))

只要“test”文件夹位于 C:\,它就可以正常工作,但是一旦我将它移动到任何其他位置,我就会得到 ol'pygame.error: Couldn't open\test\energy .png 错误。

基本上我要问的是:有没有办法让 Pygame 脚本(特别是 pygame.image.load 代码)在没有文件夹、脚本和图像都位于 C:\的情况下工作?

最后我想为我正在开发的游戏制作一个 cx_freeze 应用程序,我希望用户能够将文件夹放在他想要的任何位置。

我在 Windows 7 笔记本电脑上使用 Python 3.3。谢谢。

最佳答案

假设你的 python 脚本在

f:/bar/game.py

你有energy.png

f:/bar/images/energy.png

game.py 然后会使用

path = os.path.join("images", "energy.png")
energy = pygame.image.load(path)

关于 python 3.3 : Unable to load an image using Pygame if game folder is not in C drive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19626343/

相关文章:

python - WIndows:创建新控制台窗口的子进程,丢失标准输入/输出

javascript - 纯Javascript super 简单的幻灯片图像数量计数器?

c - scanf_s 读取字符我做错了什么?

python - 将二维列表写入JSON文件

python - Python 2.7 与 3.6 中 struct.unpack 的行为差异

python - 用空值替换数据框子集的空格

c# - 在 C# 中重写面板的控件属性

html - 图像的CSS停止工作

javascript - 如何防止 img src 无效,如果无效则保留以前的图像

python - 在 Flask 模板中显示 MQTT 数据