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:インデント レベルは、この行から 1 つ追加のインデント レベルになるのではないでしょうか?

ありがとう

4

2 に答える 2

11

タブとスペースが混在しています。これをしないでください。

python -tt yourscript.py矛盾を検出するために実行しますが、何よりも全体を通してスペースのみを使用してください。

インデントにスペースを使用するようにエディターを構成し、既存のすべてのタブをスペースに置き換えます。ほとんどのコード エディターには、そのための機能があります。

于 2012-11-19T12:19:42.247 に答える
3

エディターでタブとスペースの文字を表示するようにします-エラーが発生する可能性があります

于 2012-11-19T12:24:29.667 に答える