- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我看到有类似的标题。但我的情况似乎有点奇怪。我以某种方式混合使用了 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/
我对单调/webpack/node/electron有疑问吗?我不知道。 重现步骤: git clone https://github.com/codesbiome/electron-react-we
js 并使用繁琐的方式进行连接。连接成功,我可以连接。但是在一段时间内我会失去连接并在 Azure 中收到这些错误。 RequestError: Requests can only be made i
我正在使用带有 Core.Std 模块的 ocaml utop。 要查看模块的帮助,我必须遵循别名链接,如下所示: utop # #show_module Array;; module Array =
我最初在几个月前就 ZF2 在 Beta 1 期间使用 DI 注入(inject)表提出了另一个话题,当时我认为这实际上是不可能的。现在 ZF2 已经发布为 2.0.0 版,并且默认使用 Servic
在尝试使用 MSSQL 注入(inject)准备好的语句时(乏味) - 一旦我尝试执行请求,我就会收到以下错误: Database connection failed: Requests can on
我已经找到了这个问题的答案,只想记录我的发现。 当使用 的最新版本时NW.js (和 Node.js ),我遇到了 的问题 Node -mssql /繁琐模块。即使是像连接到 这样简单的任务SQL 服
我是一名优秀的程序员,十分优秀!