我写了这个微小的Python片段,它抓取一个feed并将其打印出来.当我运行代码时,Feed中的某些内容会触发您在此处看到的错误消息作为我的问题.这是错误的完整控制台输出:
> 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'
Run Code Online (Sandbox Code Playgroud)
Kon*_*lph 12
Run Code Online (Sandbox Code Playgroud)> sys.stdout.write(entry["title"]).encode('utf-8')
这是罪魁祸首.你可能意味着:
sys.stdout.write(entry["title"].encode('utf-8'))
Run Code Online (Sandbox Code Playgroud)
(注意最后一个右括号的位置.)
让我们尝试清除异常消息中的一些混淆.
函数调用
sys.stdout.write(entry["title"])
Run Code Online (Sandbox Code Playgroud)
返回无.".encode('utf-8')"是对上述函数返回的编码函数的调用.
问题是None没有编码函数(或编码属性),因此您得到一个属性错误,该错误指出了您尝试获取属性的类型以及您尝试获取的属性.