python - 缩进错误? Python3x

标签 python python-3.x error-handling

<分区>

Python3 告诉我缩进有误。我已经尝试了大约一百万种不同的缩进,但我迷路了。不是直接指向错误,只是指向一个括号,让我自己想办法。

import os

for root, dirs, files in os.walk('C:\\Users\\Tom\\Desktop'):
    for file in files:
        if file.endswith('.txt'):
            f = open("test.txt", "r+")
            f.seek(0)
        for line in f:
            a = f.read()
            f.seek(0)
        for char in a:
            o = ord(char)
            f.write(str(o))
            f.truncate()

抱歉,我忘了包含错误消息。

File "C:\Users\Tom\Desktop\Search.py", line 6
    f = open("test.txt", "r+")
                             ^
TabError: inconsistent use of tabs and spaces in indentation

最佳答案

我将您问题中的文本加载到文本编辑器 (vim) 中并显示了不可见的字符,从而呈现了这个。

enter image description here

这里空格显示为空格,制表符显示为^I。如您所见,第二个 for 和第一个 if 行用空格缩进,文件的其余部分用制表符缩进。

一般来说,这在 Python 中造成了真正的困惑,其中缩进在语法上对程序结构很重要。

特别是在 Python 3 中,混用制表符和空格作为缩进是一个致命的编译错误。这就是您遇到的情况 (TabError)。

参见 PEP-8 ,建议只使用空格,不要使用制表符,并使用 4 个空格缩进。

关于python - 缩进错误? Python3x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41526382/

相关文章:

python - 将文件复制到另一个文件夹时缺少文件

python - 在Django中上传文件名

swift - 嵌套 do catch swift 3.0

Python:如果列表中不存在文件则创建文件

python - 导入模块并使用其方法

python - 在字符串列表中提取和连接标题

python - 方法参数改变结果。如何?

perl - Perl 中处理异常的最佳方法是什么?

python - 如何用折痕,褶皱和皱纹来放大扫描的文档图像?

python - Python 中的 HTML 标签云