6

フィードをスクレイピングして出力するこの小さな Python スニペットを作成しました。コードを実行すると、フィード内の何かによって、ここに私の質問として表示されるエラー メッセージがトリガーされます。エラー時の完全なコンソール出力は次のとおりです。

> Traceback (most recent call last):  
> File "/home/vijay/ffour/ffour5.py",
> line 20, in <module>
>     myfeed()   File "/home/vijay/ffour/ffour5.py", line
> 15, in myfeed
>     sys.stdout.write(entry["title"]).encode('utf-8')
> AttributeError: 'NoneType' object has
> no attribute 'encode'
4

2 に答える 2

12
> sys.stdout.write(entry["title"]).encode('utf-8')

これが犯人です。あなたはおそらく次のことを意味します:

sys.stdout.write(entry["title"].encode('utf-8'))

(最後の閉じ括弧の位置に注意してください。)

于 2009-01-05T19:39:27.657 に答える
5

例外メッセージの混乱を解消してみましょう。

関数呼び出し

sys.stdout.write(entry["title"])

なしを返します。「.encode('utf-8')」は、上記の関数によって返されたものに対するエンコード関数の呼び出しです。

問題は、 None にはエンコード関数 (またはエンコード属性) がないため、属性を取得しようとしていた型と取得しようとしていた属性の名前を示す属性エラーが発生することです。

于 2009-01-05T19:50:07.450 に答える