特殊字符列表:

回车  "\r"  "\x13"

响铃  "\x07"

换行  "\n"  "\x10"  "\r\n"  "\x13\x10"

Tab  "\t"  "\x09"

删除  键盘产生事件:"\x08"  ,也有时候删除键事件是: “\x7f”  服务端返回:”\x08\x1b[K“

跟终端设置有关:

>>> print("abc\x08\x1b[Khaha")
abhaha

以下还有待研究,移动次数其实不产生实际效果,主要是移动后输入或删除了数据等。

以下都是先输入了一串字符后:

左移一次:  键盘产生三次事件:"\x1b" “["  "D"  , 服务器端返回"\x08"

右移一次:  键盘产生事件:"\x1b"   “["  "C"  , 服务器端返回"\x08"

左移移一次, 键盘产生:“\x1b"  "["   "D"  ,服务器返回 “\x08",    再右移依次  键盘产生   "\x1b" ”["  "C"   服务器返回返回 “\x1b[C ”  , ,  再回车,服务器返回 ”\r\n“

左移一次, 键盘产生: "\x1b" "[" "D',服务器返回”\x08"; 再左移一次,键盘产生:"\x1b" "["  "D",服务器返回 “\x08”; 再右移一次,键盘产生: "\x1b"  "[" "C",服务器返回 “\x1b[C”  ;  再右移一次,

键盘产生 "\x1b"  "[" "C",服务器返回 “\x1b[C”  ; 再输入 a ,键盘产生  “a”,服务器返回:“a”  ; 再回车,键盘产生:“\r",服务器返回:“\r\n xxxxxx"

实际情况:

先输入:ifconfg ,然后 左移一次有输入"i"  键盘产生事件:"\x1b[Di"    服务端返回:”\x08ig\x08"

>>> print("ifconfg\x08ig\x08")
ifconfig

先输入ifconfg,然后左移两次,再右移一次,输入i,  键盘产生事件:"\x1b[D\x1b[D\x1b[Ci"    服务器端返回\x08\x08\1b[Cig\x08

>>> print("ifconfg\x08\x08\x1b[Cig\x08")
ifconfig

左移两次然后输入a,这时会覆盖f,但是g还在:

>>> print("ifconfg\x08\x08a\x08")
ifconag

比如输入ls,服务器端返回输入显示不全,显示--More--时,服务器端返回的是:   \r\n--More--

利用paramiko的demo_simple.py进行日志记录时遇到的特殊字符的更多相关文章

  1. python中利用logging包进行日志记录时的logging.level设置选择

    之前在用python自带的logging包进行日志输出的时候发现有些logging语句没有输出,感到比较奇怪就去查了一下logging文档.然后发现其在设置和引用时的logging level会影响最 ...

  2. EF利用重写SaveChanges()方法实现 审计日志记录

    先上一段最近项目中的代码,此代码可以放到自己项目中的dbContext中 public override Task<int> SaveChangesAsync() { List<Au ...

  3. RMS Server打开或关闭日志记录

    原文: https://technet.microsoft.com/zh-cn/library/cc732758 在 Active Directory Rights Management Servic ...

  4. IIS 之 启用日志记录

    如何为网站启用日志记录或 在 Microsoft Internet Information Services (IIS) 6.0 中,在 IIS 5.0 中,并在 IIS 4.0 中的FTP 站点.可 ...

  5. 利用AOP与ToStringBuilder简化日志记录

    刚学spring的时候书上就强调spring的核心就是ioc和aop blablabla...... IOC到处都能看到...AOP么刚开始接触的时候使用在声明式事务上面..当时书上还提到一个用到ao ...

  6. C# 利用Log4Net进行日志记录

    概述 本文主要简单说明如何使用Log4Net进行日志记录,在程序开发过程中记录日志的优点: 它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug: 一旦在程序中加入了Log 输出 ...

  7. [置顶] 利用Global.asax的Application_Error实现错误记录,错误日志

    利用Global.asax的Application_Error实现错误记录 错误日志 void Application_Error(object sender, EventArgs e) { // 在 ...

  8. wcf利用IDispatchMessageInspector实现接口监控日志记录和并发限流

    一般对于提供出来的接口,虽然知道在哪些业务场景下才会被调用,但是不知道什么时候被调用.调用的频率.接口性能,当出现问题的时候也不容易重现请求:为了追踪这些内容就需要把每次接口的调用信息给完整的记录下来 ...

  9. Python开发之日志记录模块:logging

    1 引言 最近在开发一个应用软件,为方便调试和后期维护,在代码中添加了日志,用的是Python内置的logging模块,看了许多博主的博文,颇有所得.不得不说,有许多博主大牛总结得确实很好.似乎我再写 ...

随机推荐

  1. 编写高质量代码改善C#程序的157个建议——建议5: 使用int?来确保值类型也可以为null

    建议5: 使用int?来确保值类型也可以为null 基元类型为什么需要为null?考虑两个场景: 1)数据库中一个int字段可以被设置为null.在C#中,值被取出来后,为了将它赋值给int类型,不得 ...

  2. 使用Jenkins远程部署war包到tomcat container

    Jenkins首先使用maven将源代码进行编译打包,之后需要将war包传送到tomcat服务器上进行部署. 来看一下Jenkins的基本配置,首先需要安装插件"Deploy to cont ...

  3. Sharepoint2013搜索学习笔记之自定义结果显示模板(九)

    搜索结果通过套用定义好的显示模板来展示结果,显示模板由js和html组成,我们可以通过修改显示模板,然后将修改好的显示模板跟搜索结果绑定起来,来修改搜索结果的显示效果,例子如下图: 修改前 修改后 第 ...

  4. CString::MakeLower Crash

    记录一下使用CString::MakeLower可能导致的crash的一个问题: 问题重现: int _tmain(int argc, _TCHAR* argv[]){ std::string  sT ...

  5. Replication--复制问答

    在发布表尾部增加字段,需要重新初始化订阅么?答:在发布表尾部增加字段,不需要不需要重新初始化订阅,该修改会自动同步到订阅段,也不需要对复制做任何修改.但如果在同一个发布中增加新的项目,需要重新初始化订 ...

  6. 以太坊系列之十七: 使用web3进行合约部署调用以及监听

    以太坊系列之十七: 使用web3进行智能合约的部署调用以及监听事件(Event) 上一篇介绍了使用golang进行智能合约的部署以及调用,但是使用go语言最大的一个问题是没法持续监听事件的发生. 比如 ...

  7. c# 两个字符串,s="aeiou",s2="welcome to Quantum Asia"

    c#  两个字符串,s="aeiou",s2="welcome to Quantum Asia" 方案一: 使用while循环: static void Mai ...

  8. SSM项目配置文件及其各项使用

    $说明: ·Spring 5  + Mybatis 3.4.5 +SpringMVC  ·使用druid数据库 ·使用log4j输出日志 $Spring 及其配置文件(部分) Spring官方网站:h ...

  9. php CI框架 使用PDO 的连接配置

    $db['default'] = array( 'dsn' => 'mysql:dbname=hejun;host=192.168.137.127', //'hostname' => '' ...

  10. [转] Draw Call未被批处理?告诉你在Unity 5.6中如何查找原因 [复制链接]

    Unity在5.6之前的版本中并未提供很直接的方式来查找Draw Call未被批处理的原因,但Unity 5.6在Frame Debugger中新增了一项功能,帮助开发者查找相关信息.今天这篇文章就为 ...