Получение stdin при подключении к серверу Python - PullRequest
1 голос
/ 22 февраля 2012

Я подключаюсь к IRC-серверу, но пока он находится в ожидании данных, я бы хотел, чтобы программа могла получать ввод с терминала, а затем передавать его на сервер, поэтому, по сути, скажем JOIN #foobar и программа отправить JOIN #foobar. Текущий код выглядит так:

def receive(self):
    while True:
        raw = self.socket.recv(4096).decode()
        raw_split = raw.splitlines()
        if not raw:
            break
        for line in raw_split:
            #if line.find('MODE {0} :'.format(self.config['nick'])) > -1:
                # placeholder for perform
            data = line.split()
            if data[0] == 'PING':
                self.send('PONG {0}'.format(data[1]))
            color_print("-> {0}".format(data), 'yellow')
            #self.plugin.run(data)

Есть идеи, как это сделать?

1 Ответ

1 голос
/ 22 февраля 2012

Посмотрите на модуль выбора . Вы можете использовать его для ожидания нескольких файловых объектов, включая сокет и stdin / stdout / stderr.

Вот пример кода на этом сайте .

...