1

我想知道为什么这是正确的:

for heading in soup.find_all("td", class_="paraheading"):
    key = " ".join(heading.text.split()).rstrip(":")
    if key in columns:
        print key
        next_td = heading.find_next_sibling("td", class_="bodytext")
        value = " ".join(next_td.text.split())
        print value
    if key == "Industry Categories":
        print key
        ic_next_td = heading.find_next_sibling("td", class_="bodytext")
        for value in ic_next_td.strings:
                print value

这不是:

for heading in soup.find_all("td", class_="paraheading"):
    key = " ".join(heading.text.split()).rstrip(":")
    if key in columns:
        print key
        next_td = heading.find_next_sibling("td", class_="bodytext")
        value = " ".join(next_td.text.split())
        print value
    if key == "Industry Categories":
        print key
        ic_next_td = heading.find_next_sibling("td", class_="bodytext")
        for value in ic_next_td.strings:
            print value

print value注意在第一个代码块中看似双缩进。

for value in ic_next_td.strings:一个缩进级别不会是该行的一个额外缩进级别吗?

谢谢

4

2 回答 2

11

您正在混合制表符和空格。不要这样做。

运行python -tt yourscript.py以检测任何不一致之处,但最重要的是,始终使用空格。

将您的编辑器配置为使用空格进行缩进,并将所有现有的制表符替换为空格。大多数代码编辑器都有这个功能。

于 2012-11-19T12:19:42.247 回答
3

打开在编辑器中显示制表符和空格字符 - 可能有错误

于 2012-11-19T12:24:29.667 回答