Pythonのお勉強 Part62 (454レス)
Pythonのお勉強 Part62 http://mevius.5ch.net/test/read.cgi/tech/1568616071/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
163: デフォルトの名無しさん [sage] 2020/05/05(火) 12:44:32.20 ID:lrlqOn2p フォルダ構成が複雑な、ものすごい膨大なlogファイルから、 特定のワードが含む行と、ファイル名を抽出したいのですが、 ・サブフォルダを巡回して命令を実行する ・ファイル名のあとに、検索結果を出す のやり方がわからず、躓いております。 参考になりそうなサンプルがあればご教示いただけますでしょうか。 test01.log ----------------------------------- 0501 問題ないよ 0501 Error! |まちがってるよ |まちがってるよ 0501 問題ないよ ----------------------------------- このうち ・「Error」のある行 ・| ではじまる行 を抜き出し、このような出力結果を希望しています。 test01.log ----------------------------------- 0501 Error! |まちがってるよ |まちがってるよ ----------------------------------- 「Find」「再帰的」「文字列」「検索」「Python」「テキストマイニング」などで検索をするも、これといった情報が得られず…… 参考になりそうなURL、「こういうワードで検索しろ」などあればお願いします。 http://mevius.5ch.net/test/read.cgi/tech/1568616071/163
164: デフォルトの名無しさん [sage] 2020/05/05(火) 12:47:27.09 ID:hpwOcr6+ >>163 globモジュール with open f.readlines strクラスのfindメソッド 一回公式のPythonチュートリアルを全てやってみることをお勧めする http://mevius.5ch.net/test/read.cgi/tech/1568616071/164
166: デフォルトの名無しさん [] 2020/05/05(火) 14:05:25.10 ID:3RO6WiLW >>163 os.walk os.path.walk どっちかのドキュソ観れ http://mevius.5ch.net/test/read.cgi/tech/1568616071/166
167: デフォルトの名無しさん [sage] 2020/05/05(火) 14:15:49.76 ID:uTsiWylk >>163 grep使えって 出力フォーマットが気に入らないなら ripgrep使うかgrep -lをループさせればいい $ rg -n "^¥||Error" ./*.log ./test02.log 2:0501 Error! 3:|まちがってるよ 4:|まちがってるよ ./test01.log 2:0501 Error! 3:|まちがってるよ 4:|まちがってるよ http://mevius.5ch.net/test/read.cgi/tech/1568616071/167
171: デフォルトの名無しさん [sage] 2020/05/05(火) 15:10:14.14 ID:93UQ4haG >>163 「膨大な」と書いてあるのでpythonでやるのは速度的な面で躊躇する 他の人も書いているけど標準コマンドを使うのが速い ・Linux/macOSならgrep ・Windowsならfindstr 「フォルダ構成が複雑な」と書かれているのでサブフォルダまで検索するには ・grepの場合は-rオプション ・findstrの場合は/Sオプション を付ける 何らかの理由でpython縛りなら glob.glob os.wak のどちらかを使ってファイルリストを取得した上で、そのファイルに指定したキーワードが含まれるか確認する http://mevius.5ch.net/test/read.cgi/tech/1568616071/171
175: デフォルトの名無しさん [] 2020/05/05(火) 16:29:06.07 ID:E9jCQTmY >>163 https://ideone.com/xba6sl 組み込み関数やライブラリで同等の機能が用意されているにも関わらず正規表現書くのはやめてほしい http://mevius.5ch.net/test/read.cgi/tech/1568616071/175
177: 163 [sage] 2020/05/05(火) 17:41:03.01 ID:lrlqOn2p たくさんのご返信ありがとうございます。 >>164 ありがとうございました。 ご推察の通り、Pythonは本を一冊読んだ程度の知識しかありません。 チュートリアル一通り試してみます。 >>165 ありがとうございます。 その二つのドキュメントも読み込んでみます。 >>167 ありがとうございます。 申し遅れておりましたが、Windowsユーザーです。 ただ、教えていただいたコマンドを調べてみると、 Windowsでもインストールすれば、ripgrepを扱えるみたいですね。 必ずしもPythonにこだわらなければならないわけでもないので、 (学習中だったので、使ってみたかった程度) コマンドでの解決も検討してみます。 >>171 >>174 ありがとうございます。 必ずしもPythonでなくてもよいので、Grepやfindstrも調べてみます。 http://mevius.5ch.net/test/read.cgi/tech/1568616071/177
178: 163 [sage] 2020/05/05(火) 17:41:16.65 ID:lrlqOn2p >>175 ありがとうございます。 すごい! まさに私の理想通りの出力結果になりました。 自分なりにいただいたソースコードを調べて、勉強させていただきます。 http://mevius.5ch.net/test/read.cgi/tech/1568616071/178
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.025s