我当时在Python小组会议上.在安装了Linux的便携式计算机上,我使用常规命令通过终端执行以下代码(摘自《教孩子的Python》一书):
import turtle
t = turtle.Pen()
t.speed(0)
turtle.onscreenclick(t.setpos)
Python3.4 TurtleDraw.py
它应该会弹出一个可以使用鼠标光标输入的窗口.而是,窗口出现并立即消失.另一个人在其MacBook上尝试了类似的操作,但结果相同.但是,他通过一个IDLE版本运行了相同的代码,并且确实按预期工作.
IDLE中是否有某些东西可以自动与该Turtle窗口集成在一起?我认为如果要通过Unix命令行正常运行环境变量,可能需要设置环境变量?
解决方法:
在命令行python xyz.py中,告诉Python执行该程序,完成后退出并清理.就您的turtledraw.py而言,它会删除乌龟屏幕,如您所观察.要使屏幕可见,必须使程序退出.一种方法是使用-i选项来执行此操作[1]:python -ixyz.py.这意味着:“到达程序末尾时,请切换到“交互模式”而不是退出”.一种用途是通过检查全局变量的值进行调试.另一个是与图形屏幕进行交互.不管是不是,本书都应该告诉您从控制台运行时使用-i.
当您在IDLE中编辑xyz.py并运行它时,IDLE会模拟python -i xyz.py:运行xyz.py之后,它会为自省或交互开放.
[1]有时可以防止退出的另一种方法是在程序的末尾放置一个input()语句,但这可能不适用于GUI程序.
编辑:我测试了-i在带有Python 3.5.0的Win10上适用于TestDraw.py.
标签:turtle-graphics,python-idle,linux,python
来源: https://codeday.me/bug/20191027/1945961.html