-1
pexpectのsession.before
から取得した文字列オブジェクトがあります。re.searchがバイト文字列と一致しません
これから私はre.search
の下の正規表現を使用してデバイスIDを取得しようとしています。しかし、それは一致していません。
print (str(sess.before))
b'\r\n* daemon not running. starting it now on port 5037 *\r\n* daemon started successfully *\r\n353651\tdevice\r\n\r\n\r\n'
device_id = re.search ('([0-9a-zA-Z]+)[\t ]+device', str(sess.before))
print (device_id)
None
@Wiktor:kinda-sortaに
.group(1)
と電話するとよいでしょう。この問題は 'str()'呼び出しが 'bytes'オブジェクトを文字列に変換する非常に間違った方法であることが主な原因でした。 –@MartijnPieters:私はなぜOPに「b '\ r \ n * ...' 'ではなく、「b」\\ r \\ n *少なくとも2つの問題があると確信できたら、はい、再開できます。 –
@WiktorStribiżew: 'print()'呼び出しは問題をマスクします。 'print(bytesobject)'は既に 'str()'を使っていますので、最初の行の 'str()'は完全に冗長です。 'str(sess.before)' *は '' b '\\ r \\ n * ...' ''を返しますが、それを*印刷*すると... –