★当スレにRubyのソースコード類を書くことを禁ず★
☆Ruby等、Pythonではないプログラミング言語での回答類を書くのも禁止
☆「Ruby では」「Rubyでは」をNGワード登録推奨
◆エラーを解決したいときはエラー表示(勝手に省略禁止)と
環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書く
◆Pythonのソースコードを5ちゃんにコピペするとインデントが崩れるので
↓にあげてるような、ソースコードうp用サイトに貼ってきてくだしあ
(スクリーンショットをimgur等にうpる「横着」禁止)
ttp://ideone.com/ デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう。
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)
◇Pythonオフィシャルサイト
http://www.python.org/
◇まとめwiki
ttp://python.rdy.jp/
●関連スレ●
くだすれPython(超初心者用) その44【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1563969768/
〇前スレ
Pythonのお勉強 Part61
https://mevius.5ch.net/test/read.cgi/tech/1563622784/
次スレの建立は>>985が挑戦する。
探検
Pythonのお勉強 Part62
1デフォルトの名無しさん
2019/09/16(月) 15:41:11.74ID:OCMqZYFH115デフォルトの名無しさん
2020/04/26(日) 19:57:28.02ID:1kL3nhkt >>114
やっぱこれが臭いかもなと思って試してみたけど、変わらなかった
いい方法が見つからなかったらバイナリで送って1回のデータサイズを固定にしようと思う
デバッグが面倒だからあんまりやりたくないけど
みんなありがとう
やっぱこれが臭いかもなと思って試してみたけど、変わらなかった
いい方法が見つからなかったらバイナリで送って1回のデータサイズを固定にしようと思う
デバッグが面倒だからあんまりやりたくないけど
みんなありがとう
116デフォルトの名無しさん
2020/04/27(月) 10:55:49.73ID:YGWMtg+u117デフォルトの名無しさん
2020/04/27(月) 10:57:19.21ID:YGWMtg+u118デフォルトの名無しさん
2020/04/27(月) 10:58:55.93ID:YGWMtg+u119デフォルトの名無しさん
2020/04/27(月) 13:18:50.32ID:TXuwHWqq 写真や動画を、撮影日時でリネームするプログラムを作成しています。
写真(jpg)はexifから取得できるのですが、
mp4はどのように取得できるのでしょうか?
Windowsの場合、ファイルのプロパティで「メディアの作成日時」というのがあるので、
この値をpythonで取得したいと考えています。
写真(jpg)はexifから取得できるのですが、
mp4はどのように取得できるのでしょうか?
Windowsの場合、ファイルのプロパティで「メディアの作成日時」というのがあるので、
この値をpythonで取得したいと考えています。
120デフォルトの名無しさん
2020/04/27(月) 14:54:53.02ID:l27UEbbh import sys, os, time
import win32com.client
foldername = r'hage\hoge'
filename = 'fuga'
st = os.stat(foldername + r'\' + filename)
print time.asctime(time.localtime(st[7]))
print time.asctime(time.localtime(st[8]))
print time.asctime(time.localtime(st[9]))
sh = win32com.client.Dispatch('Shell.Application')
fol = sh.NameSpace(foldername)
folitem = fol.ParseName(filename)
print fol.GetDetailsOf(folitem, 0)
print fol.GetDetailsOf(folitem, 1)
print fol.GetDetailsOf(folitem, 2)
print fol.GetDetailsOf(folitem, 3)
print fol.GetDetailsOf(folitem, 4)
print fol.GetDetailsOf(folitem, 5)
https://dot-sharp.com/net-getdetailsof/
https://www.atmarkit.co.jp/fdotnet/dotnettips/591mp3tags/mp3tags.html
https://docs.microsoft.com/ja-jp/windows/win32/api/shobjidl_core/nf-shobjidl_core-ishellfolder2-getdetailsof
import win32com.client
foldername = r'hage\hoge'
filename = 'fuga'
st = os.stat(foldername + r'\' + filename)
print time.asctime(time.localtime(st[7]))
print time.asctime(time.localtime(st[8]))
print time.asctime(time.localtime(st[9]))
sh = win32com.client.Dispatch('Shell.Application')
fol = sh.NameSpace(foldername)
folitem = fol.ParseName(filename)
print fol.GetDetailsOf(folitem, 0)
print fol.GetDetailsOf(folitem, 1)
print fol.GetDetailsOf(folitem, 2)
print fol.GetDetailsOf(folitem, 3)
print fol.GetDetailsOf(folitem, 4)
print fol.GetDetailsOf(folitem, 5)
https://dot-sharp.com/net-getdetailsof/
https://www.atmarkit.co.jp/fdotnet/dotnettips/591mp3tags/mp3tags.html
https://docs.microsoft.com/ja-jp/windows/win32/api/shobjidl_core/nf-shobjidl_core-ishellfolder2-getdetailsof
121デフォルトの名無しさん
2020/04/27(月) 15:08:53.33ID:l27UEbbh122デフォルトの名無しさん
2020/04/27(月) 16:53:34.08ID:TXuwHWqq >120,121
できました。ありがとうございます!
できました。ありがとうございます!
123デフォルトの名無しさん
2020/04/27(月) 17:11:08.18ID:On5R6UtW124デフォルトの名無しさん
2020/04/27(月) 17:47:45.89ID:S6IgcIOW こういう感じのコードを書いて、スレッドが実行されるたびにグラフを更新したいんだけど、更新されない。
どうしたら更新するようになるんだろうか?
https://ideone.com/xKNBxF
動作の説明をすると、こんな感じ(〇は動作が確認されている箇所)
・mainでまず、このクラスのインスタンスを生成
ここで、グラフを生成、表示
・mainでstart()して、スレッドを起動
ここで、グラフのデータを更新、
DrawChart()関数で、62〜64行、70〜72行で取得した描画データのハンドル(?)に入れてる
データが更新されているのは確認済み
スレッドが動作しているのも確認済み
なんだけど、グラフが更新されていない。何らかの方法で描画を促す必要があるんだろうけどそれが何なのかが分からない
どうしたら更新するようになるんだろうか?
https://ideone.com/xKNBxF
動作の説明をすると、こんな感じ(〇は動作が確認されている箇所)
・mainでまず、このクラスのインスタンスを生成
ここで、グラフを生成、表示
・mainでstart()して、スレッドを起動
ここで、グラフのデータを更新、
DrawChart()関数で、62〜64行、70〜72行で取得した描画データのハンドル(?)に入れてる
データが更新されているのは確認済み
スレッドが動作しているのも確認済み
なんだけど、グラフが更新されていない。何らかの方法で描画を促す必要があるんだろうけどそれが何なのかが分からない
125デフォルトの名無しさん
2020/04/27(月) 17:57:46.59ID:l27UEbbh draw一回しか呼ばれてない
126デフォルトの名無しさん
2020/04/27(月) 18:22:07.14ID:S6IgcIOW >>125
DrawChart()の最後に、self.fig.canvas.draw()入れると、呼ばれた瞬間落ちるんだけど・・・
DrawChart()の最後に、self.fig.canvas.draw()入れると、呼ばれた瞬間落ちるんだけど・・・
127デフォルトの名無しさん
2020/04/27(月) 18:30:21.87ID:l27UEbbh 両方に入れたら?
128デフォルトの名無しさん
2020/04/27(月) 18:42:55.15ID:kdRxWvyg129デフォルトの名無しさん
2020/04/27(月) 19:28:07.67ID:S6IgcIOW130デフォルトの名無しさん
2020/04/27(月) 19:33:54.89ID:GPaVbTha 英語は読めなくてもコードは読めるなと最近思った。
131デフォルトの名無しさん
2020/04/27(月) 20:18:59.45ID:+seUVNTq コード読んでから説明を読むのだ
132デフォルトの名無しさん
2020/04/28(火) 05:26:45.81ID:CHpsAleC コードの方が文法が少ないから
慣れると英語より楽だね
慣れると英語より楽だね
133デフォルトの名無しさん
2020/04/28(火) 23:48:49.42ID:z88ZISx+ そう言われるまで、
プログラミングが言語を駆使するものだという認識がなかったわ。
まさにLanguageなのにねぇw
慣れてしまうとそんなもんなんだろうか。
プログラミングが言語を駆使するものだという認識がなかったわ。
まさにLanguageなのにねぇw
慣れてしまうとそんなもんなんだろうか。
134デフォルトの名無しさん
2020/04/29(水) 01:25:30.89ID:aX8BTSoD プログラミング言語には重層的な意味がないから単に記号論理的な頭の使い方をすればよくて、
慣れたらほとんど自動的に論理展開が行われちゃうから大抵簡単だよね
高階関数のややこしいのとかは全然わかんないけど
あれも慣れればいけるのかもしれないが
慣れたらほとんど自動的に論理展開が行われちゃうから大抵簡単だよね
高階関数のややこしいのとかは全然わかんないけど
あれも慣れればいけるのかもしれないが
135デフォルトの名無しさん
2020/04/29(水) 09:29:58.71ID:TuLha3Ht ソースコードが仕様書(キリっ
136デフォルトの名無しさん
2020/04/29(水) 10:35:22.49ID:cZ1bml3g 外国人の書いたコードはコメントが英語だから参考にならない
137デフォルトの名無しさん
2020/04/29(水) 13:50:22.63ID:O4788IK/ >>136
自動翻訳にコピペすらできないあほはっけん(*゚д゚)ムホムホ
自動翻訳にコピペすらできないあほはっけん(*゚д゚)ムホムホ
138124
2020/04/29(水) 14:43:10.32ID:DiTATvas >>128を見て、別スレッドで描画するからうまくないってことが分かって修正してたんだけど
また詰まってしまった。
animation.FuncAnimation()で定期的に描画関数を実行するようにしたんだけど、
更新できないんだ。
描画するための関数は何を使えばいいんだろう?
↓が現在のコードで、おそらく、96,97行目をうまいことしてやればいいんだと思うけど、それが分からないんだ
https://pastebin.com/C3p1MpRT
また詰まってしまった。
animation.FuncAnimation()で定期的に描画関数を実行するようにしたんだけど、
更新できないんだ。
描画するための関数は何を使えばいいんだろう?
↓が現在のコードで、おそらく、96,97行目をうまいことしてやればいいんだと思うけど、それが分からないんだ
https://pastebin.com/C3p1MpRT
139デフォルトの名無しさん
2020/04/29(水) 14:54:44.23ID:Kg9KSBpE140デフォルトの名無しさん
2020/04/29(水) 15:02:53.91ID:/cY8SYIV アラビアータは右から読むので大変だろうと思う
141デフォルトの名無しさん
2020/04/29(水) 17:10:30.76ID:DmNhs8y1 日本語も元々は右から左の文化だが
意外と大変じゃないな
意外と大変じゃないな
142デフォルトの名無しさん
2020/04/29(水) 18:43:15.19ID:PE4YX4Ec 右から読みの時代の日本人が現役でいるとは思えないんだが・・・・・
143デフォルトの名無しさん
2020/04/29(水) 19:05:28.84ID:PJPPBooA こういうのでもそんなに苦労せずに読めるって話だろ
https://image.itmedia.co.jp/nl/articles/1711/08/qk_migigaki-1.jpg
https://image.itmedia.co.jp/nl/articles/1711/08/qk_migigaki-1.jpg
144デフォルトの名無しさん
2020/04/29(水) 19:20:52.12ID:qH3UHXua 車のボディに書き込まれる社名に、右から読ませるタイプがある
145デフォルトの名無しさん
2020/04/29(水) 22:18:48.43ID:f6LPbIhG146デフォルトの名無しさん
2020/04/30(木) 10:18:45.32ID:J5HM1FZQ >>144
電話番号は混乱するな
電話番号は混乱するな
147デフォルトの名無しさん
2020/04/30(木) 10:47:19.40ID:aC6sOq5z148デフォルトの名無しさん
2020/04/30(木) 11:16:46.11ID:qQJQyRha さすが大本営発表
149デフォルトの名無しさん
2020/04/30(木) 12:06:40.91ID:J5HM1FZQ 令和二年三月三十一日というと
大東亞戦争で言えば昭和十七年位のレベルだな
大東亞戦争で言えば昭和十七年位のレベルだな
150デフォルトの名無しさん
2020/04/30(木) 12:18:04.39ID:6rah8Luj >>147
出来ればフォントは活版っぽく頼む
出来ればフォントは活版っぽく頼む
151デフォルトの名無しさん
2020/04/30(木) 15:28:24.17ID:cbZ3bzMp 今のキッズはマジで活版印刷された本見たことないんじゃないの
シラネーんだよきっと
見せてもなんで紙がへこんでるのかも知らなさそう
シラネーんだよきっと
見せてもなんで紙がへこんでるのかも知らなさそう
152デフォルトの名無しさん
2020/04/30(木) 23:25:29.06ID:zLT/BN3l コロナ騒ぎあおってる連中がやりたいのって
結局これだよなあ
結局これだよなあ
153デフォルトの名無しさん
2020/04/30(木) 23:37:16.70ID:GAsejKiL python foo.py
python foo.py -s
python foo.py -s 10
を区別したいんだけどどうすれば良いの?
>cat foo.py
import argparse
p = argparse.ArgumentParser()
p.add_argument('-s', nargs='?')
args = p.parse_args()
print(args.s)
>python foo.py
None
>python foo.py -s
None
>python foo.py -s 10
10
これじゃ-sの有無が判らん
python foo.py -s
python foo.py -s 10
を区別したいんだけどどうすれば良いの?
>cat foo.py
import argparse
p = argparse.ArgumentParser()
p.add_argument('-s', nargs='?')
args = p.parse_args()
print(args.s)
>python foo.py
None
>python foo.py -s
None
>python foo.py -s 10
10
これじゃ-sの有無が判らん
154デフォルトの名無しさん
2020/05/01(金) 00:14:53.03ID:eLVhgQ4h -s のアクションが不明
155デフォルトの名無しさん
2020/05/01(金) 01:57:54.00ID:gkl90wa7 if "s" in args:とかじゃだめなん?
156デフォルトの名無しさん
2020/05/01(金) 08:18:55.56ID:gHLn0qVE default=-1とかつければいい。
157デフォルトの名無しさん
2020/05/01(金) 09:17:19.44ID:k2YlXFh6158デフォルトの名無しさん
2020/05/01(金) 09:28:27.73ID:xXuuls7c159デフォルトの名無しさん
2020/05/01(金) 10:50:01.22ID:MCEzZFz/ Ruby のオプションパーサーみたいなやつだろ
ruby script.rb -h a -s 10
と入力すると、
require 'optparse'
opts = { }
ARGV.options do |o|
o.on( "-s 引数", "引数" ) { |x| opts[ :s ] = x }
o.on( "-h 引数", "引数" ) { |x| opts[ :h ] = x }
o.parse!
end
p opts #=> {:h=>"a", :s=>"10"}
ruby script.rb -h a -s 10
と入力すると、
require 'optparse'
opts = { }
ARGV.options do |o|
o.on( "-s 引数", "引数" ) { |x| opts[ :s ] = x }
o.on( "-h 引数", "引数" ) { |x| opts[ :h ] = x }
o.parse!
end
p opts #=> {:h=>"a", :s=>"10"}
160159
2020/05/01(金) 10:57:21.41ID:MCEzZFz/ >>159
の続き
ruby script.rb -h a -s
missing argument: -s
{:h=>"a"}
ruby script.rb -s -h a
{:s=>"-h"}
これは間違えて、次のオプション・-h を引数と勘違いしているw
の続き
ruby script.rb -h a -s
missing argument: -s
{:h=>"a"}
ruby script.rb -s -h a
{:s=>"-h"}
これは間違えて、次のオプション・-h を引数と勘違いしているw
161デフォルトの名無しさん
2020/05/01(金) 14:24:58.96ID:gkl90wa7 >>160
お前生きてて楽しい?
お前生きてて楽しい?
162デフォルトの名無しさん
2020/05/01(金) 17:19:05.23ID:oZ5QHjAY そもそも、"-s"と"10"が何を意味しているかわからないし、
何をしたいのかもわからない。
特に後者は、全体の引数とも、"-s"の値ともとれるわけだし。
>>158
"-s"のほうで、actionを指定すればできるよ
何をしたいのかもわからない。
特に後者は、全体の引数とも、"-s"の値ともとれるわけだし。
>>158
"-s"のほうで、actionを指定すればできるよ
163デフォルトの名無しさん
2020/05/05(火) 12:44:32.20ID:lrlqOn2p フォルダ構成が複雑な、ものすごい膨大なlogファイルから、
特定のワードが含む行と、ファイル名を抽出したいのですが、
・サブフォルダを巡回して命令を実行する
・ファイル名のあとに、検索結果を出す
のやり方がわからず、躓いております。
参考になりそうなサンプルがあればご教示いただけますでしょうか。
test01.log
-----------------------------------
0501 問題ないよ
0501 Error!
|まちがってるよ
|まちがってるよ
0501 問題ないよ
-----------------------------------
このうち
・「Error」のある行
・| ではじまる行
を抜き出し、このような出力結果を希望しています。
test01.log
-----------------------------------
0501 Error!
|まちがってるよ
|まちがってるよ
-----------------------------------
「Find」「再帰的」「文字列」「検索」「Python」「テキストマイニング」などで検索をするも、これといった情報が得られず……
参考になりそうなURL、「こういうワードで検索しろ」などあればお願いします。
特定のワードが含む行と、ファイル名を抽出したいのですが、
・サブフォルダを巡回して命令を実行する
・ファイル名のあとに、検索結果を出す
のやり方がわからず、躓いております。
参考になりそうなサンプルがあればご教示いただけますでしょうか。
test01.log
-----------------------------------
0501 問題ないよ
0501 Error!
|まちがってるよ
|まちがってるよ
0501 問題ないよ
-----------------------------------
このうち
・「Error」のある行
・| ではじまる行
を抜き出し、このような出力結果を希望しています。
test01.log
-----------------------------------
0501 Error!
|まちがってるよ
|まちがってるよ
-----------------------------------
「Find」「再帰的」「文字列」「検索」「Python」「テキストマイニング」などで検索をするも、これといった情報が得られず……
参考になりそうなURL、「こういうワードで検索しろ」などあればお願いします。
164デフォルトの名無しさん
2020/05/05(火) 12:47:27.09ID:hpwOcr6+165デフォルトの名無しさん
2020/05/05(火) 13:47:12.99ID:JDagEH9a Perl時代の教科書は一章まるまる使って正規表現説明してたが
Pythonじゃあそういうことは無くなった
なので現代では言語に関わりなく「正規表現」というキーワード自体知らない、ということが起こってるのではなかろうか
Python チュートリアル ― Python 3.8.3rc1 ドキュメント
https://docs.python.org/ja/3/tutorial/index.html
公式チュートリアルでも「標準ライブラリミニツアー」の箇所にちょっと置かれているだけで、扱いが非常に小さい
つまり、初心者はそこまで念入りには読まないだろうから、キーワード自体を知らない
Pythonじゃあそういうことは無くなった
なので現代では言語に関わりなく「正規表現」というキーワード自体知らない、ということが起こってるのではなかろうか
Python チュートリアル ― Python 3.8.3rc1 ドキュメント
https://docs.python.org/ja/3/tutorial/index.html
公式チュートリアルでも「標準ライブラリミニツアー」の箇所にちょっと置かれているだけで、扱いが非常に小さい
つまり、初心者はそこまで念入りには読まないだろうから、キーワード自体を知らない
166デフォルトの名無しさん
2020/05/05(火) 14:05:25.10ID:3RO6WiLW167デフォルトの名無しさん
2020/05/05(火) 14:15:49.76ID:uTsiWylk >>163
grep使えって
出力フォーマットが気に入らないなら
ripgrep使うかgrep -lをループさせればいい
$ rg -n "^¥||Error" ./*.log
./test02.log
2:0501 Error!
3:|まちがってるよ
4:|まちがってるよ
./test01.log
2:0501 Error!
3:|まちがってるよ
4:|まちがってるよ
grep使えって
出力フォーマットが気に入らないなら
ripgrep使うかgrep -lをループさせればいい
$ rg -n "^¥||Error" ./*.log
./test02.log
2:0501 Error!
3:|まちがってるよ
4:|まちがってるよ
./test01.log
2:0501 Error!
3:|まちがってるよ
4:|まちがってるよ
168デフォルトの名無しさん
2020/05/05(火) 14:18:12.72ID:uTsiWylk regex="^¥||Error"
grep -l -E "$regex" ./*.log | while read file
do
echo "$file"
grep -h -E "$regex" "$file" | xargs printf "¥t%s¥n"
done
#出力
./test01.log
0501 Error!
|まちがってるよ
|まちがってるよ
./test02.log
0501 Error!
|まちがってるよ
|まちがってるよ
grep -l -E "$regex" ./*.log | while read file
do
echo "$file"
grep -h -E "$regex" "$file" | xargs printf "¥t%s¥n"
done
#出力
./test01.log
0501 Error!
|まちがってるよ
|まちがってるよ
./test02.log
0501 Error!
|まちがってるよ
|まちがってるよ
169デフォルトの名無しさん
2020/05/05(火) 14:32:59.61ID:G46XbD1M170デフォルトの名無しさん
2020/05/05(火) 14:37:02.54ID:KwIsFJ1G171デフォルトの名無しさん
2020/05/05(火) 15:10:14.14ID:93UQ4haG >>163
「膨大な」と書いてあるのでpythonでやるのは速度的な面で躊躇する
他の人も書いているけど標準コマンドを使うのが速い
・Linux/macOSならgrep
・Windowsならfindstr
「フォルダ構成が複雑な」と書かれているのでサブフォルダまで検索するには
・grepの場合は-rオプション
・findstrの場合は/Sオプション
を付ける
何らかの理由でpython縛りなら
glob.glob
os.wak
のどちらかを使ってファイルリストを取得した上で、そのファイルに指定したキーワードが含まれるか確認する
「膨大な」と書いてあるのでpythonでやるのは速度的な面で躊躇する
他の人も書いているけど標準コマンドを使うのが速い
・Linux/macOSならgrep
・Windowsならfindstr
「フォルダ構成が複雑な」と書かれているのでサブフォルダまで検索するには
・grepの場合は-rオプション
・findstrの場合は/Sオプション
を付ける
何らかの理由でpython縛りなら
glob.glob
os.wak
のどちらかを使ってファイルリストを取得した上で、そのファイルに指定したキーワードが含まれるか確認する
172デフォルトの名無しさん
2020/05/05(火) 15:34:33.06ID:DTkAo5/g 時代的に書き込み時に複雑なパースが必要になるようなやり方はしないように
って方針が一般化してきたからだろう。
もしくはjson,yamlなら専用のライブラリがあったりでわざわざ正規表現使う必要性も下がってる。
って方針が一般化してきたからだろう。
もしくはjson,yamlなら専用のライブラリがあったりでわざわざ正規表現使う必要性も下がってる。
173デフォルトの名無しさん
2020/05/05(火) 15:38:40.27ID:JDagEH9a ……多分時代が違っていて、grepやawkといったコマンドラインツールはおろか、
リダイレクトやパイプの使い方から知らない
そもそもコマンドラインを使わないから、cdやdirコマンドですらもあやしい世代だ
本当に知らないんだよ
リダイレクトやパイプの使い方から知らない
そもそもコマンドラインを使わないから、cdやdirコマンドですらもあやしい世代だ
本当に知らないんだよ
174デフォルトの名無しさん
2020/05/05(火) 15:40:34.82ID:rwJ86+M0 grep -E '^\||Error' -Hd skip ./**/*.log
-E で正規表現。
-d skip で、ディレクトリ名を非表示。
-H で、ファイル名も表示。
ディレクトリの再帰は、./**/*
出力
./test/test01.log:0501 Error!
./test/test01.log:|まちがってるよ
./test/test01.log:|まちがってるよ
この出力から、: の前をファイル名、後を行に、分解すればよい
Ruby の、glob でも出来るけど
-E で正規表現。
-d skip で、ディレクトリ名を非表示。
-H で、ファイル名も表示。
ディレクトリの再帰は、./**/*
出力
./test/test01.log:0501 Error!
./test/test01.log:|まちがってるよ
./test/test01.log:|まちがってるよ
この出力から、: の前をファイル名、後を行に、分解すればよい
Ruby の、glob でも出来るけど
175デフォルトの名無しさん
2020/05/05(火) 16:29:06.07ID:E9jCQTmY176デフォルトの名無しさん
2020/05/05(火) 17:07:50.66ID:D2QZwsc6 アホしかおらんのか
177163
2020/05/05(火) 17:41:03.01ID:lrlqOn2p たくさんのご返信ありがとうございます。
>>164
ありがとうございました。
ご推察の通り、Pythonは本を一冊読んだ程度の知識しかありません。
チュートリアル一通り試してみます。
>>165
ありがとうございます。
その二つのドキュメントも読み込んでみます。
>>167
ありがとうございます。
申し遅れておりましたが、Windowsユーザーです。
ただ、教えていただいたコマンドを調べてみると、
Windowsでもインストールすれば、ripgrepを扱えるみたいですね。
必ずしもPythonにこだわらなければならないわけでもないので、
(学習中だったので、使ってみたかった程度)
コマンドでの解決も検討してみます。
>>171
>>174
ありがとうございます。
必ずしもPythonでなくてもよいので、Grepやfindstrも調べてみます。
>>164
ありがとうございました。
ご推察の通り、Pythonは本を一冊読んだ程度の知識しかありません。
チュートリアル一通り試してみます。
>>165
ありがとうございます。
その二つのドキュメントも読み込んでみます。
>>167
ありがとうございます。
申し遅れておりましたが、Windowsユーザーです。
ただ、教えていただいたコマンドを調べてみると、
Windowsでもインストールすれば、ripgrepを扱えるみたいですね。
必ずしもPythonにこだわらなければならないわけでもないので、
(学習中だったので、使ってみたかった程度)
コマンドでの解決も検討してみます。
>>171
>>174
ありがとうございます。
必ずしもPythonでなくてもよいので、Grepやfindstrも調べてみます。
178163
2020/05/05(火) 17:41:16.65ID:lrlqOn2p179デフォルトの名無しさん
2020/05/05(火) 18:25:34.80ID:XXjmfIiw おいおい>>175は冗談で出した例だろ
180デフォルトの名無しさん
2020/05/05(火) 18:51:52.49ID:rwJ86+M0 Ruby で作った
# . で始まる、隠し directory, file を除く
glob_pattern = "/mnt/c/Users/Owner/Documents/test/**/*.log"
re = /^\||Error/
first_time = true # 最初の1回だけ
Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみ
.each do |full_path|
# 末尾の改行を削除して、1行ずつ処理する
File.foreach( full_path, chomp: true ) do |line|
line.match( re ) do |matched| # 一致した行だけ
if first_time # 最初だけ
puts full_path
first_time = false
end
puts line
end
end
first_time = true
end
出力
/mnt/c/Users/Owner/Documents/test/test/test01.log
0501 Error!
|まちがってるよ
|まちがってるよ
/mnt/c/Users/Owner/Documents/test/test02.log
|xx
bb Errorzz
# . で始まる、隠し directory, file を除く
glob_pattern = "/mnt/c/Users/Owner/Documents/test/**/*.log"
re = /^\||Error/
first_time = true # 最初の1回だけ
Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみ
.each do |full_path|
# 末尾の改行を削除して、1行ずつ処理する
File.foreach( full_path, chomp: true ) do |line|
line.match( re ) do |matched| # 一致した行だけ
if first_time # 最初だけ
puts full_path
first_time = false
end
puts line
end
end
first_time = true
end
出力
/mnt/c/Users/Owner/Documents/test/test/test01.log
0501 Error!
|まちがってるよ
|まちがってるよ
/mnt/c/Users/Owner/Documents/test/test02.log
|xx
bb Errorzz
181デフォルトの名無しさん
2020/05/05(火) 21:21:30.44ID:6nb4DqgK 本当にデータが大きいのであれば
データを分割して複数のPCで並列実行するのも
考えた方がいい
データを分割して複数のPCで並列実行するのも
考えた方がいい
182デフォルトの名無しさん
2020/05/05(火) 23:18:26.51ID:G46XbD1M Pythonでもシェルでもどっちでも良いけど、大量ファイル相手ならマルチで処理すれば良い
ファイル毎にやる処理同じなんだから
ファイル毎にやる処理同じなんだから
183180
2020/05/06(水) 21:09:35.21ID:Fjn1hDTG184デフォルトの名無しさん
2020/05/06(水) 21:20:13.91ID:ohBd/rOh185デフォルトの名無しさん
2020/05/07(木) 21:24:10.42ID:xxddKGgg186デフォルトの名無しさん
2020/05/07(木) 21:25:15.27ID:xxddKGgg187デフォルトの名無しさん
2020/05/07(木) 22:16:34.03ID:O8jL8wQb >温かみのある書き方
「職人が一行一行、丁寧に書き上げました」
「職人が一行一行、丁寧に書き上げました」
188sage
2020/05/07(木) 23:20:38.81ID:RMklkh4T rubyは玄人向けだから初心者は使っちゃダメだぞっ
import glob
for log in glob.glob('**/*.log', recursive=True):
. outputs = []
. with open(log, 'r') as f:
. for line in f:
. if line.startswith('|') or line.find('Error') >= 0:
. outputs.append(line)
. if len(outputs):
. print(log)
. print('----------')
. print(''.join(outputs), end='')
. print('----------')
import glob
for log in glob.glob('**/*.log', recursive=True):
. outputs = []
. with open(log, 'r') as f:
. for line in f:
. if line.startswith('|') or line.find('Error') >= 0:
. outputs.append(line)
. if len(outputs):
. print(log)
. print('----------')
. print(''.join(outputs), end='')
. print('----------')
189デフォルトの名無しさん
2020/05/07(木) 23:21:50.47ID:VKbX/7v8 美味しそうw
190デフォルトの名無しさん
2020/05/07(木) 23:37:05.12ID:Lnek/XJg >>188
`in`を使いましょう
The find() method should be used only if you need to know the position of sub. To check if sub is a substring or not, use the in operator:
ついでにRubyの例はoutputsの配列が
めちゃくちゃでかくなる可能性も考慮されてる
`in`を使いましょう
The find() method should be used only if you need to know the position of sub. To check if sub is a substring or not, use the in operator:
ついでにRubyの例はoutputsの配列が
めちゃくちゃでかくなる可能性も考慮されてる
191180
2020/05/08(金) 12:32:49.45ID:Fn4yfVbS192180
2020/05/08(金) 12:39:56.07ID:Fn4yfVbS Python は大学院卒とか、高学歴の非プログラマーの学者が使うもの。
数学・統計は知っているけど、プログラミング・コンピューター・OS などを知らない
一方、Ruby は低学歴の職人プログラマーが使うもの。
数学・統計は知らないけど、プログラミング・コンピューター・OS などには詳しい
だから、Rubyの1行1行には、職人さんが丁寧に書いた、温かみが感じられる!
数学・統計は知っているけど、プログラミング・コンピューター・OS などを知らない
一方、Ruby は低学歴の職人プログラマーが使うもの。
数学・統計は知らないけど、プログラミング・コンピューター・OS などには詳しい
だから、Rubyの1行1行には、職人さんが丁寧に書いた、温かみが感じられる!
193デフォルトの名無しさん
2020/05/08(金) 13:25:49.56ID:tDlcbx57 Pythonが文字列処理得意だったらなあ
194デフォルトの名無しさん
2020/05/08(金) 17:09:53.24ID:JpV79Xjz195デフォルトの名無しさん
2020/05/08(金) 19:00:25.69ID:ztqG52En 例えば多数ある文章間で使用単語の類似性を検討するにはどの言語がやりやすい?
196デフォルトの名無しさん
2020/05/08(金) 19:26:27.46ID:qca/Mwjw >>195
word2vecやdoc2vecのライブラリが揃ってたらどの言語でも良いと思う
参考資料が多いと言う観点や辞書の手に入りやすさと言う観点からはpythonかな
その他重要なのは、対象とする文書を読み込めるを機能があるかどうか
mdやtxtのASCIIばかりでなくdocxやpdfも対象と言うことならpythonでいい
word2vecやdoc2vecのライブラリが揃ってたらどの言語でも良いと思う
参考資料が多いと言う観点や辞書の手に入りやすさと言う観点からはpythonかな
その他重要なのは、対象とする文書を読み込めるを機能があるかどうか
mdやtxtのASCIIばかりでなくdocxやpdfも対象と言うことならpythonでいい
197デフォルトの名無しさん
2020/05/08(金) 21:30:24.58ID:FhTTD0+N198デフォルトの名無しさん
2020/05/08(金) 23:18:55.72ID:B0NvsSSc >>194
ぱいそんに
ぱいそんに
199デフォルトの名無しさん
2020/05/09(土) 09:29:52.12ID:3rxWY8lS おっぱyは4bytes
200デフォルトの名無しさん
2020/05/09(土) 11:28:18.96ID:4AGhJAkS 知識が20年前ぐらいで止まってるんだけど
perlのかわりになりますかね
perlのかわりになりますかね
201デフォルトの名無しさん
2020/05/09(土) 13:14:16.71ID:mr/P9GQq perlが書ける人なら、大概の言語はOKなんではないか?
202デフォルトの名無しさん
2020/05/09(土) 14:05:02.83ID:/WGeoYJn203デフォルトの名無しさん
2020/05/09(土) 14:14:06.26ID:m5t3nUyt perlのどこまでを要求するかにもよるだろうけど、
概ね他の言語(Python含む)で代替できるのでは?
概ね他の言語(Python含む)で代替できるのでは?
204デフォルトの名無しさん
2020/05/09(土) 14:18:35.09ID:m5t3nUyt205デフォルトの名無しさん
2020/05/09(土) 15:55:31.80ID:mr/P9GQq その記述はviでもsedでも使えるので便利
206デフォルトの名無しさん
2020/05/09(土) 18:24:57.68ID:9+f2Z3ZT207デフォルトの名無しさん
2020/05/09(土) 18:26:06.32ID:9+f2Z3ZT Perlって記号多用して読みにくくなるから
Pythonの方がいいわ
Pythonの方がいいわ
208デフォルトの名無しさん
2020/05/09(土) 18:57:08.84ID:Gxw/aWGG ワンライナーをするにはpythonはあんま向いてないな。まあ最近ワンライナーあんまり使わなくなってきたけど。
209デフォルトの名無しさん
2020/05/10(日) 09:06:42.56ID:j31NiFTx pythonだと読みやすくするために
毎回一時変数使って構造化しないといけないから
書き捨てるようなテキスト処理とは相性が悪い
毎回一時変数使って構造化しないといけないから
書き捨てるようなテキスト処理とは相性が悪い
210デフォルトの名無しさん
2020/05/11(月) 22:09:27.83ID:qfXbD+ub >>188
横から質問します。
私は163さんではありませんが、学習のためにここを覗きました。
記載されているプログラムを実行すると、
’|まちがってるよ¥n’ ,’|まちがってるよ¥n’
と前後に記号と、改行コードがついてしまいますが、これを除去して出力する方法はありますでしょうか。
横から質問します。
私は163さんではありませんが、学習のためにここを覗きました。
記載されているプログラムを実行すると、
’|まちがってるよ¥n’ ,’|まちがってるよ¥n’
と前後に記号と、改行コードがついてしまいますが、これを除去して出力する方法はありますでしょうか。
211デフォルトの名無しさん
2020/05/11(月) 23:26:53.85ID:masQzK0H line.rstrip()
212デフォルトの名無しさん
2020/05/12(火) 10:06:33.55ID:4WwqN1hQ ほちがってるよ
213デフォルトの名無しさん
2020/05/12(火) 11:44:31.16ID:s06VnCgE214210
2020/05/12(火) 22:39:09.39ID:7RXslmjs215210
2020/05/12(火) 22:40:50.64ID:7RXslmjsレスを投稿する
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】日本代表MF 中村敬斗 ボリビア戦のスーパーゴールに「惚れるわ」「痺れる程のゴールこれでご飯何杯いけるのよ」 [阿弥陀ヶ峰★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- 自閉症が「んなっしょい」と連呼するお🏡
- 日本人の海外旅行したきのマナーよくなったのはいつから
- へそグリグリ
- 結婚しないやつは異性は嫌いなの?
