くだすれPython(超初心者用) その39at TECH
くだすれPython(超初心者用) その39 - 暇つぶし2ch978:デフォルトの名無しさん
18/11/19 21:53:27.71 SMn8EX2d.net
>>931
× if not w: break
○ if not bin: break

979:デフォルトの名無しさん
18/11/19 22:03:04.22 m6msMsxr.net
>>931
ありがとうございます!
wをrに読み替えて実行したところ保存できたけど
処理が終わりませんでしたが、
>>933
で終わりました、勉強になりました!
バイナリ保存をもう少し勉強してみますm(_ _"m)

980:デフォルトの名無しさん
18/11/19 22:20:46.67 OVa0imR9.net
>>934
930のbinとwって単なる変数だからな
openのモードのrwbとがと関係無いからな

981:デフォルトの名無しさん
18/11/19 22:36:23.06 lzm8caWs.net
>>921
ありがとうございます
追加したけどやっぱり文字化けしました

982:デフォルトの名無しさん
18/11/19 22:48:30.82 m6msMsxr.net
>>935
なるほどです

983:デフォルトの名無しさん
18/11/19 23:17:27.92 057j8H5Q.net
ダウンロードして保存するコマンドは、curl, wget

984:デフォルトの名無しさん
18/11/20 00:36:50.22 2X5h674N.net
以下は何をしているのでしょうか?
同じ物を代入したり返しているようにしか見えないです
お助け下さい・・・
URLリンク(github.com)
59行目
cmp = cmp
63行目
def decode(x):
return x

985:デフォルトの名無しさん
18/11/20 05:15:47.87 0YIMqUF3.net
ユーザーに派生クラスを作ってもらうための、ひな形・マーカーメソッドかも。
派生クラスを作らなかった場合の、デフォルトの動作なのかも
例えば、Ruby で抽象(マーカー)メソッドを作れば、
もし派生クラスB で、メソッドa を再定義(override)しなければ、例外をraise するから、
ユーザーは派生クラスで、メソッドa を再定義しなければならない
つまり、プログラマーに注意喚起する印・マーカー
class A
def a
raise NotImplementedError, "未実装です"
end
end
class B < A
end
B.new.a # 未実装です

986:937
18/11/20 05:21:34.81 0YIMqUF3.net
ライブラリの作者は、様々な、decode の実装方法があるから、ひな形だけは作っておくので、
ユーザーは派生クラスで、具体的なdecode の処理を、再定義して使ってください
もし再定義しなければ、何も処理しません

987:デフォルトの名無しさん
18/11/20 10:53:50.60 QMDiuUiOY
実行すると、同じ値しか出てきません。
ランダムで出すにはどうしたらいいですか?
また、ランダムで10回繰り返すとかできるんですか?
よろしくおねがいします。

import random

a = random.randrange(2,5,2)
b = random.randrange(2,9,2)
c = random.randrange(12,61,12)
pm = ['+','-']
printpm = random.choice(pm)

calc = printpm + str(a) + '(' + printpm +str(b) + '×' + printpm + str(c) + ')='
print(calc)
print(calc)

988:デフォルトの名無しさん
18/11/20 09:32:49.23 2X5h674N.net
>>940-941
ありがとうございました、そういう事だったのですね

989:デフォルトの名無しさん
18/11/20 12:30:52.12 xneveUXp.net
>>943
いやそれ間違ってるから。
python2、python3両方で使えるようにそれぞれメソッドが定義してあって、
たまたまpython2のほうは演算する必要がないから引数をそのまま返しているだけ。
そいつはマ板で有名なpython知らないruby荒らしだから無視したほうがいいよ

990:デフォルトの名無しさん
18/11/20 13:05:13.83 ZtIBLsed.net
>>940
さすがRuby!
圧倒的ランクイン!!
URLリンク(gigazine.net)
URLリンク(www.softantenna.com)
URLリンク(www.softantenna.com)
URLリンク(findy-code.io)
URLリンク(i.imgur.com)

991:デフォルトの名無しさん
18/11/20 13:34:07.29 jmuJusIM.net
URLリンク(docs.python.org)
URLリンク(docs.python.org)

992:デフォルトの名無しさん
18/11/20 1


993:6:39:53.72 ID:5NbKWroI.net



994:デフォルトの名無しさん
18/11/20 19:08:18.20 PIfvSzhu.net
ディレクトリ内に
aaa_000.txt
aaa_001.txt
  :
aaa_100.txt てな感じでファイルが保存されてたとします。
aaa_000.txt以外をglob.glob()で一覧化して取り出したいんですが
glob.globの引数に指定する正規表現、どうすればいけますでしょうか???

995:デフォルトの名無しさん
18/11/20 19:13:57.66 5NbKWroI.net
!(^000$) じゃね?

996:デフォルトの名無しさん
18/11/20 19:15:38.40 5NbKWroI.net
禿しくまちがってた
^(?!000)$

997:デフォルトの名無しさん
18/11/20 19:52:04.79 PIfvSzhu.net
import glob
l = glob.glob(r"^(?!000)$")
print(l)
こうですか? なんかダメみたいです(´・ω・`)
l = glob.glob(r"aaa_(?!000)$")
l = glob.glob(r"*(?!000)$")   も試してみましたがダメでした。

998:デフォルトの名無しさん
18/11/20 20:46:06.89 eXMfunJO.net
素直にre使ってりゃ1分で終わってたな

999:デフォルトの名無しさん
18/11/20 20:48:08.12 d/DSkvWp.net
globは正規表現使えないぞ。
使えるのはワイルドカードだけ

1000:デフォルトの名無しさん
18/11/20 20:48:55.37 5NbKWroI.net
んんんんn…
l = glob.glob(r"aaa_(?!000)[0-9]*\.txt")
でどうよ

1001:デフォルトの名無しさん
18/11/20 20:49:50.73 5NbKWroI.net
>>953
mjd
>>951
全部取り出してから
そのリストから
aaa_000.txtだけさくーじょするのが早い(´・ω・`)

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

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

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

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

1006:デフォルトの名無しさん
18/11/20 21:15:21.06 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使う必要性はないと思う

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

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

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

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

1011:デフォルトの名無しさん
18/11/20 21:46:55.78 PIfvSzhu.net
>>960
>>963
サンクス、コピペしたけど動かなかったので諦めました
>でも今日日os.scandir()とかあるのにglob使う必要性はないと思う
os.scandir ←これ知らんかたわw これでなんとかなりそうですw

>>964
           .-´    ``ヽ   
          /  ヽー     `ヽ
         / ノ    (O )ノ ̄ ̄`ヽ、―ニ  
        / (●) __)⌒/ ´`ヽ _  三,:三ー三,:
        | ::⌒(__ノ/  ノヽ--/ ̄ ,    `   ` ̄ ̄ ̄
       。ヽ 。   )(  }.  ...|  /!    
          ヽo (__ン  }、ー‐し'ゝL _  
         


1012:人  ー   jr--‐‐'´}    ;ーー------         /        ヾ---‐'ーr‐'"==                     |



1013:デフォルトの名無しさん
18/11/20 22:15:47.35 lC+kMZiu.net
>>964
何でダメなのかわからんかったけどremoveメソッドはNoneを返すんだな
x = glob.glob('aaa_*.txt')
x.remove('aaa_000.txt')
>>965
ごめんね

1014:デフォルトの名無しさん
18/11/21 01:45:07.75 yscr9wE/.net
Ruby で、配列の差集合を使った
ary = Dir.glob( 'aaa_*.txt' ) - [ 'aaa_000.txt' ]

1015:デフォルトの名無しさん
18/11/21 02:04:45.67 ILAAUKO6.net
Rubyが大人気!Rubyが大人気!
学ぶ価値がある大人気言語Ruby!!
URLリンク(gigazine.net)
URLリンク(www.softantenna.com)
URLリンク(www.softantenna.com)
URLリンク(findy-code.io)
URLリンク(i.imgur.com)

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

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

1018:デフォルトの名無しさん
18/11/21 20:05:39.22 NMvk2xsS.net
get1=get1_val
get2=get2_val
が渡したいとすると
url="URLリンク(example.com)
curl $url

1019:デフォルトの名無しさん
18/11/21 20:07:16.16 NMvk2xsS.net
URLリンク(example.com)

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

1020:デフォルトの名無しさん
18/11/21 20:07:21.27 vOPCMSrj.net
デバックしたいです。

1021:デフォルトの名無しさん
18/11/21 20:14:02.86 NMvk2xsS.net
pythonのCGIン中のimportんところの最後に
import cgitb
cgitb.enable()
と書け
デバッグが終わったら消すのを忘れるな
忘れるとたいへんなことがおきる

1022:デフォルトの名無しさん
18/11/21 20:16:30.77 NMvk2xsS.net
>>971-972 あとで見返す人も居ないと思うがもうちょっとわかりやすく書いておこう
get1としてget1_val
get2としてget2_val
が渡したい

Apacheなんかでlocalhostを動かしていて
bash-cgiふぉるだんなかに
ターゲットとなるhoge.cgiが置いてある
とすると
url="URLリンク(localhost)
curl $url

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

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

1025:デフォルトの名無しさん
18/11/22 00:08:45.16 VnO3ZoaR.net
Ruby では、絶対・相対パスの両方が使えるよ
Dir.glob( 'C:/Users/Owner/Documents/*.txt' )

1026:デフォルトの名無しさん
18/11/22 08:08:40.14 MlwCwGep.net
>>978
荒らし氏ね

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

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

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

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

1031:デフォルトの名無しさん
18/11/22 13:34:33.95 blyr971h.net
次スレよろ

1032:デフォルトの名無しさん
18/11/22 17:10:16.21 JDIt5Mgb.net
( ・∀・)ノフォラァヨ!!---===≡≡≡ くだすれPython(超初心者用) その40
スレリンク(tech板)

1033:デフォルトの名無しさん
18/11/23 16:02:50.08 joE0voDR.net
rate="486,380(26.03%)"
みたいなのから正規表現で26.03だけ


1034:取り出したいんですけどどうすればいいですか? 最初はrate[-7:-2]で取り出そうと思ったんですけど、たまに"500(3.27%)みたいな%が一桁のデータがあって、出力すると(3.27になり、エラーの原因になってしまうんです つまり()の中の数字だけ取り出す方法を教えてください



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

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

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

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

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

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

1041:デフォルトの名無しさん
18/11/24 08:22:15.36 sJe2ncgH.net
>>992
いい加減にしろよ屑

1042:デフォルトの名無しさん
18/11/24 09:57:01.31 hG+y0dS8.net
>>992
圧倒的大人気言語Ruby!!
URLリンク(gigazine.net)
URLリンク(www.softantenna.com)
URLリンク(www.softantenna.com)
URLリンク(findy-code.io)
URLリンク(i.imgur.com)
大人気!!!

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

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

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

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

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

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

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

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

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

1052:デフォルトの名無しさん
18/11/24 14:25:34.56 4kdGLnPd.net
ume

1053:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 92日 6時間 34分 59秒

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


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch