python Вызов функции из класса другого файла

Рейтинг: -1Ответов: 1Опубликовано: 12.01.2023

у меня есть два файла, в одном я пишу код клиента, в другом интерфейс. и мне нужно взывать в коде интерфейса функцию, которая есть в коде клиента

class Client:

    def __init__ (self, ip, port):
        self.cli=socket(AF_INET, SOCK_STREAM)
        self.cli.connect(
        (ip,port)
        )
    def sender(self, text):
        try:
            self.cli.send(text.encode('utf-8'))
            while self.cli.recv(1024).decode('utf-8') == "Сообщение отправленно":
                self.cli.send(text.encode('utf-8'))
        except Exception as e:
            print("ERRROR: ",e)

в другом файле я пытаюсь вызвать функцию sender

import client as cli
    def send_message_on_server():
        txt=form.lineEdit_2.displayText()
        cli.Client.sender(txt)
        print(txt)
        print("Сообщение отправленно")

получаю ошибку

TypeError: Client.sender() missing 1 required positional argument: 'text'

какой аругмент я должен еще передать?

Ответы

▲ 2

Ваш класс Client принимает параметры ip, port, вам необходимо сначала создать экземпляр класса, а потом уже с ним работать

cli.Client(ip, port).sender(txt)