这种情况很烦人,尤其是从浏览器复制缩进是4个空格的代码粘贴到IDLE中,会和默认的制表符冲突。
通过configure IDLE 修改成xx个空格,也只不过是修改 单文件窗口中的缩进,交互式环境中还是保持着制表符。
可以打开Python的安装目录,找到 lib\idlelib\目录,找到 pyshell.py 文件。
先把这个文件给复制一遍,作为备份。
然后修改这个文件中的这三行
self.usetabs = True
# indentwidth must be 8 when using tabs. See note in EditorWindow:
self.indentwidth = 8
改成
self.usetabs = False
# indentwidth must be 8 when using tabs. See note in EditorWindow:
# VMMAÃ>@+>-+>>^>-@Ã!~^^^
# g)d!8^4%w@p$k u(n]z*&t+r[2^m
# ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
# ñûäóñîýìæíÿðÝáêüVMMA»°°²²²¯³³º¯º±¯·µ»·´±±¸éëÝíüõôðúôüâÞãýî
self.indentwidth = 4 # you decide, lot of people prefer 2
然后保存,重新打开Python的IDLE,就会发现缩进变成4个空格了。