-2

我有一个非常烦人的问题,当我在一个文本编辑器或另一个文本编辑器中打开它们时,我不太明白我的 python 文件在哪些地方被破坏了(看起来被破坏了??)。空间消失,控制块也随之消失。显然,这与如何保存空白有关,但我不完全理解或不知道如何控制它。

我在最多三台计算机上使用多个编辑器编辑文件,主要是 kate、nano 和 vim。我以为我将它们全部设置为 tab=4 空格,并为 *.py 自动缩进,但显然它不是那样工作的。

我需要做些什么来确保我的文件在文本编辑器中的行为一致?非常感谢您对问题所在的一些解释以及对上述编辑的具体建议。

4

2 回答 2

3

使用空格,而不是制表符。与制表符不同,空格总是被解释为相同的宽度。PEP 8(python 样式指南)建议在 tabs 上使用空格Google Python styleguide 也是如此

因此,如果您始终只使用空格,您的代码将始终正确缩进。

您可以通过使用开关运行代码来检查您的 python 文件中是否存在不一致的选项卡使用情况-tt

python -tt yourscript.py

清除不一致后,使用 Unixexpand命令将制表符替换为空格:

expand -t 4 yourscript.y

where-t 4指示expand用 4 个空格替换制表符。

于 2013-01-23T19:28:48.467 回答
1

您的问题是您的一个或多个编辑器混合使用制表符和空格进行缩进。即使您将每个编辑器都设置为将制表符显示为 4 个空格,Python 也会将 2 个制表符字符的缩进与 1 个制表符和 4 个空格的缩进区别对待,尽管它们在您的编辑器中看起来相同。您需要将编辑器配置为插入固定数量的空格而不是制表符。然而,这与 Stack Overflow 无关。您需要在例如 superuser.com 上询问您的特定编辑。

于 2013-01-23T19:56:17.483 回答