Доступ к сеансу telnet в python
поэтому мне нужно получить доступ к сеансу telnet. В частности, эфемериды JPL. Я точно знаю, что мне нужно сделать в командной строке, но у меня возникли проблемы с использованием пакета telnetlib
.
Вот шаги, которые мне нужно выполнить с помощью командной строки:
telnet o horizons.jpl.nasa.gov 6775 DES=C/2012 X1; y E o H06 y 2013-Nov-7 9:00 2013-Nov-17 9:00 1d y 1,4,9,19,20,24
а затем после этого есть большой вывод, который мне нужно сохранить в текстовый файл или просто сохранить как переменную. Я буду использовать его позже.
И после этих входов шаг за шагом, вы должны получить точный бит информации, которую мне нужно захватить
Любой совет?
- как я могу отправить более двух аргументов в сеансе telnet в python?
- Извлечение определенной строки из вывода Telnet с помощью Python
- Подключение к Python Telnet
- Чтение Python до нулевого символа из Telnet
- Автоматизация / сценарии Telnet
Я бы использовал telnetlib.Telnet.expect()
, что-то вроде этого:
import telnetlib t = telnetlib.Telnet() t.open('horizons.jpl.nasa.gov', 6775) expect = ( ( r'Horizons>', 'DES=C/2012 X1\n' ), ( r'Continue.*:', 'y\n' ), ( r'Select.*E.phemeris.*:', 'E\n'), ( r'Observe.*:', 'o\n' ), ( r'Coordinate center.*:', 'H06\n' ), ( r'Confirm selected station.*>', 'y\n'), ( r'Accept default output.*:', 'y\n'), ( r'Starting *UT.* :', '2013-Nov-7 09:00\n' ), ( r'Ending *UT.* :', '2013-Nov-17 09:00\n' ), ( r'Output interval.*:', '1d\n' ), ( r'Select table quant.* :', '1,4,9,19,20,24\n' ), ( r'Scroll . Page: .*%', ' '), ( r'Select\.\.\. .A.gain.* :', 'X\n' ) ) with open('results.txt', 'w') as fp: while True: try: answer = t.expect(list(i[0] for i in expect), 10) except EOFError: break fp.write(answer[2]) fp.flush() t.write(expect[answer[0]][1])
В период с апреля по май 2013 года некоторые люди фактически написали целый пакет Python вокруг интерфейса JPL Horizons Telnet. Это можно найти здесь:
- WindowsError: Система не может найти файл, указанный в pexpect.popen_spawn.PopenSpawn
- Почему я получаю это сообщение об ошибке при использовании Telnet в оболочке Python
- Python – наследование от классов старого стиля
- telnet через SSH с сервера
- Клиент telnet Python
- python3 telnet socket.gaierror: nodename или servname предоставлено или неизвестно
- telnet от linux pc до windows pc с использованием скрипта python
- Клиент telnetlib Python, похоже, не открывает telnet-соединение с сервером
- Нечетное поведение при подключении к моей программе