您的位置:首页 > 其它

利用paramiko的demo_simple.py进行日志记录时遇到的特殊字符

2016-07-05 19:18 337 查看
特殊字符列表:

回车  "\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--
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: