sscanf in Python
2023-08-13 06:50:57
質問
に相当するものを探しています。
sscanf()
と同等のものを探しています。私はパースしたい
/proc/net/*
ファイルを解析したいのですが、C言語ではこのようなことができます。
int matches = sscanf(
buffer,
"%*d: %64[0-9A-Fa-f]:%X %64[0-9A-Fa-f]:%X %*X %*X:%*X %*X:%*X %*X %*d %*d %ld %*512s\n",
local_addr, &local_port, rem_addr, &rem_port, &inode);
最初、私は
str.split
を使おうと思ったのですが、これは指定した文字で分割されるのではなく
sep
の文字列全体で分割されます。
>>> lines = open("/proc/net/dev").readlines()
>>> for l in lines[2:]:
>>> cols = l.split(string.whitespace + ":")
>>> print len(cols)
1
は、上で説明したように、17を返すべきです。
に相当するPythonはありますか?
sscanf
(REではありません)、あるいは私が知らない、任意の文字範囲で分割する標準ライブラリの文字列分割関数がありますか?
どのように解決するのですか?
Pythonには
sscanf
と同等のものが組み込まれておらず、ほとんどの場合、文字列を直接操作したり、正規表現を使ったり、パースツールを使ったりして入力をパースする方が実際にはずっと理にかなっているのです。
おそらくほとんどの場合、C 言語の翻訳に有用であり、人々は
sscanf
を実装しています。
http://hkn.eecs.berkeley.edu/~dyoo/python/scanf/
この特定のケースでは、単に複数の分割文字に基づいてデータを分割したい場合。
re.split
は本当に正しいツールです。
関連
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】なぜPythonはこのJSONデータをパースできないのですか?[終了] PythonがこのJSONデータをパースできないのはなぜですか?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] Flaskで非同期タスクを作る
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】文字列フラグ "u "と "r "は一体何をするのでしょうか、そして生の文字列リテラルとは何でしょうか?
-
[解決済み] 前月の日時オブジェクトを返す
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] 2つの線分が交差しているかどうかを確認するにはどうすればよいですか?
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] バブルソートの宿題
-
[解決済み] Celeryタスクのユニットテストはどのように行うのですか?
-
[解決済み] Django filter queryset __in for *every* item in list
-
[解決済み] 新しいpip backtrackingの実行時問題の解決