开发者社区> 问答> 正文

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

我尝试使用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

展开
收起
一码平川MACHEL 2019-01-23 13:36:31 4219 0
1 条回答
写回答
取消 提交回答
  • 你得到的错误是因为你缩进你的“主”计划,并使它成为类的方法。

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

    if name == '__main__':

    obj = login()
    obj.check() #error
    obj.log()
    obj.goon()
    2019-07-17 23:26:35
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载