IDLE 不允许您搜索文字制表符。您可以将一个粘贴到搜索框中(按照 will 的建议),但它永远不会匹配任何内容。
但是,它确实允许您进行正则表达式搜索,并且正则表达式\t
将匹配文字选项卡。因此,打开Regular expression
复选框,并\t
在Find:
框中输入 ',并在框中输入 4 或 8 个空格(视情况而定)Replace:
。
但是,正如将建议的那样,最好使用 IDLE 的功能而不是尝试手动执行操作:选择带有标签(或不一致)缩进的代码块,转到Format
菜单,然后选择Untabify Region
. (或者直接按 control-6。)如果使用 4 空格制表符的编辑器插入制表符,您可能需要先使用New Indent Width
并将其更改为 4,然后Untabify Region
.
当您编写不一致的代码时,IDLE 没有任何代码来猜测您的标签大小。我知道的唯一编辑器是emacs。如果你只是在 emacs 中打开文件,它会尝试猜测你的设置,然后你可以选择整个缓冲区和untabify-region
. 如果它猜对了,你就是金子;如果它猜错了,不要保存缓冲区,因为现在它会更难修复。(如果您是世界上知道如何阅读 emacs lisp 但不喜欢 emacs 的 3 个人之一,您可以查看python-mode.el
源代码,看看它是如何发挥作用的。)