如何修复这些错误代码
回溯(最近通话最近):文件 “ /Users/erzajullian/PycharmProjects/Checker/topmail.py”,第9行,在 class checker_start(object):文件“ /Users/erzajullian/PycharmProjects/Checker/topmail.py”,第16行 checker_start print(checker_start()。get_token())NameError:名称'checker_start'未定义
这是代码
import requests
from bs4 import BeautifulSoup
class output(object):
pass
class checker_start(object):
def get_token(self):
data = requests.get("https://mail.topmail.com/preview/mail/")
soup = BeautifulSoup(data.text, "lxml")
token_1 = soup.find("input", {"name": "form_token"})["value"]
return token_1
print(checker_start().get_token())
我的代码怎么了?
答案 0 :(得分:3)
您的print(checker_start().get_token())
行缩进是错误的。您试图实例化类checker_start
的对象,并在类定义本身的代码块(作用域)中调用其方法get_token
。因此,您得到一个NameError
。
Python中最独特的功能之一是带有缩进的代码块。在Python中,缩进代码并不是样式(就像大多数编程语言一样),这是必需的。
在大多数其他编程语言中,缩进仅用于帮助使代码看起来更漂亮。但是在Python中,需要指出语句属于哪个代码块。
尝试:
import requests
from bs4 import BeautifulSoup
class output(object):
pass
class checker_start(object):
def get_token(self):
data = requests.get("https://mail.topmail.com/preview/mail/")
soup = BeautifulSoup(data.text, "lxml")
token_1 = soup.find("input", {"name": "form_token"})["value"]
return token_1
# remove the line-indentation
print(checker_start().get_token())
答案 1 :(得分:1)
您的最后一行print(checker_start().get_token())
缩进了一个级别,可能不应该缩进一个级别。