Python turtle库bgpic加载同目录GIF失败,带路径却正常的问题咨询
turtle.bgpic()仅用文件名加载失败的原因
问题的核心是Python的当前工作目录(CWD)和你的脚本所在目录不是同一个路径:
- 当你直接调用
bgpic("nindza.gif")时,turtle依赖的tkinter会在当前工作目录下查找图片文件,而非脚本存放的目录。如果当前工作目录里没有这张图,就会抛出找不到文件的错误。 - 你用
r"Nedelja6\nindza.gif"能成功加载,说明你的当前工作目录是Nedelja6文件夹的上级目录,而脚本本身存放在Nedelja6目录里——这个相对路径正好指向了脚本所在目录里的图片,所以能正常找到。
验证方法
在脚本开头添加以下代码,打印两个关键路径,就能直观看到差异:
import os print("当前工作目录:", os.getcwd()) print("脚本所在目录:", os.path.dirname(os.path.abspath(__file__)))
通用解决方法
不管在哪运行脚本,都用脚本所在目录拼接图片路径,确保能精准找到文件:
import os import turtle # 获取脚本所在的绝对目录 script_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接图片的完整路径 image_path = os.path.join(script_dir, "nindza.gif") turtle.bgpic(image_path)
内容的提问来源于stack exchange,提问作者dignus
相关产品推荐
相关产品推荐

