使用telnetlib - 反斜杠在'tn.write'中加倍(但不在'print'中) - 如何在我的写字符串中发送单反斜杠

问题描述 投票:0回答:1

我正在尝试使用Python 2.7(在Windows中)将字符串telnet到服务器。

应用程序需要字符串中的反斜杠,如下所示:'E \ myMacro \\',因此它需要一个反斜杠,并以双反斜杠结束。

我成功使用cmd模块但在Python 2.7中失败了。

这是代码:

import telnetlib
host = "myHost"
tn = telnetlib.Telnet(host)
tn.set_debuglevel(100)
data = tn.read_until("server")

myLine = r'E\myMacro'+'\\\\'

tn.write(myLine)
tn.close()

print myLine

这是我的输出:

Telnet(myHost,23): recv 'Welcome to the server'
Telnet(myHost,23): send 'E\\myMacro\\\\'
E\myMacro\\

我已经尝试过每一个我能想到的排列来创建字符串但没有成功。

谁能解释我做错了什么?为什么tn.write和print之间有区别?

python backslash telnetlib
1个回答
0
投票

我已经解决了我的问题,最后证明这是一个非常简单的修复:

import telnetlib
host = "myHost"
tn = telnetlib.Telnet(host)
myLine = 'E\myMacro'
tn.write(myLine+'\\\\\r\n')
tn.write("exit\n")
© www.soinside.com 2019 - 2024. All rights reserved.