为什么Turtle不能在Linux命令行中工作,而是在空闲状态下工作?

2024-10-02 18:18:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我参加了一个Python小组会议。在安装了Linux的笔记本电脑上,我用通常的命令通过终端执行了以下代码(摘自《教孩子们Python》一书):

import turtle
t = turtle.Pen()
t.speed(0)
turtle.onscreenclick(t.setpos)

Python3.4 TurtleDraw.py

它应该打开一个窗口,可以输入鼠标光标。相反,窗口会立即出现并消失。另一个人在他的MacBook上做了同样的实验,结果也一样。但是,他在IDLE的一个版本中运行了相同的代码,并且它确实按预期工作。在

有没有什么闲置的东西能自动与乌龟窗集成?如果我想通过一个Unix命令行来运行它,环境变量可能需要设置?在


Tags: 代码pyimport命令终端linux孩子笔记本电脑
1条回答
网友
1楼 · 发布于 2024-10-02 18:18:35

在命令行python xyz.py,告诉Python执行程序,完成后,退出并清理。在您的turtledraw.py中,它删除了海龟屏幕,如您所观察到的。要保持屏幕可见,必须阻止程序退出。一种方法是使用-i选项:python -i xyz.py。这意味着:“当程序结束时,切换到‘交互模式’,而不是退出”。它的一个用途是通过检查全局变量的值来进行调试。另一种是与图形屏幕交互。不管是否正确,书中的都应该告诉您在从控制台运行时使用-i。在

当您在IDLE中编辑xyz.py并运行它时,IDLE模拟python -i xyz.py:在运行xyz.py之后,它会让它保持打开以便进行内省或交互。在


[1]另一种防止退出的方法是在程序末尾放一条input()语句,但这可能不适用于GUI程序。在

编辑:我测试了使用python3.5.0的Win10上的-i适用于TestDraw.py。在

相关问题 更多 >