Python 全球名称';解析错误';没有定义,我使用了try和except来避免它,但它仍然显示出来

Python 全球名称';解析错误';没有定义,我使用了try和except来避免它,但它仍然显示出来,python,django,Python,Django,它发生在带有except ParseError的行中,我不理解,因为我写这行是为了避免这个错误。这是我的密码 import json from goose import Goose DEFAULT = 'https://images.unsplash.com/photo-1427435150519-42d9bcd0aa81?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&w=1080&fit=max&s=10d1c

它发生在带有except ParseError的行中,我不理解,因为我写这行是为了避免这个错误。这是我的密码

import json
from goose import Goose

DEFAULT = 'https://images.unsplash.com/photo-1427435150519-42d9bcd0aa81?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&w=1080&fit=max&s=10d1cfc208c8ed5ed1160e851eabce1d'
def extract(url):
    g = Goose()
    try:
        article = g.extract(url=url)
        if article.top_image is None:
            return DEFAULT 

        else:
            if article.top_image.src is None:
              return DEFAULT
            else:
                resposne = {'image':article.top_image.src}
                return article.top_image.src
    except ParseError:
        if can_handle():
                handle_exception()
            else:
                print("couldn't handle exception: url={0}".format(url))
                raise
我主要是想避免这个错误,如果我得到这个错误,我只想显示默认图像。我错过了什么

在这里;这是我的回溯

Traceback:
File "/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/local/lib/python2.7/site-packages/django/views/generic/base.py" in view
  71.             return self.dispatch(request, *args, **kwargs)
File "/local/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapper
  34.             return bound_func(*args, **kwargs)
File "/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  22.                 return view_func(request, *args, **kwargs)
File "/local/lib/python2.7/site-packages/django/utils/decorators.py" in bound_func
  30.                 return func.__get__(self, type(self))(*args2, **kwargs2)
File "/home/younggue/Desktop/ebagu0.2/rclone/main/views.py" in dispatch
  172.      return super(PostCreateView, self).dispatch(request, *args, **kwargs)       
File "/local/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch
  89.         return handler(request, *args, **kwargs)
File "/local/lib/python2.7/site-packages/django/views/generic/edit.py" in post
  249.         return super(BaseCreateView, self).post(request, *args, **kwargs)
File "/local/lib/python2.7/site-packages/django/views/generic/edit.py" in post
  215.             return self.form_valid(form)
File "main/views.py" in form_valid
  165.          self.object.image = extract(self.object.url) 
File "main/util/media.py" in extract
  18.   except ParseError:

Exception Type: NameError at /add_post/
Exception Value: global name 'ParseError' is not defined

当我试图从文件列表加载文件时,我遇到了同样的错误。在@Sayse的评论之后,在运行代码之后,我在堆栈跟踪中找到了
lib/site-packages/pandas/io/parsers.py

要更正该问题,必须从定义该错误的文件中导入该错误。就我而言,我使用

import pandas as pd
#~~~~~~~~~~ Solution: import the error ~~~~~~~~~~
from pandas.io.parsers import ParserError
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
for fname in fnames:
    try:
        df = pd.read_csv(fname)
    except ParserError:
        logger.info(f'Skipping incompatible file: {fname}')

我认为你必须从goose import*或从goose import goose编写
,ParseError
@DazedMiddle嗯,我认为这不是正确的解决方案…高度怀疑ParseError来自gooseDon我不认为有内置的
ParseError
异常,我只知道
xml.etree.ElementTree.ParseError
出现错误是因为您的异常处理。。。但你真正想抓住的例外是什么?您希望抛出什么
ParseError
?因为它是一个不存在的类,所以当前可以删除整个异常块来触发错误,并在堆栈跟踪中查找错误的完整名称空间,然后从那里导入它。