X



くだすれPython(超初心者用) その39
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん垢版2018/08/24(金) 07:50:35.97ID:VD4/++xS
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その38
https://mevius.5ch.net/test/read.cgi/tech/1526522954/
0956デフォルトの名無しさん垢版2018/11/20(火) 21:15:21.06ID:yKairBEQ
[x for x in glob.glob() if int("".join(re.findall("\d", x))) > 0]
でいけるかな
ファイル名が決め打ちで分かってるなら
[x for x in glob.glob() if int(x.replace("aaa_","").replace(".txt","")) > 0]
でもいける
でも今日日os.scandir()とかあるのにglob使う必要性はないと思う
0958デフォルトの名無しさん垢版2018/11/20(火) 21:19:44.13ID:5NbKWroI
俺の環境(python2.7 Win7(XPからのアプデ))では
time sleepは常にラグい (`・ω・´)キリッ
0960デフォルトの名無しさん垢版2018/11/20(火) 21:36:20.21ID:lC+kMZiu
glob.glob('aaa_*.txt').remove('aaa_000.txt')
0961デフォルトの名無しさん垢版2018/11/20(火) 21:46:55.78ID:PIfvSzhu
>>956
>>959
サンクス、コピペしたけど動かなかったので諦めました

>でも今日日os.scandir()とかあるのにglob使う必要性はないと思う
os.scandir ←これ知らんかたわw これでなんとかなりそうですw


>>960

           .-´    ``ヽ   
          /  ヽー     `ヽ
         / ノ    (O )ノ ̄ ̄`ヽ、―ニ  
        / (●) __)⌒/ ´`ヽ _  三,:三ー三,:
        | ::⌒(__ノ/  ノヽ--/ ̄ ,    `   ` ̄ ̄ ̄
       。ヽ 。   )(  }.  ...|  /!    
          ヽo (__ン  }、ー‐し'ゝL _  
         人  ー   jr--‐‐'´}    ;ーー------
        /        ヾ---‐'ーr‐'"==
                    |
0962デフォルトの名無しさん垢版2018/11/20(火) 22:15:47.35ID:lC+kMZiu
>>960
何でダメなのかわからんかったけどremoveメソッドはNoneを返すんだな

x = glob.glob('aaa_*.txt')
x.remove('aaa_000.txt')

>>961
ごめんね
0966デフォルトの名無しさん垢版2018/11/21(水) 18:42:34.45ID:vOPCMSrj
bashからpythonのCGIプログラムを実行するときにGETパラメータを渡す方法を教えてください。
0970デフォルトの名無しさん垢版2018/11/21(水) 20:14:02.86ID:NMvk2xsS
pythonのCGIン中のimportんところの最後に

import cgitb
cgitb.enable()

と書け

デバッグが終わったら消すのを忘れるな
忘れるとたいへんなことがおきる
0972デフォルトの名無しさん垢版2018/11/21(水) 20:50:52.10ID:jrFgFGaV
‘/home/hoge/foo/*.txt’ みたいなパスが与えられてglobしたい時って、pathlibだと一度切り分けて
Path(‘/home/hoge/foo’).glob(‘*.txt’)
とするしか無い?
glob.globなら最初のパスを丸ごと与えて終わるけど
0973デフォルトの名無しさん垢版2018/11/21(水) 21:06:34.58ID:JM/nMfDs
pathlib使わんくてもええんやで?なにに追い立てられとるんやおまえら?
0976デフォルトの名無しさん垢版2018/11/22(木) 08:55:38.42ID:GbIN7rVe
>>974
そんな基本的なことで自慢しなけりゃならないとはよっぽどショボい言語なんだなww
>>964 という状況に追い込まれるのも当然な気がするwww
0980デフォルトの名無しさん垢版2018/11/22(木) 13:34:33.95ID:blyr971h
次スレよろ
0982デフォルトの名無しさん垢版2018/11/23(金) 16:02:50.08ID:joE0voDR
rate="486,380(26.03%)"
みたいなのから正規表現で26.03だけ取り出したいんですけどどうすればいいですか?
最初はrate[-7:-2]で取り出そうと思ったんですけど、たまに"500(3.27%)みたいな%が一桁のデータがあって、出力すると(3.27になり、エラーの原因になってしまうんです
つまり()の中の数字だけ取り出す方法を教えてください
0983デフォルトの名無しさん垢版2018/11/23(金) 16:34:17.54ID:e4GZHgy/
>>982
re.compile(r'\((.*)\%\)', re.I)
0984デフォルトの名無しさん垢版2018/11/23(金) 17:04:36.40ID:joE0voDR
>>983
神がいた
最後のre.lがあるとなんかエラー起きたけどちょっと弄ったらできたわ
ありがとうございます
正規表現は素人には難しい
0985デフォルトの名無しさん垢版2018/11/23(金) 17:08:26.06ID:f04GZ1ux
>>982
'\d+\.\d+(?=\%)'
0988デフォルトの名無しさん垢版2018/11/24(土) 03:48:05.11ID:01jBobXF
Ruby で作った。
正規表現内で特別な意味をもつ、特殊文字を判別する

rp = Regexp.escape "(%)"
puts rp #=> \(%\)

( ) は特殊文字なので、それらから特別な意味を除いて、単なる文字として使うには、
前に、\(逆スラッシュ)を付けて、エスケープする

rate = "486,380(26.03%)"

md = rate.match /\((.*)%\)/
puts md[ 0 ] #=> (26.03%)
puts md[ 1 ] #=> 26.03

外側の( ) は、単なる文字として使うので、\( \) とエスケープするが、
内側の( ) は、キャプチャーの意味なので、エスケープしない

md[0]はマッチした文字列で、md[1]は、( )でキャプチャーした部分
0991デフォルトの名無しさん垢版2018/11/24(土) 11:16:19.41ID:ZWAqZgZk
>>990
記事読んでみたらRuby落ち目で草
0992デフォルトの名無しさん垢版2018/11/24(土) 12:12:32.95ID:4kdGLnPd
re.search と re.findall どっち使うのが良いの?
web で調べると re.search 使ってる人や薦める人が多いみたいだけど
実際は re.findall の方が使いやすいと感じる
0994デフォルトの名無しさん垢版2018/11/24(土) 12:25:19.78ID:rqBWhuzZ
だいたいre.searchを薦めてる奴はその理由を書いてるだろ
(書いてない奴はゴミだから信用するな)
それを理解した上でre.findallの方がというなら、もはや否定する理由はない
お前の中ではそうなんだな、で終わりだ
0995デフォルトの名無しさん垢版2018/11/24(土) 13:07:33.24ID:b4dZse+n
>>994
だったら最初から黙っとけよ、チンカス
0996デフォルトの名無しさん垢版2018/11/24(土) 13:11:24.69ID:4kdGLnPd
finditer が良さそうなのでこれにします
本当にありがとうございました
仲良くしてね
0997デフォルトの名無しさん垢版2018/11/24(土) 14:00:15.36ID:f9pHxWoA
一個見つかれば良い状況で
searchではなくfinditer使うのは面倒くさいだけのような
finditerはマッチしてもしなくてもイテレータが帰ってきちゃう
0999デフォルトの名無しさん垢版2018/11/24(土) 14:24:37.27ID:4kdGLnPd
何個見つかるか事前に判らないので
match したかしなかったか調べるのに if m is None: みたいな書き方するなら
for _ in iter: でする方が楽なんです
条件後付けと言われればその通りですが
1000デフォルトの名無しさん垢版2018/11/24(土) 14:25:34.56ID:4kdGLnPd
ume
10011001垢版Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 92日 6時間 34分 59秒
10021002垢版Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況