Отправка переменной в другой скрипт Python - PullRequest
0 голосов
/ 26 апреля 2020

Как я могу отправить одну переменную в другой скрипт? У меня есть 3 сценария (bot.py, language_dict.py, markups.py)

language_dict.py (словарь)

russian = {
       "section": "Выберите раздел ➡",
       "individual": "Физические лица",
       "legal_entity": "Юридические лица",
   }

В bot.py Я объявляю этот словарь dic переменная

import language_dict

def language(message):
chat_id = message.chat.id
if message.text == "Русский":
    dic = language_dict.russian
    msg = bot.send_message(chat_id, dictionary["section"])

Итак, мне нужно отправить dic на markups.py

import bot

#to here

Ответы [ 2 ]

0 голосов
/ 27 апреля 2020

Я думаю, тебе нужно сделать что-то подобное.

#in bot.py 
def class1():
    def func1(self):
        #do something
        #dic = language_dict.russian
        return #dic

#in markups.py
#from bot.py import class1
#create object of class1 under main method 
class1_obj = class1()
dic = class1.func1()
0 голосов
/ 26 апреля 2020

Вы присваиваете dic как локальную переменную в вашем методе language().

Чтобы исправить это, просто присвойте dic выше вашего language() метода следующим образом:

dic = {}

def language(message):
    global dic
    ...

вам также нужно добавить global dic в ваш метод, чтобы интерпретатор знал, что вы изменяете глобальную переменную dic внутри вашего метода

...