Python: __init__ в классе - PullRequest
       8

Python: __init__ в классе

0 голосов
/ 07 февраля 2019

У меня есть файл с именем main.py, он вызывает другой файл .py, например Auth.py.
В main.py, у меня есть цикл повторения, он вызывает функцию work в другом py.
Но я обнаружил, что после вызова функции __init__ будет запущен один раз.
Мне нужно только запустить __init__ при импорте. Как мне этого добиться?

main.py

from Auth import Auth
from Group import Group
from SliverBox import SilverBox
from Task import Task

while (1):
    Auth().work()
    Group().work()
    SilverBox().work()
    Task().work()

Auth.py

import json
import time
import base64
import requests
from Log import Log
from Curl import Curl
from config import config
from Base import openssl_public_encrypt,arrange_cookie

class Auth():

    def __init__(self):
        self.lock = int(time.time())

    def work(self):
        if self.lock > int(time.time()):
            return

        if config["Token"]["ACCESS_TOKEN"] == "":
            self.loginPassword()
        else:
            self.loginToken()

        self.checkCookie()

        self.lock = int(time.time()) +3600

1 Ответ

0 голосов
/ 07 февраля 2019

Разделите создание / инициализацию и использование ваших объектов:

auth = Auth()
group = Group()
....
while (1):
    auth.work()
    group().work()
    ....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...