IDLE混淆

嗨,我正在尝试使用空闲来开发我的第一个Python应用程序和我的头 受伤... 我有一个名为spalvi.py的文件: 从测试导入 * 第一步(" Mike") 和一个称为test.py的文件与此: def firstTest(名称): 打印"哟",名字 我用闲置打开spalvi.py并运行它. 它说"哟迈克". 我使用文件菜单打开test.py,然后将消息从" yo"更改为 "你好". 我再次运行... 我关闭所有内容,用闲置打开spalvi.py,然后再次运行. 它 说"嗨,迈克". 因此,我显然不会以"正确"方式使用空闲. 但是 *是 * "正确"的方式,当您尝试使用多个源文件开发时? 约翰

# 回答1

Mrbluesky写道: 您需要更深入地了解进口的作用以及发生的事情 当您再次导入时(更改库文件后). 每次尝试在闲置菜单[shell]"重新启动shell"(ctrl+f6)中尝试 更改了文件中的某些内容 - 此之前"重置"任何内容 进口,否则以相同的方式保持相同. 克劳迪奥
# 回答2

Claudio Grondi aécrit:您需要更深入地了解导入的工作以及再次导入时发生的事情(库文件更改后). 每次更改文件中的某些内容时,请尝试在"闲置"菜单[shell]"重新启动shell"(ctrl+f6)中 - 此"重置"以前导入的任何内容,否则以相同的方式保持相同. 克劳迪奥 尽管我已经修复了这个"错误" :)尝试使用其他东西 比您的代码编辑闲置. 例如,使用Scite. http://www.scintilla.org/scite.html
# 回答3

" Christophe" 在消息中写道 新闻:44 ********************************************************************** free.fr ... 尽管我已经修复了"错误" :) 在我的系统上,当前的2.4.3版本的python+空闲 *确实 *自动重新启动 每次运行(F5). 因此,要么OP使用了一个较旧的版本(DID 未指定)或受访者错误地诊断了该问题. tjr
# 回答4

这并不是一个闲置的问题,这是一个需要的python功能 被理解. 在Python中,一旦您导入一个模块,再次导入它是 被忽略. 在模块不变的假设下,这正常工作 在一次python会话中. 但是,当您开发一个 模块这不是真的,并且需要解决此机制的解决方法. 最安全的方法是开始新的Python会话. 在怠速解释器(" shell"窗口)中,您可以从shell中执行此操作 菜单. 从空闲编辑器窗口(Run-> Run模块)运行模块 还将重新启动口译员. 但是,请注意,这些仅在闲置时才起作用 对于口译员! 如果没有,则将不存在外壳菜单,并运行模块 不会重新启动口译员. 在Windows上,通过右键单击文件并选择'编辑来打开空闲 如果闲置'将导致它在没有子过程的情况下打开. 如果您更改模块并想在同一中使用较新版本 Python会话,使用内置的"重新加载"功能: Impo RT测试 重新加载(测试) 请注意,如果您使用"来自 import ...'语法,则需要 在可以之前导入模块本身(即导入) 重新加载. 我建议您谨慎使用它,因为之后可能会感到困惑 一些重新加载...
# 回答5

特里·里迪(Terry Reedy) 尽管我已经修复了"错误" :)在我的系统上,当前的2.4.3版本的Python+idle *确实在每次运行(F5)中自动重新启动. 因此,OP要么使用较旧的版本(未指定),要么被告错误地诊断了该问题. 我不久前就在看一些闲散的信息,我发现了一些东西 可能会通过近期闲置获得这些不同的行为 :如果空闲无法打开其RPC套接字,它将执行所有Python代码 它是自己的口译员. 实际上有一个选择.
# 回答6

克里斯托夫写道: 尽管我已经修复了"错误" :)在我的系统上,当前的2.4.3版本的Python+idle *确实在每次运行(F5)中自动重新启动. 因此,OP要么使用较旧的版本(未指定),要么被告错误地诊断了该问题. 不久前,我一直在看一些IDLEFORK信息,发现可能会以近期的空闲版本获得这些不同的行为:如果空闲无法打开它的RPC套接字,它将执行其自己的解释器中的所有Python代码. 实际上有一个选择. 选项(对于那些一起玩的人)是" -n" 所以: Windows:命令是:\ Python24 \ lib \ idlelib \ idle.pyw -n OS -X:命令为:Pythonw?/python24/lib/idlelib/idle.pyw -n linux及以下:python?/python24/lib/idlelib/idle.pyw-n (我认为这些不是 区分Python和Pythonw) 如果您通常遇到一些套接字对象问题,这很有用 由过度保守的防火墙设置引起,因为没有插座 分配进行沟通. 它对于尝试TKINTER也很有用,因为TKINTER 显示循环已经在运行,因此您可以看到您的效果 输入时,tkinter命令. - 斯科特·戴维·丹尼尔斯(Scott David Daniels)

标签: python

添加新评论