[英]Python pexpect regex match is encased in b' '
我是Python的新手,值得期待,但不是TCL期望的。 我有一個超級簡單的腳本,該腳本通過SSH連接到Cisco路由器,並在arp表中查詢mac地址。 我想檢索相應的IP地址。 這是感興趣的行:
branchConnection.sendline('sh ip arp | i 00c0.b7')
time.sleep(1)
branchConnection.expect('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}')
print(str(branchConnection.match.group(0)))
它打印b'10.198.7.10'
當我查看pexpect.pty_spawn.spawn對象時,它顯示:
buffer (last 100 chars): b' 2 00c0.b790.b8c6 ARPA GigabitEthernet0/0.100\r\nRTR-01#'
before (last 100 chars): b'sh ip arp | i 00c0.b7\r\nInternet '
after: b'10.198.7.10'
一切都裝在b''中
我以為這很正常嗎? 有人可以解釋發生了什么嗎? 我無法找到任何能解釋其含義的內容。 我如何才能得到僅返回不帶b''的IP地址的信息?
b
表示字節。 如果您需要一個字符串,則可以使用decode
。 您將需要知道它使用的是哪種編碼,但是如果您不知道,可以嘗試使用utf-8
這很常見)
print(branchConnection.match.group(0).decode("utf-8"))
>>> b'10.198.7.10'.decode("utf-8")
'10.198.7.10'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.