簡體   English   中英

Python pexpect正則表達式匹配包含在b''中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM