gpt4 book ai didi

python - 在 python 中访问 telnet session

转载 作者:太空狗 更新时间:2023-10-30 02:32:08 25 4
gpt4 key购买 nike

所以我需要访问一个 telnet session 。更具体地说是 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

然后是一个很大的输出,我需要将其保存到一个文本文件中,或者只是作为一个变量保存。我稍后会用到它。

按照这些输入一步一步应该可以让您获得我需要获取的准确信息

有什么建议吗?

最佳答案

我会使用 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])

关于python - 在 python 中访问 telnet session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19845525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com