如何使用IMDBPY处理异常

2024-06-26 12:33:05 发布

您现在位置:Python中文网/ 问答频道 /正文

这段代码非常适合使用具有plot关键字的电影Id。你知道吗

from imdb import IMDb
ia = IMDb()
black_panther = ia.get_movie('1825683', info='keywords')
print(black_panther['keywords'])

bur对于没有像这个id(5950092)这样的plot关键字的电影,它返回例外。有吗处理异常的想法?你知道吗


Tags: 代码fromimportidget电影plot关键字
2条回答

因为imdb.Movie.Movieimdb.utils._Container的一个子类,其get方法类似于that of a ^{},并且docstring读取:

>>> 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

如果您想:

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')。你知道吗

相关问题 更多 >