gpt4 book ai didi

Python 缩进乏味

转载 作者:太空宇宙 更新时间:2023-11-03 12:34:30 25 4
gpt4 key购买 nike

我看到有类似的标题。但我的情况似乎有点奇怪。我以某种方式混合使用了 PyCharm 和 Vim(在 Vim 中我有 tabstop=4 和 shiftwidth=2),而且我的 Python 代码似乎无法修复,缩进方式。我第一次看到在 Vim 中所有东西都没有对齐,所以我重新对齐了所有东西;但是当我运行它时,我得到一个错误,有一个意外的缩进,即使在 Vim 中一切看起来都完美对齐。这是一个例子(这是它在 Vim 中的样子):

for f in files:
for line in f:
items = line.strip().split()
items = items[2:]
items = ' '.join(items).split(', ')

当我运行它时,我得到:

File "getEsSynonymLSAVectors.py", line 136
items = items[2:]
^
IndentationError: unexpected indent

我用了PythonTidy ,我使用了 reindent,我尝试了 :retab,我尝试了手动重新对齐 - 似乎没有什么可以解决这个问题。任何经验/建议将不胜感激。

最佳答案

默认情况下,Python 将一个制表符视为 8 个空格,如果缩进变得乏味,您通常会希望将制表符切换为空格(反之亦然,但我通常发现空格更容易处理)。因此,请务必将 vim 设置为将制表符显示为 8 个空格宽 (:set ts=8),以查看 python 看到的内容。

要修复 vim 中的制表符错误,我通常会执行以下操作,首先我需要能够看到制表符,因此我启用了高亮搜索 (:set hlsearch) 并搜索制表符 (/\t)。然后我盯着需要重新标记的区域。接下来,我尝试为文件找到正确的 vim 制表符宽度设置(:set ts=n 并改变 n 直到一切正常),启用扩展制表符(:set et),然后运行自动制表符修复 (:retab)。当所有其他方法都失败时,请手动重新制表。

如果您使用的是版本控制,请确保在更改之前与文件进行比较,并手动检查您是否因为缩进级别的无意更改而引入了错误。如果您不使用版本控制,请保留备份并对文件运行 diff。

关于Python 缩进乏味,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9718405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com