Python 如何使用IMDBPY处理异常

Python 如何使用IMDBPY处理异常,python,exception-handling,information-retrieval,imdb,imdbpy,Python,Exception Handling,Information Retrieval,Imdb,Imdbpy,此代码适用于具有plot关键字的电影Id from imdb import IMDb ia = IMDb() black_panther = ia.get_movie('1825683', info='keywords') print(black_panther['keywords']) bur对于没有像这个id(5950092)这样的plot关键字的电影,它会返回exception。有没有处理exception的方法?在IMDbPY中,电影实例的行为类似于字典,因此可以用通常的方式(使用tr

此代码适用于具有plot关键字的电影Id

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

bur对于没有像这个id(5950092)这样的plot关键字的电影,它会返回exception。有没有处理exception的方法?

在IMDbPY中,电影实例的行为类似于字典,因此可以用通常的方式(使用try/except子句)处理异常。看


作为类似字典的对象,您还可以测试black_panther中是否存在带有
'keywords'的键,并在不引发n异常的情况下获取值,但如果缺少键,则返回None,使用
black_panther。get('keywords')
在IMDbPY中,电影实例的行为类似于字典,因此,您以通常的方式处理异常(使用try/except子句)。看


作为类似字典的对象,您还可以测试black\u panther中是否存在带有
'keywords'的键,并在不引发n异常的情况下获取值,但如果缺少键,则返回None,使用
black\u panther.get('keywords')

因为
imdb.Movie.Movie
imdb.utils.\u Container
的子类,其
get
方法类似于,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 = []

因为
imdb.Movie.Movie
imdb.utils.\u Container
的一个子类,其
get
方法类似于,并且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 = []

我对电影语言也有同样的问题。你能帮我吗。movie=ia.get_movie('5950092',info='language')不起作用。因为电影信息集中不包括
'language'
,也就是说,在ia.get_movie\u infoset()中尝试
'language'。它应该是
False
。我对电影语言也有同样的问题。你能帮我一下吗。movie=ia.get\u movie('5950092',info='language')不工作。因为
'language'
不包括在电影信息集中,也就是说,在ia.get\u movie\u infoset()中尝试
'language'。它应该是
False