如何将乌龟设置为图像

时间:2017-06-21 15:04:45

标签: image python-3.x turtle-graphics

我正在尝试将我的图像设置为文件,但是当我运行它时,我得到了

  

Tkinter回调中的异常回溯(最近一次调用最后一次):
  文件   " C:\用户\ Travi \应用程序数据\本地\程序\的Python \ Python36-32 \ lib中\ tkinter__init __ PY&#34 ;,。   第1699行,致电       return self.func(* args)File" C:\ Users \ Travi \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ turtle.py",   第686行,在eventfun中       fun()文件" C:\ Users \ Travi \ AppData \ Local \ Programs \ Python \ Python36-32 \ RPG.py",   第20行,在上面       combat()文件" C:\ Users \ Travi \ AppData \ Local \ Programs \ Python \ Python36-32 \ RPG.py",   第57行,在战斗中       enemy.shape(image)文件" C:\ Users \ Travi \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ turtle.py",   第2777行,形状       self.turtle._setshape(name)File" C:\ Users \ Travi \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ turtle.py",   第2506行,在_setshape中       self._item = screen._createimage(screen._shapes [" blank"] ._ data)文件   " C:\用户\ Travi \应用程序数据\本地\程序\的Python \ Python36-32 \ lib中\ turtle.py&#34 ;,   第723行,在_createimage中       返回self.cv.create_image(0,0,image = image)文件"",第1行,在create_image文件中   " C:\用户\ Travi \应用程序数据\本地\程序\的Python \ Python36-32 \ lib中\ tkinter__init __ PY&#34 ;,。   第2483行,在create_image中       return self._create(' image',args,kw)File" C:\ Users \ Travi \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ tkinter__init __。py" ,   第2474行,在_create中       *(args + self._options(cnf,kw))))   _tkinter.TclError:image" pyimage1"不存在

当我的文件名清楚地明确说明它在我的电脑上的位置时。

代码

import os
from turtle import Turtle,Screen
print(os.getcwd())
os.chdir('C:\\Users\\Travi\\Downloads')
screen.register_shape("Crawfish_attack.gif")
turtle = Turtle()
turtle.setimage("Crawfish_attack.gif")
提前谢谢 BTW链接是here 其余的代码都可以工作,不需要显示

1 个答案:

答案 0 :(得分:0)

"\\Crawfish_attack"参数中删除os.chdir()。您需要路径到它所在的文件夹,而不是文件。这就是register_shape函数将执行的操作是拉取该文件夹中的确切文件。

您收到错误是因为您试图寻找不存在的东西(它正在寻找文件夹)。

import os
from turtle import Turtle,Screen
print(os.getcwd())
os.chdir('C:\\Users\\Travi\\Downloads')
screen.register_shape("Crawfish_attack.gif")