Python Pygame:os.path.join()已损坏

Python Pygame:os.path.join()已损坏,python,pygame,os.path,Python,Pygame,Os.path,在Mac OSX 10.8.4上更新SDL框架以修复Mac上的全屏问题后,我的图像不再加载。主要是看函数的顶部 def load_image(name, colorkey=None): fullname = os.path.join('images',name) try: image = pygame.image.load(fullname) # Tries loading image except pygame.error, message:

在Mac OSX 10.8.4上更新SDL框架以修复Mac上的全屏问题后,我的图像不再加载。主要是看函数的顶部

def load_image(name, colorkey=None):
    fullname = os.path.join('images',name)
    try:
        image = pygame.image.load(fullname)  # Tries loading image
    except pygame.error, message:            # If image load fails
        print "Cannot load image: ", fullname# return error to console
        raise SystemExit, message
    image = image.convert_alpha()            


    if colorkey is not None: 
        if colorkey is -1:
            colorkey = image.get_at((0,0))
        image.set_colorkey(colorkey, RLEACCEL)#new alpha value
    return image, image.get_rect()
这在更新之前起作用,但现在不再起作用。尝试四处搜索,甚至再次更新,但均无效。我也试过

fullname = os.path.join(os.sep, 'images',name)
…然后一个图像工作,然后第二个图像不工作。所有文件夹和图像名称都已检查三倍。我甚至改变了名字和文件夹仍然没有运气。还有其他想法吗


编辑:当我提到不加载图像时,我的意思是错误命令被激活。还通过运行os.getcwd检查了正确的目录。

是否检查了当前工作目录是否与您认为的相同?您所说的“不再加载”是什么意思?这里的代码应该打印一条错误消息——是什么?使用os.getcwd命令返回正确的工作目录。我发现如果图像与.py文件位于完全相同的目录中,则会加载它们。但是使用os.path.join将不允许它使用“images”目录。另外,“不再加载”我的意思是它出现了错误“无法加载图像”。谢谢你的意见!如上所述,将
fullname
的内容张贴在函数的第一行之后。很可能是您的路径不正确——可能是您以前从不同的文件夹运行脚本?您可以通过运行
os.path.dirname(os.path.abspath(\uu文件\uu))
来获取脚本的目录名。将它插入到您的
os.path.join
中,无论您的shell上下文如何,它都应该始终工作。fullname=os.path.join(os.path.dirname(os.path.abspath(“spriteattack2.py”),'images',name)我尝试了这个文件,但出现了错误,所以我只插入了它。它返回控制台。无法加载图像:/Users/Barker/Desktop/Game Tutorial/SpriteAttack/images/kid.jpg我检查了文件夹的名称。检查它是否在那里。此目录链接是正确的。很奇怪。我还按照你的建议在全屏后发布了路径,它给出了正确的路径。