Python - Как передать значение из одного сценария в другой? - PullRequest
0 голосов
/ 19 ноября 2018

Поэтому я пытаюсь использовать своего рода два сценария, где я хочу обмениваться значениями между собой.Под этим я подразумеваю то, что и т. Д., Когда я хочу распечатать что-то, например logger.log("print me"). Это автоматически вызовет другую функцию из-за регистратора имен, который можно использовать, вызвав logger = Logger() - Однако я хочу, чтобы оба регистратора () и Script () должны обмениваться значениями друг с другом.Под этим я написал скрипт и т. Д., Как я имею в виду:

Logger:

Logger class here:
    import sys


    class Logger:

        def log(self, text):
            sys.stdout.write("{}".format(text))
            sys.stdout.write("\n")
            sys.stdout.flush()

Script class here:

    from utils import Logger


    logger = Logger()  # Logger from Utils


    if __name__ == '__main__':
        try:
            Name = 'Stackoverflow'
            logger.log(Name)


        except KeyboardInterrupt:
            print("\n" + 'Keyboard - Interrupted)
            sys.exit()

Вывод будет Stackoverflow таким простым.

Однако я хочу обновить его, отправив значение Stackoverflow обратно в класс Logger.

То, что я хочу сделать, это и т. Д.

def log(self, text):
    sys.stdout.write("{} {}".format('[Profile-' + Name']', text))
    sys.stdout.write("\n")
    sys.stdout.flush()

Где результат в этом случае будет:

[Profile-Stackoverflow] New text here

Теперь мойвопрос в том, как я могу сделать так, чтобы класс Logger мог принимать значение Name и добавлять его как [Profile-Stackoverflow] в этом случае?

1 Ответ

0 голосов
/ 19 ноября 2018
import logging
logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger("StackOverflow")
logger.info("HELLO!")

Я не понимаю, о чем вы спрашиваете

util.py

import sys


class Logger:
    def __init__(self,name):
        self.name = name
    def log(self, text):
        sys.stdout.write("[{}] - {}".format(self.name,text))
        sys.stdout.write("\n")
        sys.stdout.flush()

other.py

from util import Logger
log = Logger("Stackoverflow")
log.log("Hello")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...