@TanderOFF

Как использовать переменную из другого файла?

Здравствуйте, использую коги , хотелось бы использовать переменную из главного файла в папке cogs файл voice.py?

Главный файл: main.py
@client.event
async def on_ready():
    global tdict
    tdict = {}


Папка cogs , файл voice.py:

class voice(commands.Cog):
    def __init__(self, client):
        self.client = client


    @commands.Cog.listener()
    async def on_voice_state_update(self, member, before, after):
        print(tdict) #как использовать эту переменную тут ?
  • Вопрос задан
  • 123 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Vindicar
Простейший способ - передать словарь в конструктор.
class voice(commands.Cog):
    #при создании кога передаёшь ему клиента и tdict
    def __init__(self, client, t_dict):
        self.client = client
        self.tdict = t_dict

    @commands.Cog.listener()
    async def on_voice_state_update(self, member, before, after):
        print(self.tdict)

Имей ввиду, в случае с ссылочными объектами, т.е. словарями, списками и т.п., изменения объекта внутри кога изменит его глобально. А вот объекты-значения (числа, строки, кортежи) так изменить не получится.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы