Python IDLE 不接受引号

1 投票
2 回答
4732 浏览
提问于 2025-04-16 16:28

免责声明:我还是个新手。

我在我的OSX 10.6上安装了Python 3.2和ActiveTcl 8.5.9.2,安装过程中没有出现任何错误,我已经成功通过终端运行了一个.PY文件,运行得还不错。

我打开了IDLE,里面没有显示任何错误。但是每当我按下引号键(')时,什么也没有发生。按下[shift]键后(")也是一样。这个字符就是不出现。‘反引号’/波浪号键也是如此,无论按不按[shift]。

我使用的是美国国际键盘布局。

我尝试打开了键盘查看器。单引号和‘反引号’这两个键都是橙色的。(我之前从来没有注意到这一点。)在其他应用程序中,点击这两个键时,都会输入对应的字符,但在Python IDLE中却没有反应。

有没有人知道这可能是什么原因呢?

补充信息:在交互模式下运行Python解释器(从终端运行)时,这两个键都能正常工作。而且,如果我尝试将键盘布局改为普通的“美国”布局,IDLE也能识别这些键;但这感觉更像是个变通方法,我想听听你们的看法。

2 个回答

0

把键盘设置改成“普通美国”并不是一个临时解决办法,而是对你来说真正的解决方案,除非你有特别的理由想继续使用美国国际布局。这里有一些关于美国国际布局的指导信息

3

IDLE使用的是Python标准库中的来提供图形用户界面(GUI)功能。Tkinter是一个可以在多个平台上使用的图形界面接口,它是的一部分,而又是的一部分。不过,遗憾的是,OS X上的Aqua目前不支持所有标准的文本处理功能。

这个问题似乎是Cocoa Aqua Tk中一个已知错误的变种。在普通的美国苹果键盘上,你可以通过按option U + <元音字母>来输入变音符号(比如ä)。而在美国国际键盘上,似乎是用'这个键来代替缺失的option u。在最新的ActiveState Tk 8.5版本中(包括你安装的版本)有一个补丁,可以防止在这种情况下Tk崩溃。你可以通过启动Mac OS X 10.6自带的IDLE 2.6(/usr/bin/idle2.6)来看看以前是怎么“工作的”。在那里尝试输入'(使用国际键盘设置)或者option U(使用美国键盘设置)!补丁版本会简单地忽略这个情况,而不是崩溃。

你最好的选择是使用US或者US Extended键盘输入法。

撰写回答