簡體   English   中英

為什么Turtle不能在Linux命令行中工作,而是來自IDLE?

[英]Why doesn't Turtle work in Linux command line, but from IDLE?

我參加了一個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的情況下,它會刪除你所觀察到的海龜屏幕。 要保持屏幕可見,您必須防止程序退出。 一種方法[1]是使用-i選項: python -i xyz.py 這意味着:“當到達程序結束時,切換到'交互模式'而不是退出”。 一個用途是通過檢查全局變量的值來進行調試。 另一種是與圖形屏幕交互。 無論是否,本書都應該告訴您在從控制台運行時使用-i

當您在IDLE中編輯xyz.py並運行它時,IDLE會模擬python -i xyz.py :運行xyz.py ,它會將其打開以進行內省或交互。


[1]防止退出的另一種方法是在程序結束時放置一個input()語句,但這可能不適用於GUI程序。

編輯:我測試了-i適用於TestDraw.py上的TestDraw.py和Python 3.5.0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM