开发者社区> 问答> 正文

TypeError:check()缺少1个必需的位置参数:'self'

一码平川MACHEL 2019-01-23 13:36:31 821

我尝试使用re来创建一个代码来将我的邮件存储在一个文件中,并在启动时检查它是否在该文件中其他人请求我再次键入它

我试过把'self'放在第28行的函数名之前(错误)

import re

class login(object):

def check(self):
    self.mail = r"([\w\.-]+)@([\w\.-]+)([\w\.-]+)"
    with open('login.txt', 'r') as self.myfile:
        self.line1 = self.myfile.read().replace('\n', '')
    with open('username.txt', 'r') as self.usr:
        self.line2 = self.usr.read().replace('\n', '')
    if re.findall(self.mail, self.line1):
        goon()
    else:
        log()
    self.myfile.close()

def goon(self):
    import assistant #another code to exec.

def log(self):
    self.file = open("login.txt", "w")
    self.file.truncate(0)
    self.data = input("Your email: ")
    self.file.write(self.data)
    self.file.close()
    l.goon()

if __name__ == '__main__':
    check() #error
    log()
    goon()

python python-3.x

存储 Python
分享到
取消 提交回答
全部回答(1)
  • 一码平川MACHEL
    2019-07-17 23:26:35

    你得到的错误是因为你缩进你的“主”计划,并使它成为类的方法。

    将其拉回左边距。然后,要使用类代码,您必须创建该类的实例。这是self每个方法调用的隐式参数。

    if name == '__main__':

    obj = login()
    obj.check() #error
    obj.log()
    obj.goon()
    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题