Mac系统下pygame.font.Font()字体路径调用问题求助
解决Mac下Pygame调用字体文件的路径问题
你的问题其实是个常见的小坑——Python的文件路径处理不会自动解析波浪号~!Finder里用Command+Shift+G能打开是因为macOS系统帮你把~转换成了用户目录的绝对路径,但Pygame的pg.font.Font()方法可没这个本事,它只会把~当成路径里的普通字符,自然找不到文件。
给你几个靠谱的解决办法:
用
os.path.expanduser()解析波浪号
这是最稳妥的方式,Python标准库的os模块提供了专门处理用户目录路径的函数,帮你自动替换~:import pygame as pg import os # 先解析路径 font_path = os.path.expanduser("~/PycharmProjects/PyGame/Pacman/PAC-FONT.TTF") ARCADE_FONT = pg.font.Font(font_path, 15)直接使用绝对路径(懒人方案)
如果你不想写额外的代码,直接复制字体文件的完整绝对路径就行:在Finder里右键点击PAC-FONT.TTF,按住Option键,选择「复制为路径名称」,把复制的路径粘到代码里:ARCADE_FONT = pg.font.Font("/Users/你的用户名/PycharmProjects/PyGame/Pacman/PAC-FONT.TTF", 15)注意把「你的用户名」换成你实际的Mac用户名哦。
验证字体文件是否正常
如果上面两种方法都不行,那得排查是不是文件本身的问题:试试调用系统自带的字体测试,比如:ARCADE_FONT = pg.font.Font("/Library/Fonts/Arial.ttf", 15)如果这个能正常运行,说明你的
PAC-FONT.TTF可能损坏了,重新下载一份试试;如果连系统字体也报错,那大概率是Pygame安装有问题,卸载重装一下应该能解决。
内容的提问来源于stack exchange,提问作者Addison
相关产品推荐
相关产品推荐

