ホームページ  >  に質問  >  本文

Python - この時点でプログラムの実行が停止するのはなぜですか: if isinstance(item, AnItem): この文は明らかに true ですが、この時点では実行されません。

アイテムに AnItem を定義しました

これは、 item = AnItem() を使用して Spider.py でも定義されています。

上記の理由: if isinstance(item, AnItem): この文に続くものは実行されません。

説明: if isinstance(item, AnItem): false ですが、理由がわかりません。

他の人のコードを見ます。インターネット上にはこのように書かれた例もあります。

自分が何を間違って書いたのか分かりません。

リーリー

漂亮男人漂亮男人2683日前830

全員に返信(2)返信します

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-18 10:59:41

    それは本当か嘘ですか?出力して確認できませんか?

    返事
    0
  • 習慣沉默

    習慣沉默2017-05-18 10:59:41

    if isinstance(item, AnItem):

    リーリー

    pipelines.py の上記のステートメントを使用してテストしました。output jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
    何が問題だったのかわかりません。
    通常のロジックによれば、spiders.py で item = ZbaqcnItem() と定義されています。
    インポートされるべきものはすべてインポートされます。それは、pipelines.py にあるはずです。

    輸入品に問題があるような気がしますが?

    anspiders.py で次のようにインポートします。
    from aqccncn.items import AnItem
    常にエラーを表示します。 ImportError: アイテムという名前のモジュールがありません
    長い間オンラインで検索しましたが、実行可能な解決策が見つかりませんでした。
    以下の方法を使うしかありません。

    それから、スパイダーファイルに items.py を作成しました
    from items import AnItem を使用してインポートしました。

    その後、後の if isinstance(item, AnItem): が False になります。

    これが理由ですか?

    最後に——————————————————————————————————————————————
    修正しました2016/04/29 18:04:

    ——————————————————————————————

    皆さんありがとうございました。すでに解決済みです。最初は、aaaa.items import AnItem から常にエラーが発生することがわかりました。スパイダーファイルに items.py を再度作成したため、インポートされた items.py は同じではなく、AnItem() も同じではありません。

    しかし、別の質問があります:

    スパイダーフォルダー内の settgins.py ファイルと同じディレクトリに items.py ファイルを作成する場合。なぜこのようにインポートするのですか: from AnAnAn.items import AnItem は次のプロンプトを表示します: ImportError: No modulenamed AnAnAn.items?
    AnAnAn フォルダーには、明らかにデフォルトで生成された items.py があり、対応するコードがそれに追加されます。

    これの何が問題なのでしょうか?ありがとう。

    返事
    0
  • キャンセル返事