2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

くだすれPython(超初心者用) その39

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

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

前スレ
くだすれPython(超初心者用) その38
https://mevius.5ch.net/test/read.cgi/tech/1526522954/

956 :デフォルトの名無しさん:2018/11/20(火) 20:51:12.06 ID:+8Izpd7U.net
>>955
その方が後から見てわかりやすいしな

957 :デフォルトの名無しさん:2018/11/20(火) 21:05:36.49 ID:5mSMf66i.net
あああ、mjdって「マジで」かー

958 :デフォルトの名無しさん:2018/11/20(火) 21:13:03.42 ID:aqI13PjQ.net
いくらくだすれとはいえこんな頭のおかしい奴が回答者だとは…

959 :デフォルトの名無しさん:2018/11/20(火) 21:13:50.48 ID:5NbKWroI.net
初心者の
初心者による
初心者のための
互助すれ

960 :デフォルトの名無しさん:2018/11/20(火) 21:15:21.06 ID:yKairBEQ.net
[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使う必要性はないと思う

961 :デフォルトの名無しさん:2018/11/20(火) 21:15:59.61 ID:3m3Squu1.net
Pythonのtime sleepとcrontabのコードって相性悪くない?

962 :デフォルトの名無しさん:2018/11/20(火) 21:19:44.13 ID:5NbKWroI.net
俺の環境(python2.7 Win7(XPからのアプデ))では
time sleepは常にラグい (`・ω・´)キリッ

963 :デフォルトの名無しさん:2018/11/20(火) 21:22:17.92 ID:yKairBEQ.net
[x for x in glob.glob() if {y for y in x if y.isdigit() and y != "0"}]
が一番スマート()か

964 :デフォルトの名無しさん:2018/11/20(火) 21:36:20.21 ID:lC+kMZiu.net
glob.glob('aaa_*.txt').remove('aaa_000.txt')

965 :デフォルトの名無しさん:2018/11/20(火) 21:46:55.78 ID:PIfvSzhu.net
>>960
>>963
サンクス、コピペしたけど動かなかったので諦めました

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


>>964

           .-´    ``ヽ   
          /  ヽー     `ヽ
         / ノ    (O )ノ ̄ ̄`ヽ、―ニ  
        / (●) __)⌒/ ´`ヽ _  三,:三ー三,:
        | ::⌒(__ノ/  ノヽ--/ ̄ ,    `   ` ̄ ̄ ̄
       。ヽ 。   )(  }.  ...|  /!    
          ヽo (__ン  }、ー‐し'ゝL _  
         人  ー   jr--‐‐'´}    ;ーー------
        /        ヾ---‐'ーr‐'"==
                    |

966 :デフォルトの名無しさん:2018/11/20(火) 22:15:47.35 ID:lC+kMZiu.net
>>964
何でダメなのかわからんかったけどremoveメソッドはNoneを返すんだな

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

>>965
ごめんね

967 :デフォルトの名無しさん:2018/11/21(水) 01:45:07.75 ID:yscr9wE/.net
Ruby で、配列の差集合を使った

ary = Dir.glob( 'aaa_*.txt' ) - [ 'aaa_000.txt' ]

968 :デフォルトの名無しさん:2018/11/21(水) 02:04:45.67 ID:ILAAUKO6.net
Rubyが大人気!Rubyが大人気!
学ぶ価値がある大人気言語Ruby!!

https://gigazine.net/news/20181116-top-programming-languages-2018/
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
https://findy-code.io/engineer-lab/github-programming-language-ranking
https://i.imgur.com/0YbMsqj.jpg

969 :デフォルトの名無しさん:2018/11/21(水) 18:00:19.78 ID:/haBP7x7.net
なぜpathlib使わないのか

970 :デフォルトの名無しさん:2018/11/21(水) 18:42:34.45 ID:vOPCMSrj.net
bashからpythonのCGIプログラムを実行するときにGETパラメータを渡す方法を教えてください。

971 :デフォルトの名無しさん:2018/11/21(水) 20:05:39.22 ID:NMvk2xsS.net
get1=get1_val
get2=get2_val
が渡したいとすると

url="http://example.com/cgi-bin/recv.php?get1=get1_val&get2=get2_val"
curl $url

972 :デフォルトの名無しさん:2018/11/21(水) 20:07:16.16 ID:NMvk2xsS.net
http://example.com/cgi-bin/recv.php

pythonのcgiを置いて動かしてるアドレスに読み替えてくれ

973 :デフォルトの名無しさん:2018/11/21(水) 20:07:21.27 ID:vOPCMSrj.net
デバックしたいです。

974 :デフォルトの名無しさん:2018/11/21(水) 20:14:02.86 ID:NMvk2xsS.net
pythonのCGIン中のimportんところの最後に

import cgitb
cgitb.enable()

と書け

デバッグが終わったら消すのを忘れるな
忘れるとたいへんなことがおきる

975 :デフォルトの名無しさん:2018/11/21(水) 20:16:30.77 ID:NMvk2xsS.net
>>971-972 あとで見返す人も居ないと思うがもうちょっとわかりやすく書いておこう

get1としてget1_val
get2としてget2_val
が渡したい


Apacheなんかでlocalhostを動かしていて
bash-cgiふぉるだんなかに
ターゲットとなるhoge.cgiが置いてある
とすると

url="http://localhost/bash-cgi/hoge.cgi?get1=get1_val&get2=get2_val"
curl $url

976 :デフォルトの名無しさん:2018/11/21(水) 20:50:52.10 ID:jrFgFGaV.net
‘/home/hoge/foo/*.txt’ みたいなパスが与えられてglobしたい時って、pathlibだと一度切り分けて
Path(‘/home/hoge/foo’).glob(‘*.txt’)
とするしか無い?
glob.globなら最初のパスを丸ごと与えて終わるけど

977 :デフォルトの名無しさん:2018/11/21(水) 21:06:34.58 ID:JM/nMfDs.net
pathlib使わんくてもええんやで?なにに追い立てられとるんやおまえら?

978 :デフォルトの名無しさん:2018/11/22(木) 00:08:45.16 ID:VnO3ZoaR.net
Ruby では、絶対・相対パスの両方が使えるよ

Dir.glob( 'C:/Users/Owner/Documents/*.txt' )

979 :デフォルトの名無しさん:2018/11/22(木) 08:08:40.14 ID:MlwCwGep.net
>>978
荒らし氏ね

980 :デフォルトの名無しさん:2018/11/22(木) 08:55:38.42 ID:GbIN7rVe.net
>>978
そんな基本的なことで自慢しなけりゃならないとはよっぽどショボい言語なんだなww
>>968 という状況に追い込まれるのも当然な気がするwww

981 :デフォルトの名無しさん:2018/11/22(木) 09:44:14.26 ID:5DqVDDdG.net
ガイジしか使ってないし
開発者もガイジ揃いだから

982 :デフォルトの名無しさん:2018/11/22(木) 11:17:29.92 ID:yaFldicH.net
Rubyはガイジ隔離言語として世の役に立ってるよなw

983 :デフォルトの名無しさん:2018/11/22(木) 12:06:33.50 ID:kIWLxEQb.net
(Rubyガイジ)うんこ…うんこ…

984 :デフォルトの名無しさん:2018/11/22(木) 13:34:33.95 ID:blyr971h.net
次スレよろ

985 :デフォルトの名無しさん:2018/11/22(木) 17:10:16.21 ID:JDIt5Mgb.net
( ・∀・)ノフォラァヨ!!---===≡≡≡ くだすれPython(超初心者用) その40
http://mevius.5ch.net/test/read.cgi/tech/1542874174/

986 :デフォルトの名無しさん:2018/11/23(金) 16:02:50.08 ID:joE0voDR.net
rate="486,380(26.03%)"
みたいなのから正規表現で26.03だけ取り出したいんですけどどうすればいいですか?
最初はrate[-7:-2]で取り出そうと思ったんですけど、たまに"500(3.27%)みたいな%が一桁のデータがあって、出力すると(3.27になり、エラーの原因になってしまうんです
つまり()の中の数字だけ取り出す方法を教えてください

987 :デフォルトの名無しさん:2018/11/23(金) 16:34:17.54 ID:e4GZHgy/.net
>>986
re.compile(r'\((.*)\%\)', re.I)

988 :デフォルトの名無しさん:2018/11/23(金) 17:04:36.40 ID:joE0voDR.net
>>987
神がいた
最後のre.lがあるとなんかエラー起きたけどちょっと弄ったらできたわ
ありがとうございます
正規表現は素人には難しい

989 :デフォルトの名無しさん:2018/11/23(金) 17:08:26.06 ID:f04GZ1ux.net
>>986
'\d+\.\d+(?=\%)'

990 :デフォルトの名無しさん:2018/11/23(金) 17:41:39.39 ID:joE0voDR.net
>>989
こっちでもできた
しゅごい

991 :デフォルトの名無しさん:2018/11/23(金) 18:29:59.34 ID:cGOad0jL.net
>>990
かわいい
掘らせて ハアハア(´Д`*)

992 :デフォルトの名無しさん:2018/11/24(土) 03:48:05.11 ID:01jBobXF.net
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]は、( )でキャプチャーした部分

993 :デフォルトの名無しさん:2018/11/24(土) 08:22:15.36 ID:sJe2ncgH.net
>>992
いい加減にしろよ屑

994 :デフォルトの名無しさん:2018/11/24(土) 09:57:01.31 ID:hG+y0dS8.net
>>992
圧倒的大人気言語Ruby!!

https://gigazine.net/news/20181116-top-programming-languages-2018/
https://www.softantenna.com/wp/software/the-state-of-the-octoverse-2018/
https://www.softantenna.com/wp/software/ieee-spectrum-top-programming-languages-2018/
https://findy-code.io/engineer-lab/github-programming-language-ranking
https://i.imgur.com/0YbMsqj.jpg

大人気!!!

995 :デフォルトの名無しさん:2018/11/24(土) 11:16:19.41 ID:ZWAqZgZk.net
>>994
記事読んでみたらRuby落ち目で草

996 :デフォルトの名無しさん:2018/11/24(土) 12:12:32.95 ID:4kdGLnPd.net
re.search と re.findall どっち使うのが良いの?
web で調べると re.search 使ってる人や薦める人が多いみたいだけど
実際は re.findall の方が使いやすいと感じる

997 :デフォルトの名無しさん:2018/11/24(土) 12:22:51.14 ID:rqBWhuzZ.net
お前が使いやすいと思うものを使え
お前の感性なんざ知らねえよ

998 :デフォルトの名無しさん:2018/11/24(土) 12:25:19.78 ID:rqBWhuzZ.net
だいたいre.searchを薦めてる奴はその理由を書いてるだろ
(書いてない奴はゴミだから信用するな)
それを理解した上でre.findallの方がというなら、もはや否定する理由はない
お前の中ではそうなんだな、で終わりだ

999 :デフォルトの名無しさん:2018/11/24(土) 13:07:33.24 ID:b4dZse+n.net
>>998
だったら最初から黙っとけよ、チンカス

1000 :デフォルトの名無しさん:2018/11/24(土) 13:11:24.69 ID:4kdGLnPd.net
finditer が良さそうなのでこれにします
本当にありがとうございました
仲良くしてね

1001 :デフォルトの名無しさん:2018/11/24(土) 14:00:15.36 ID:f9pHxWoA.net
一個見つかれば良い状況で
searchではなくfinditer使うのは面倒くさいだけのような
finditerはマッチしてもしなくてもイテレータが帰ってきちゃう

1002 :デフォルトの名無しさん:2018/11/24(土) 14:17:31.53 ID:S/+07wK4.net
じつにくだすれらしい
くだくだなながれですね (´・ω・`)

1003 :デフォルトの名無しさん:2018/11/24(土) 14:24:37.27 ID:4kdGLnPd.net
何個見つかるか事前に判らないので
match したかしなかったか調べるのに if m is None: みたいな書き方するなら
for _ in iter: でする方が楽なんです
条件後付けと言われればその通りですが

1004 :デフォルトの名無しさん:2018/11/24(土) 14:25:34.56 ID:4kdGLnPd.net
ume

1005 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1005
300 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★