くだすれPython(超初心者用) その39at TECH
くだすれPython(超初心者用) その39 - 暇つぶし2ch850:デフォルトの名無しさん
18/11/09 04:00:11.42 bq31MDXV.net
すごい!そんな書き方があるのですね。
よければ何という記述方法か教えてもらえますか?(どうやって調べたら出ますか)

851:デフォルトの名無しさん
18/11/09 04:18:51.46 Je0vwCJT.net
np使う理由はあるの?

852:デフォルトの名無しさん
18/11/09 08:30:00.34 0hfWLYYN.net
pycharmでshadows name xxx from outer scopeっていうwarningが出るんだけど、これは何が問題なんや

853:デフォルトの名無しさん
18/11/09 09:42:26.78 VXODTqLC.net
同じ名前の変数が定義されたことで
外のスコープの変数が隠されている
という警告

854:デフォルトの名無しさん
18/11/09 09:43:04.08 VXODTqLC.net
Warningに書いてある通りだな

855:デフォルトの名無しさん
18/11/09 10:18:23.10 19dRG8QF.net
>>808
三項演算子
可読性下がるから使い過ぎはお勧めしない

856:デフォルトの名無しさん
18/11/09 11:58:21.04 p9aTnaT/.net
ちょうど1/2の確率が欲しいとき
if random.rand(0, 1) > .5:
が正解?
それとも
if random.rand(0, 1) >= .5:
が正解?
どっちも間違い?

857:デフォルトの名無しさん
18/11/09 12:04:45.46 mwKVhTqG.net
どっちも間違い
だが少なくとも
random.rand() > .5
では偏りが生じる

858:デフォルトの名無しさん
18/11/09 12:40:54.60 0q7AG6jo.net
>>814
0×1の配列?

859:デフォルトの名無しさん
18/11/09 12:41:31.35 ZavMgXDP.net
Openpyxlでエクセルシートをリスト化した後
シート名を条件に抽出することはできますか?
すみません、調べてもわかりませんでした。

860:デフォルトの名無しさん
18/11/09 13:11:43.28 XhL65g6u.net
>>814俺だったらこうする
if random.randrange(2):
「一定回数抽選すると、AとBの出現率が必ず1:1になる」ことを求めているならシャッフルを使う
a=[0]*50+[1]*50
random.shuffle(a)

861:デフォルトの名無しさん
18/11/09 13:44:15.88 lOOqdq/Y.net
deapのbase.Fitnssでweightsの動き方がよくわからないんですが
仕様を説明したサイトはありますか?

862:デフォルトの名無しさん
18/11/09 13:47:08.53 iep8j/69.net
>>817
シート名は .get_sheet_names()でリストでとってこれるから
とってきたあと
1つ1つのシート名でifすればいいだろ

863:デフォルトの名無しさん
18/11/09 13:49:25.70 iep8j/69.net
>>819
URLリンク(deap.readthedocs.io) はもう読んでる?

864:デフォルトの名無しさん
18/11/09 14:27:01.20 D1KL18mO.net
python2.7 pandasのto_csvでの出力、文字コードについてです
utf8のdfがありコレをsjis(sjisで表現出来ない文字は無視や?置き換えで良い)にしてcsvにしたいです
調べると
with codecs.openでencoding='cp932' errors='ignore'で出力ファイルを開き
df.to_csv(ファイルオブジェクト, encoding='cp932')
で出来ると書いてあったのですが普通にUnicodeエラー出ます
何が原因でうまくいかないんでしょうか、また他の解決法なにかありませんかね

865:デフォルトの名無しさん
18/11/09 15:23:15.00 iep8j/69.net
>>822
ソースコードの文字コードは何で書いてる
OSは何よ
Unicodeエラーの内容は略さず書いて

866:デフォルトの名無しさん
18/11/09 16:18:25.51 aAkZVDrn.net
PythonがWEBで


867:覇権取れば最強のスクリプト言語になるのにな Djangoとかいうゴミはいいから早くRailsとかLaravel並みにいいフレームワーク作ってくんね?



868:デフォルトの名無しさん
18/11/09 17:36:50.37 rwK1ciOK.net
GoogleってWEB開発にPython使ってるらしいけどフレームワークはDjangoなのかな?
社内で別のフレームワーク使ってんだったら公開してほしいな

869:デフォルトの名無しさん
18/11/09 19:22:48.23 lOOqdq/Y.net
>>821
それは読んだんですが多目的最適化で10倍や100倍に設定したら具体的にどう評価を変えているのかが書いていなかったので

870:デフォルトの名無しさん
18/11/09 19:31:33.70 iep8j/69.net
>>826
weights って重み付けだから、
いっぱいのときも逐一自分で指定するもんじゃないの
>多目的最適化で10倍や100倍に設定したら具体的にどう評価を変えているのか
俺にはちょっとなにいってるのかよくわかんない(´・ω・`)
各重みの最適値さがしなら
プロジェクト・しらみつぶし が たぶん一番いい・・・

871:デフォルトの名無しさん
18/11/10 12:15:02.20 seRmY1tJ.net
URLリンク(stackoverflow.com)
repeating_data = reduce(lambda l, x:
l.append(x) or l if x not in l else l,
columns['Hello'], [])
Columns["Hello"] has [1,1,2,3,4,5,6,6,7,8,9,9,10,0]

このlambda式のl.appned(x) or lの"or l"と
if x nor in l else lの"else l"がよくわからないんですが、
つけないとエラーになるので必要なのでしょうが、どのような意味なのでしょうか?

872:825
18/11/10 12:26:13.87 seRmY1tJ.net
質問ばかりで申し訳ないのですが、なぜこの式でreduceを使っているのかもよくわかりません。
reduceでぐぐるとすべて畳み込んで計算すると書いてあるところが多いのですが、関数がl.append(x) or lなので違うのでしょうか?

873:デフォルトの名無しさん
18/11/10 13:07:05.83 u9Es1usX.net
>>828-829
条件式(他言語のいわゆる三項演算子や条件演算子と呼ばれる物の代替)
URLリンク(docs.python.org)
そしてlist.appendの戻り値はNoneなので常にorの右辺が評価され返される
つまり新しいリストに含まれていなければ追加し、さもなければそのまま
あとは先方のレスにもset使えと書かれてると思うけど。reduceの動作は以下
URLリンク(docs.python.org)

874:826
18/11/10 13:46:44.78 seRmY1tJ.net
>>830
丁寧なレスありがとうございます。list.appendの戻り値がNoneだなんて意識しないで使ってました。
破壊的メソッドだからなんだそうですが、自分でもうちょっと勉強してみます。

875:826
18/11/10 15:23:32.40 seRmY1tJ.net
if x not in l else lの"else l"を省略すると
SyntaxError: invalid syntax
が出るんですが、通常のif文の場合はelse以下がなくても問題ないと思うのですが、
なぜこの場合はだめなのでしょうか?

876:デフォルトの名無しさん
18/11/10 15:39:38.87 hLxIIZfE.net
>>832
それは
> if x not in l else l
じゃなくて
> l if x not in l else l
なの
>>830が言う条件式って奴
式1 if 条件 else 式2
で、条件が真と評価されるなら 式1
条件が偽に評価されるなら 式2
を返す
なので else 式2 がないと困っちゃう
(None を返すという選択肢もあったとは思うけど)

877:デフォルトの名無しさん
18/11/10 15:48:08.55 seRmY1tJ.net
>>833
else lのlをNoneにしてみたら、
TypeError: argument of type 'NoneType' is not iterable
とでてしまいました。
でもなんとなく前よりはこの式がわかったような気がします。
どうもレスありがとうございました。

878:デフォルトの名無しさん
18/11/10 17:30:59.29 16GnFLu/.net
>>832
>>830が条件式(他言語に倣って三項演算子と呼ばれることも)だって教えてくれてるじゃん
値1 if 条件 else 値2
条件が真と評価されたら値1を、偽と評価されたら値2を返す

879:デフォルトの名無しさん
18/11/10 18:12:02.74 hLxIIZfE.net
>>828
そもそもこのラムダ式がちょっとトリッキーなんだよね
lambda l, x: l.append(x) or l if x not in l else l
俺なら
def f(l,x):
__if x not in l:
____l.append(x)
__return l
を定義して
repeating_data = reduce(f, columns['Hello'], [])
ってやると思う

880:デフォルトの名無しさん
18/11/10 18:14:37.23 GvdPZ72d.net
>>834
lをNoneにするってのは830の間違い

881:デフォルトの名無しさん
18/11/10 18:59:26.03 8RKiULCU.net
>>833
偽の時は空値返す二項版条件演算子みたいな糞を実装してる言語って何?
有効な使い道が思いつかん

882:デフォルトの名無しさん
18/11/10 19:30:23.53 hLxIIZfE.net
>>838
もっと用途限定だけどC#のnull条件演算子が近いかな

883:デフォルトの名無しさん
18/11/10 19:41:48.00 LcpJu9SU.net
>>839
用途限定どころか目的からして完全に別物

884:デフォルトの名無しさん
18/11/10 20:21:45.94 hLxIIZfE.net
はいはい w

885:デフォルトの名無しさん
18/11/10 20:55:57.38 2vwbQ9QW.net
恥ずかしい奴だな

886:デフォルトの名無しさん
18/11/10 21:43:36.94 Kjka4QLz.net
やっかいなnullを扱いやすくする為に実装された演算子と
偽を受け取ったぐらいで無駄にNoneを返す>>833がかんがえたさいきょうのじょうけんしきなんて別物どころか真逆だよな
実際、Noneを返したんじゃ>>834こうなるだけだし

887:デフォルトの名無しさん
18/11/10 21:48:48.39 zCsM6it1.net
理解できないお前のことだなww

888:デフォルトの名無しさん
18/11/10 21:52:55.81 hLxIIZfE.net
>>843
> やっかいなnullを扱いやすくする為に実装された演算子と
実装の目的と
> 偽を受け取ったぐらいで無駄にNoneを返す>>833
演算子の機能の区別もつかないアホだったのか…
> 実際、Noneを返したんじゃ>>834こうなるだけだし
マジでアホなの?
リスト要求される所にNone与えただけの話だぞ、それ w

889:デフォルトの名無しさん
18/11/10 21:55:57.70 nSd/jMeD.net
Nane「私のためにケンカしないで!!」

890:デフォルトの名無しさん
18/11/10 22:00:38.04 jxhvzDRc.net
>>846
誰だお前は

891:デフォルトの名無しさん
18/11/10 22:04:59.17 4gO6mVIc.net
>>847
ウンコ「おならです」

892:デフォルトの名無しさん
18/11/10 22:06:25.70 hPdKPv7V.net
肛門「よし通れ!」

893:デフォルトの名無しさん
18/11/10 22:10:53.93 aFLDlH5i.net
くだすれ貫禄のくだらなさで不覚にも吹いた

894:デフォルトの名無しさん
18/11/10 22:11:20.00 7gTt1pZ+.net
まだまだ

895:デフォルトの名無しさん
18/11/10 22:19:58.98 WPq8ZeKj.net
判定を失敗すると恐ろしいことになるんだなあ…

896:デフォルトの名無しさん
18/11/10 22:55:34.73 jXgJ1KMY.net
早まってnull条件演算子とかエルビス演算子って言わなくて良かったわ

897:デフォルトの名無しさん
18/11/10 23:22:42.45 sSiPAoa8.net
>>853
そういうのは需要があるから実装されてるんだよ
Noneなんて返されても無駄なチェックコードが増えるだけ
単にelseで適切な値を返すだけでいい

898:デフォルトの名無しさん
18/11/10 23:50:26.34 hLxIIZfE.net
>>854
> 単にelseで適切な値を返すだけでいい
仮定の話しができない低能乙 w

899:デフォルトの名無しさん
18/11/11 08:48:46.33 rNrNUiDF.net
真っ赤っかですな
単芝も紅葉するんだ

900:デフォルトの名無しさん
18/11/11 08:57:40.67 cKV3qXJe.net
低能先生は低能連呼から最終的に殺人に走ったので気をつけてね。

901:デフォルトの名無しさん
18/11/11 10:16:25.06 3JRsWB+V.net
>>857
ソースよろしくww

902:デフォルトの名無しさん
18/11/11 10:30:49.61 ZIQY97Xr.net
URLリンク(ja.wikipedia.org)

903:デフォルトの名無しさん
18/11/11 11:34:11.51 LFgZgESJ.net
へーっ、こんな事件があったんだな
フルボッコされての犯行か
ならまともな反論もできなくなった>>856とか言ってやれよww

904:デフォルトの名無しさん
18/11/11 12:06:11.66 uw9PiA4L.net
この自己愛
同種だな

905:デフォルトの名無しさん
18/11/11 13:13:23.27 3JRsWB+V.net
謎の一体感w
一般人には理解不能

906:デフォルトの名無しさん
18/11/11 13:36:01.34 96wp+TZd.net
>>831
まさか普段ruby使ってる?

907:デフォルトの名無しさん
18/11/11 14:18:08.94 SClia95W.net
ルビバレする用語:
破壊的・非破壊的
クラスメソッド
特異メソッド

908:デフォルトの名無しさん
18/11/11 16:41:23.18 kuiXddTN.net
ファイルに定義されている関数名を知る方法ありますか?
関数名だけです。

909:デフォルトの名無しさん
18/11/11 17:56:29.41 96wp+TZd.net
globals()
locals()

910:デフォルトの名無しさん
18/11/11 23:32:22.24 ARqR0CiK.net
>>831
Ruby ではメソッド名に、! がつく、破壊的メソッドが、nil を返すことがある。
破壊的メソッドとは、レシーバ自身を変更するもの
line.chomp! # 末尾の改行を削除する
line.empty? # 空行かどうか?
chomp! は、末尾に改行が無くて、削除しなかった場合に、nil を返す
line.chomp!.empty?
上記のようにメソッドチェーンすると、nil から、empty? メソッドを呼び出そうとして、
エラーになるから、メソッドチェーンできない
ただし、最近のバージョンでは、nil 許容演算子が追加されて、
メソッドチェーンしてもエラーが起きなくなった
jQuery では、メソッドチェーンしてもエラーが起きない

911:デフォルトの名無しさん
18/11/12 01:26:40.44 BcZUmovG.net
「Ruby」をNGワード登録するのが簡単・便利

912:デフォルトの名無しさん
18/11/12 21:09:17.74 XFjJOyuw.net
pd.read_html(url)で読み込んだテーブルのある列をtable.sort(by= )でソートしたんだけどその結果が
0
1
2
3
4
1
2
3
みたいに微妙な並び替えになっちゃうのはデータにどんな原因があるの?

913:デフォルトの名無しさん
18/11/12 22:43:29.16 ku9n7fSu.net
#シート名取得
all_sh = book.sheetnames
#シート名が「ss」で終わるものを抽出
all_sh_ss = [s for s in all_sh if s.endswith('ss')]
print(all_sh_ss)
・・この後、シート名が「ss」で終わるシートだけから
特定セルA1の値を抽出したいんですが・・・行き詰まりました。
わかる方いたらご助言をお願いします。

914:デフォルトの名無しさん
18/11/12 23:10:34.73 JEwLf6Zk.net
>>870
じゃあ次はその抽出した文字列のリストでWorksheetオブジェクトを取得してみようか

915:デフォルトの名無しさん
18/11/12 23:21:23.98 JEwLf6Zk.net
>>869
read_html(url)で返ってきたリストにそのままソートかけてそう
まずはどんなリストが返ってきてるかそのまま表示してみたら?

916:デフォルトの名無しさん
18/11/13 11:11:30.00 dBAvKT8b.net
829さんじゃありませんが、横レスで関連する質問があります。
URLリンク(stackoverflow.com)


917:ting-a-syntax-error-for-this-conditional-statement You're getting the SyntaxError because you're using a conditional expression without supplying the else clause which is mandatory. The grammar for conditional expressions (i.e if statements in an expression form) always includes an else clause: と書かれていますが、lambda文以外の普通のif statementsの場合、elseがなくても問題がない場合が多々あると思うのですが、 なぜ>>832の例がやこのリンク先の例だとelse以下がないとだめなのでしょうか?



918:デフォルトの名無しさん
18/11/13 11:16:50.29 ULH3fPUf.net
>>873
散々出てるがif文じゃなくて条件式だから

919:870
18/11/13 11:17:02.


920:91 ID:dBAvKT8b.net



921:870
18/11/13 11:42:02.89 dBAvKT8b.net
>>874
どうも失礼しました。公式ページ見たらやっとわかりました。
URLリンク(docs.python.org)
if文
URLリンク(docs.python.org)
条件式
って明確に区別されてるみたいですね。
判別するにはif文の最後に":"があるかないかで判定するのでしょうか?

922:デフォルトの名無しさん
18/11/13 11:49:03.16 dBAvKT8b.net
URLリンク(realpython.com)
ここにif文と条件式の区別について詳しく書いてありました。これで疑問が氷解しました。
どうもくだらない投稿してすみませんでした。

923:デフォルトの名無しさん
18/11/13 12:11:42.35 p27/Ddjo.net
>>876
まぁそれで区別…できなくもないけどPythonに後置if文はないし役割が違う
というより明確に区別されるのは式と文で、式の中に文を書く事は出来ない
>>828みたいなlambda中の条件式はor含めなんとか値を返すための苦肉の策

924:デフォルトの名無しさん
18/11/13 12:36:07.85 X1xMRsix.net
ワンライナー()のために、処理を行うかの切り替えに条件式を悪用してるだけだからすこぶる行儀悪いわな

925:874
18/11/13 12:49:01.67 dBAvKT8b.net
>>878-879
レスありがとうございます。メモとっときます。

926:デフォルトの名無しさん
18/11/13 18:24:15.89 90McxFB4.net
さすがくだすれ

927:デフォルトの名無しさん
18/11/14 08:37:42.04 7XHx6tPI.net
本当に初歩的な質問で申し訳ないのですが
Openpyxlで読み込んだファイル名を出力することはできますか?
シート名、セル値はわかるのですが、ファイル名のやり方がわからなくて、、

928:デフォルトの名無しさん
18/11/14 08:56:30.82 1aZXQx3x.net
>>882
ファイル名のわからないファイルをどうやって読み込んでいるの?

929:デフォルトの名無しさん
18/11/14 09:08:29.36 7XHx6tPI.net
>>883
ファイル名はもちろんわかるんですが
それをセルに出力したいのです。

930:デフォルトの名無しさん
18/11/14 09:08:38.14 yrvGShGp.net
念力

931:デフォルトの名無しさん
18/11/14 09:22:21.28 1aZXQx3x.net
>>884
Openpyxlは触った事ないけど、
調べた感じでは基本は↓でできるんじゃないの?
sheet = openpyxl.Workbook().active
sheet['A1'] = ‘ファイル名’

932:デフォルトの名無しさん
18/11/14 23:27:59.57 2v/yZNsE.net
ドキュメントのsubprocessのところをみると
似たような機能で
getoutput レガシーなシェル呼び出し関数
check_output 古い高水準 API
os.systemよりsubprocessを推奨
となっていて基本runが推奨で
他は使わないほうがいいとかあるんですか?
例えばいずれなくなるからとか。
それとも単にお勧めというだけなのか?
その辺の読み解き方がよくわからないです。

933:デフォルトの名無しさん
18/11/15 00:01:12.02 biHRXo8w.net
安心が欲しいのなら推奨API以外を使うべきではない

934:デフォルトの名無しさん
18/11/15 00:06:22.84 biHRXo8w.net
まあこれは一般論で
os.systemが廃止されることはないと思うし
これまでの経験からしてDeprecatedとマークされてから2バージョンくらい移行期間があるから
仮に無くなるとしても3年くらいは大丈夫だろう
その前にプログラミングに飽きている可能性の方が高い

935:デフォルトの名無しさん
18/11/15 00:52:47.72 1MY0pWfp.net
>>889
ありがとうございました!

936:デフォルトの名無しさん
18/11/15 13:46:36.75 djL3d80k.net
pythonでgui アプリ作るには、tkinterってやつでいいんでしょうか
そもそも作れますか?

937:デフォルトの名無しさん
18/11/15 14:04:46.04 MeEMSEca.net
Qtとかwxpythonとかほかにもあるでよ
できるよ

938:デフォルトの名無しさん
18/11/15 17:29:06.18 djL3d80k.net
ありがとー
3dとかも扱えますかね?

939:デフォルトの名無しさん
18/11/15 18:07:36.78 /yCJioVE.net
>>891
matplotlibはGUIがtkでボタンもメニューも作れる
3Dも完璧

940:デフォルトの名無しさん
18/11/15 18:40:25.34 n3jFLh1o.net
完璧というからには、GPU支援とかも完璧なんだろうな。

941:デフォルトの名無しさん
18/11/15 19:15:13.23 MeEMSEca.net
>>895
あるぉ

942:デフォルトの名無しさん
18/11/15 19:44:19.96 djL3d80k.net
-m tkinter
でtkinterのバージョンを確認できるそうですが、chdirしないとだめなんでしょうか
デフォルトの場所だとinvalid syntaxエラーになります

943:デフォルトの名無しさん
18/11/15 20:08:14.97 MeEMSEca.net
>>897
pythonのバージョンが3系なら
python -m tkinterじゃなくて
py -m tkinterのはずはず

944:デフォルトの名無しさん
18/11/16 17:42:33.52 IxhrRMJp.net
↑ありがとうございました

945:デフォルトの名無しさん
18/11/16 17:42:49.00 IxhrRMJp.net
idleだけで開発できますか?
不十分な点ってどこでしょうか

946:デフォルトの名無しさん
18/11/16 17:43:28.31 IxhrRMJp.net
あと、どういった環境使ってるか教えてください
pycharmというのはおもすぎてきつかったです
とりあえずatomにpython入れてやってます

947:デフォルトの名無しさん
18/11/16 19:30:29.81 no85NK4X.net
起動時間はpycharmの方が掛かるけど、
起動後はatomとかvscodeの方が描画周りとかまったりしてて重いと感じる。
拡張機能もたくさん入れることになるし。

948:デフォルトの名無しさん
18/11/16 19:55:41.74 IxhrRMJp.net
とりあえずidleでやってきます(´・ω

949:デフォルトの名無しさん
18/11/16 20:10:36.27 arJZkCZY.net
おれidleだけでgui開発やってるよ

950:デフォルトの名無しさん
18/11/16 20:15:48.44 IxhrRMJp.net
tkinterってリファレンスないんすか(´;ω
公式がないですがすでに

951:デフォルトの名無しさん
18/11/16 20:23:20.55 arJZkCZY.net
URLリンク(docs.python.org)

952:デフォルトの名無しさん
18/11/17 09:50:58.58 eS8uuMhZ.net
pythonとopneglでblenderみたいなソフト作れますか
植物を自動生成したいだけですが

953:デフォルトの名無しさん
18/11/17 10:03:17.92 FOsw7ObJ.net
ソフトを作らなくてもblenderがpythonに対応している。

954:デフォルトの名無しさん
18/11/17 10:20:48.12 eS8uuMhZ.net
それはそうなんですが、勉強として

955:デフォルトの名無しさん
18/11/17 11:01:18.90 B4GISbTr.net
>>909
できるけど初心者なら
pygameの方が楽

956:デフォルトの名無しさん
18/11/17 12:26:38.54 z9owpr8+.net
>>525 ぺちぷ
<?php
function solve(int $n):int{
$a=0;
for($i=5;$i<=$n;$i*=5)$a+=intdiv($n,$i);
return $a;
}
foreach([1,5,10,1e2,1e6,1e16] as $i)printf("%d -> %d\n",$i,solve($i));
?>
1 -> 0
5 -> 1
10 -> 2
100 -> 24
1000000 -> 249998
10000000000000000 -> 2499999999999996

957:デフォルトの名無しさん
18/11/17 12:27:25.80 z9owpr8+.net
誤爆すまん

958:デフォルトの名無しさん
18/11/17 12:52:15.90 +Lh4qwu/.net
URLリンク(hoge.com)
URLリンク(hoge.com)
1330から1622までの連番の作り方教えて欲しいです
URLリンク(hoge.com)
URLリンク(hoge.com)
もし、2000を超えたら一つ上の階層に1を足してjpgはまた0から数えたいです
やり方教えて下さい!

959:デフォルトの名無しさん
18/11/17 14:26:54.02 xcAZYE+8.net
>>913
糞クローラー作るな
逝ってよし

960:デフォルトの名無しさん
18/11/17 16:36:18.08 Y/z/VfN+.net
もやはサイバーテロだな

961:デフォルトの名無しさん
18/11/17 19:28:23.67 eQWBxdMf.net
おまえは存在がリアルテロやんw

962:デフォルトの名無しさん
18/11/18 00:50:16.86 mGYzq3D+.net
python2.7 ubuntu utf-8
requests使ってpostするんですけど
response.text.encode('utf-8')が文字化けします。
post先のページもutf-8なので文字化けする理由がわからなくて困ってます。
他の原因が考えられるでしょうか?

963:デフォルトの名無しさん
18/11/18 00:52:09.78 RRVp+pUX.net
は?他でない原因はなんやwww
おまえなんも原因の推測しとらんやんけwwwww

964:デフォルトの名無しさん
18/11/18 02:08:45.13 IKIz+EAu.net
Ruby で作った
host_name = "URLリンク(example.com)
ext_name = ".jpg" # 拡張子
dir_name = 3..4 # 3~4 の範囲
base_name = 9..10 # 9~10 の範囲
dir_name.each do | dir_n |
base_name.each do | base_n |
puts "#{ host_name }#{ dir_n }/#{ base_n }#{ ext_name }"
end
end
出力
URLリンク(example.com)
URLリンク(example.com)
URLリンク(example.com)
URLリンク(example.com)

965:デフォルトの名無しさん
18/11/18 02:29:02.25 +Y8H8lPp.net
オブジェクト指向言語のRubyが今大人気!!
世界最大のソフトウェア開発プラットフォームで最も人気なプログラミング言語は何なのか?
URLリンク(gigazine.net)
さすがRuby!貫禄のランクイン!!
Railsで作られたサービスでの集計ということを差し引いてもすごい!

966:デフォルトの名無しさん
18/11/18 09:13:17.46 ZxrLCeZc.net
>>917
response.encoding = response.apparent_encoding
追加してみ

967:デフォルトの名無しさん
18/11/18 13:07:11.78 OtDWWVpG.net
>>919
グロ

968:デフォルトの名無しさん
18/11/19 16:41:17.86 6QwGyqzR.net
PILで画像に対してimage.getdataで値を取得すると、
ImagingCore object at 0x111993790 のようなメモリ上の値が得られますが、
これに類することはjavascriptで出来ますか?

969:デフォルトの名無しさん
18/11/19 18:41:55.53 hzrCQ9gE.net
>>923
javascriptスレできけ案件

970:デフォルトの名無しさん
18/11/19 18:57:29.17 Rj4PyB0Y.net
メモリ上の値じゃなくてアドレス情報だろ

971:デフォルトの名無しさん
18/11/19 19:03:49.34 rVdz2W17.net
だから?
ここPythonスレだよ?

972:デフォルトの名無しさん
18/11/19 20:44:02.95 m6msMsxr.net
超初心者なのですが、pythonでwebの画像を取得する方法がよくわかりません、、、
ggると大量取得のスクリプトは出てくるのですが、
http://~~~.jpgという1枚を保存するにはどうすればいいのでしょうか。
どなたかご教授いただければ嬉しいです。

973:デフォルトの名無しさん
18/11/19 21:05:05.45 rVdz2W17.net
アドレスバーに入れてエンター
右クリック
名前をつけて保存
1枚だけならこうすればいいだけだから出てこないんだと思われる

974:デフォルトの名無しさん
18/11/19 21:10:19.46 m6msMsxr.net
説明が不足してました、失礼
勉強がてら自分でスクリプトを作りたくて
responseとbs4で、1枚目のurlからhttp://~~~.jpgを
抜き取るとこまではできたのですが、そこからのダウンロード方法がよくわからないです
1枚のダウンロード方法が分かり次第for分で回す予定なのですが

975:デフォルトの名無しさん
18/11/19 21:11:32.92 m6msMsxr.net
↑requestの間違いです

976:デフォルトの名無しさん
18/11/19 21:41:38.78 SMn8EX2d.net
r = requests.get('URLリンク(example.com)', stream=True)
with open('eroero.jpg', 'wb') as f:
  while 1:
    bin = r.raw.read(128)
    if not w: break
    f.write(bin)

977:デフォルトの名無しさん
18/11/19 21:45:32.10 hzrCQ9gE.net
>>927
だから糞クローラつくるんじゃねえksg
くたばれ
窓からPC投げ捨てろ

978:デフォルトの名無しさん
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