質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

774閲覧

Python3 バイト文字からの特定の値を抽出

ITOMO5963

総合スコア98

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/09/18 08:30

#実現したいこと
print結果(out)が以下のようになっています。
値の部分だけを抽出したいと考えています。
この値を四則演算 に使う想定です。
シンプルな書き方は、ありますでしょうか?
※decodeしているのは、バイト文字→str→intにするのかなと思い書いてみました。
お力沿いお願いいたします。

print(out) print(out.decode().rstrip()) #上記の出力結果 b'IF-MIB::ifHCInOctets.31 = Counter64: 10242157549585\n' IF-MIB::ifHCInOctets.31 = Counter64: 10242157549585

[理想の抽出結果]

10242157549585

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

シンプルな書き方は、ありますでしょうか?

Python

1out = b'IF-MIB::ifHCInOctets.31 = Counter64: 10242157549585\n' 2out = out.decode().rstrip() 3i = out.find(': '); 4if i >= 0: 5 n = int(out[i+2:]) 6 print(n)

投稿2020/09/18 15:33

編集2020/09/19 01:00
kazuma-s

総合スコア8224

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

抽出ルールが不明ですが、とりあえず以下にて数値を取得できます。

Python

1import re 2 3out = b'IF-MIB::ifHCInOctets.31 = Counter64: 10242157549585\n' 4out = out.decode().rstrip() 5m = re.search(r': (\d+)', out) 6if m: 7 n = int(m.group(1)) 8 print(n) # 10242157549585

投稿2020/09/18 08:38

can110

総合スコア38341

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ITOMO5963

2020/09/18 09:23

ありがとうございます。以下の部分はどのようなことをしているのでしょうか? m = re.search(r': (\d+)', out)
can110

2020/09/18 09:24

正規表現で「~: 数値」部分を探しています。
ITOMO5963

2020/09/18 09:52

ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問