Python telnetlib write()函数不执行冗长的命令

Python telnetlib write()函数不执行冗长的命令,python,python-2.7,python-3.x,telnetlib,Python,Python 2.7,Python 3.x,Telnetlib,我正在尝试使用telnetlib向设备发送命令。以下是我正在使用的命令: tn = telnetlib.Telnet("10.62.48.96") tn.write('c:/Test/Minte/TE.exe c:/data/test/bin/Test.dll >> c:/test/test.log \r\n') print "Read",tn.read_until('cmd.exe ', 90) 我得到的响应是只打印到Test.dll,之后什么也不打印。我怀疑write函数是

我正在尝试使用telnetlib向设备发送命令。以下是我正在使用的命令:

tn = telnetlib.Telnet("10.62.48.96")

tn.write('c:/Test/Minte/TE.exe c:/data/test/bin/Test.dll >> c:/test/test.log \r\n')

print "Read",tn.read_until('cmd.exe ', 90)
我得到的响应是只打印到Test.dll,之后什么也不打印。我怀疑
write
函数是否可以发送多个空格的命令

我知道命令没有执行,因为在目标路径上没有生成test.log

答复:

C:\windows\system32>c:/Test/Minte/TE.exe c:/data/test/bin/Test.dll←[4;71H

可能与转义字符>>有关

或者类似的

tn.write('c:/Test/Minte/TE.exe "c:/data/test/bin/Test.dll >> c:/test/test.log" \r\n')

是的,它最多只能包含50个字符。你在做什么?
tn.读得非常渴望()

这可能与设备一次可以缓冲多少有关。打开命令提示符打开telnet会话,看看它可以让您发送多少。在telnet上,我可以发送更多。。。我一直在telnet上手动使用它,它工作得非常好。我也遇到了类似的问题。执行的命令长度超过34个字符,但当您使用expect()命令读取输出时,位置>34处的字符也将被读取!write()函数可以执行的命令长度似乎有限制。我发出了一个50个字符或更少的命令,它成功了。同一命令,我将文件名更改为更长,但不起作用。
tn.write('c:/Test/Minte/TE.exe "c:/data/test/bin/Test.dll >> c:/test/test.log" \r\n')