此代码与具有 plot 关键字的电影 ID 完美配合。
from imdb import IMDb
ia = IMDb()
black_panther = ia.get_movie('1825683', info='keywords')
print(black_panther['keywords'])
bur 对于没有像这个id(5950092)这样的关键字的电影,它返回异常。处理异常有什么想法吗?
此代码与具有 plot 关键字的电影 ID 完美配合。
from imdb import IMDb
ia = IMDb()
black_panther = ia.get_movie('1825683', info='keywords')
print(black_panther['keywords'])
bur 对于没有像这个id(5950092)这样的关键字的电影,它返回异常。处理异常有什么想法吗?
由于imdb.Movie.Movie
是 的子类,imdb.utils._Container
其get
方法类似于adict
,其文档字符串读取:
>>> imdb.utils._Container.get.__doc__
"Return the given section, or default if it's not found."
这意味着如果没有关键字,您可以这样做永远不会抛出异常:
movie = ia.get_movie('5950092', info='keywords')
movie.get('keywords', [])
# Result: [], empty list
Exception
如果您愿意,也可以使用 an :
try:
keywords = movie['keywords']
except KeyError:
keywords = []
在 IMDbPY 中,Movie 实例的行为类似于字典,因此您以通常的方式处理异常(使用 try/except 子句)。请参阅https://docs.python.org/3/tutorial/errors.html#handling-exceptions
作为类字典对象,您还可以使用 测试键是否存在'keywords' in black_panther
并获取值而不引发 n 异常,但如果键丢失,则返回 None ,使用black_panther.get('keywords')
.