保留通过ssh执行命令所收到的响应的格式(空格和换行符)

时间:2017-05-29 11:08:02

标签: python pexpect repr pxssh

我正在Python编写一个应用程序,我正在使用pexpect(更具体地说是pxssh功能)在Cisco路由器上执行一系列命令。我希望使用whitespacesnewlines将返回的输出完整地存储到变量中。

s = pxssh.pxssh(options={
        "StrictHostKeyChecking": "no",
        "UserKnownHostsFile": "/dev/null"})

登录并执行相关命令后,我将结果存储在字典中:

data[command]=repr(s.before)

repr完美地返回/n/r,但whitespaces丢失了。

作为示例,print(s.before)返回如下。

Snapshot of the print(s.before)

然而,对于repr,我能够获得的最佳(并因此格式化)如下:

snapshot when using repr

whitespaces,格式丢失。

P.S。 :我无法写入和读取文件。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

据我了解,您正在尝试保存python字符串(使用\ n和空格)并将其注入某些HTML中。

如果您在使用html视图时出现问题,请将字符串包装到<pre>标记中以保留格式(包括空格)。这不是python的问题(同样,据我所知),你可以通过打印你的变量或计算python中的空格来检查这个