Pythonのお勉強 Part50
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2014/10/17(金) 00:41:32.40ID:Db3yDsQbhttp://www.python.org/
日本Pythonユーザ会 (※英語わかる人は上記のオフィシャルの方を見ることをお薦めします)
http://www.python.jp/
まとめWiki
http://python.rdy.jp/
関連スレ
http://find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
Pythonのお勉強 Part49
http://peace.2ch.net/test/read.cgi/tech/1387528488/
日本語の扱いで戸惑ったらこちらをどうぞ(バッドノウハウ集で笑える)
ttp://speirs.blog17.fc2.com/blog-entry-4.html
ttp://atomic.jpn.ph/prog/etc/encode.html
ttp://d.hatena.ne.jp/kakurasan/20100330/p1
ttp://pc11.2ch.net/test/read.cgi/tech/1217836194/339
339 :デフォルトの名無しさん:2008/08/23(土) 08:36:00
PythonのUnicodeEncodeErrorを知る
ttp://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html
よくまとまってた。あとで読む
0463デフォルトの名無しさん
2015/02/20(金) 14:39:39.42ID:XfKuwL2S広かったことは一度もない
0464デフォルトの名無しさん
2015/02/20(金) 14:41:21.06ID:fEal40kxそうかもね
0465デフォルトの名無しさん
2015/02/20(金) 21:43:06.42ID:yYdjrihu0466デフォルトの名無しさん
2015/02/20(金) 21:52:35.17ID:IrmHPKvS説明してる例が多くなってる気がする
JavaやCの次ぐらいに多いかな?
0467デフォルトの名無しさん
2015/02/20(金) 22:14:33.79ID:h4oRuNjd$ python -V
Python 2.7.8
rubyで書くと
$ irb
> [[11],[21,22,23],[31,32]].max_by(&:size).size
=> 3
0468デフォルトの名無しさん
2015/02/20(金) 22:19:03.90ID:pk2QnuVclen(max(L, key=len))
0469デフォルトの名無しさん
2015/02/20(金) 22:28:05.44ID:i04X22Pvmax(len(elem) for elem in L)
0470デフォルトの名無しさん
2015/02/20(金) 22:29:06.64ID:UfbH1iWM0471デフォルトの名無しさん
2015/02/20(金) 22:55:29.51ID:h4oRuNjdまさにそのものだなw
>>468-470
みなさんあざっす
0472デフォルトの名無しさん
2015/02/20(金) 23:11:51.52ID:ag8XbHIRpart5の The Django test client
response = client.get(reverse('polls:index'))
コマンドを入力するところで以下のエラーメッセージが出ます。何がいけないんでしょうか?
django.core.urlresolvers.NoReverseMatch: Reverse for 'detail' with arguments '('',)' and keyword
arguments '{}' not found. 1 pattern(s) tried: ['polls/(?P<pk>\\d+)/$']
Djangoチュートリアル→ https://docs.djangoproject.com/en/1.7/intro/tutorial05/
情報が少なすぎて申し訳ないです。ゆっくりサイトを精査できる方がいたら、助けてくれると有り難いです。
スルーでも構いません。
0473デフォルトの名無しさん
2015/02/21(土) 11:11:14.13ID:+xlkhew9チュートリアルやってるならinclude('polls.urls')忘れてるとか
0474デフォルトの名無しさん
2015/02/21(土) 11:43:39.83ID:+xlkhew9> 1 pattern(s) tried: ['polls/(?P<pk>\\d+)/$']
だから
> url(r'^$', views.IndexView.as_view(), name='index'),
のパターンを消してしまってる可能性の方が高いか
0475デフォルトの名無しさん
2015/02/21(土) 20:21:15.50ID:ykwJF3WTincludeがよくわからないので、もしかしてCとかJavaを使われる方で、
勘違いでimportのことを言っているのかと思ってやってみたところ
disc I/O error だかのエラーメッセージが出ました。
その後スリープにして出かけたところ、復帰時に再起動を求められたので、
追って再現させてまたアップします。
外付けドライブにDjangoのprojectファイルたちをおいていることに問題があるのでしょうか?
includeという命令があるなら、どこに置くかも教えていただけると嬉しいです。
>474
>> url(r'^$', views.IndexView.as_view(), name='index'),
の部分をurls.pyに書いていないのではということでしたら、そんなことはありません。
直前まで動いていたので、おかしいとしたら
response = client.get(reverse('polls:index')) の (reverse('polls:index'))
の部分になってくるとは思うのですが、、、
0476デフォルトの名無しさん
2015/02/22(日) 01:28:38.34ID:HUCDa8OG公式ドキュメントに乗っていない設定がいくつかあるみたいなんだけどそういう時ってどこ見ればいいの?
0477デフォルトの名無しさん
2015/02/22(日) 01:39:00.36ID:E5S/oWCJArch LinuxのBBSにもスレ見当たらないし
0478デフォルトの名無しさん
2015/02/22(日) 01:42:05.95ID:E5S/oWCJ0479デフォルトの名無しさん
2015/02/22(日) 01:50:45.26ID:uJK2QFdc板違いにつき誘導
http://kanae.2ch.net/test/read.cgi/php/1323960422/
http://kanae.2ch.net/test/read.cgi/php/1329996601/
0480デフォルトの名無しさん
2015/03/05(木) 21:19:47.79ID:1cGbuMXW同じ板、同じくらいの書き込み数でも成功する時と失敗するときがあります
どうしてでしょうか
from lxml.html import parse
from urllib.request import urlopen
url = 'http://wc2014.2ch.net/test/read.cgi/sci/1292341218/'
doc = parse(urlopen(url)).getroot()
print(len(doc.text_content())) # 47498
url = 'http://wc2014.2ch.net/test/read.cgi/sci/1343188288/'
doc = parse(urlopen(url)).getroot()
print(len(doc.text_content())) # 15
0481デフォルトの名無しさん
2015/03/08(日) 21:18:49.28ID:XsTEmwvqそもそもdocを貰ってるんだからそれを読めよ糞ダラズ
0482デフォルトの名無しさん
2015/03/09(月) 20:28:46.62ID:JEFz1YQq0483デフォルトの名無しさん
2015/03/09(月) 20:31:30.96ID:lt6c7hOw文明ってすごいなあ
0484デフォルトの名無しさん
2015/03/09(月) 21:30:43.76ID:u+jQ0yjG違うよ。コード晒してるんだから自分で実行しろよ
0485デフォルトの名無しさん
2015/03/09(月) 22:13:16.27ID:lt6c7hOw実行は面倒だからしない
再現しなかったら骨折りだしね
0486デフォルトの名無しさん
2015/03/09(月) 22:27:31.79ID:u+jQ0yjGというか面倒ならいいです
ただurlopen(url).read()とすれば、どちらもhtmlソースそのままが表示されるので
おそらくparseが失敗しているので、その理由を知りたいのです
ちなみに手元のWindows、Linuxどちらでも同じことが起きます
0487デフォルトの名無しさん
2015/03/09(月) 22:39:45.38ID:lt6c7hOw頭沸いてるのか?
成功したときと失敗したときのdiff取って電車に飛び込んで死ね
0488デフォルトの名無しさん
2015/03/09(月) 22:46:38.28ID:u+jQ0yjG0489デフォルトの名無しさん
2015/03/09(月) 23:34:00.66ID:bgN4+jDW馬鹿じゃないのか
0490デフォルトの名無しさん
2015/03/10(火) 06:09:14.15ID:XNSpCIllレベルが低すぎる。分からないなら黙ってろよ
0491デフォルトの名無しさん
2015/03/10(火) 08:21:57.92ID:3b2ZvRyg俺のプログラムをデバッグしてくれよ、というレベル。
しかもデータ。
初心者はXHTMLのページからやるべき。
0492デフォルトの名無しさん
2015/03/10(火) 08:46:34.14ID:XNSpCIlllxmlが失敗する原因は何?
答えられないのにデタラメの妄想を垂れ流した挙句に質問者を罵倒するとかヤフー知恵袋以下じゃないかね
>>487で答えになってると思ってるあたりがこのスレの限界だろうか
このスレの住人がこれをデバッグしない理由は何?そんなに難しいことなのか
たとえば5分あってもできないことなのか?上級者なら教えてくれよ
0493デフォルトの名無しさん
2015/03/10(火) 08:52:55.47ID:7NzT/F8x自分で試さない理由のほうがよっぽどわからない。
0494デフォルトの名無しさん
2015/03/10(火) 08:55:06.57ID:XNSpCIll試しても分からないから、初心者に説教垂れてる上級者に聞いてるんだろ
回答者は教えたがりなのに少しの労力すら惜しみ、そのくせ罵詈雑言を並べて優越感に浸ることだけは余念がない、ということ?
0495デフォルトの名無しさん
2015/03/10(火) 09:00:07.93ID:7NzT/F8x親切な人が現れるのを待っていてくれ。
0496デフォルトの名無しさん
2015/03/10(火) 09:02:33.19ID:XNSpCIllなんでこのスレを読んでるのかすら理解できない
0497デフォルトの名無しさん
2015/03/10(火) 09:03:01.09ID:XNSpCIll0498デフォルトの名無しさん
2015/03/10(火) 09:03:05.00ID:MNJ+TbI6正気かよ
0499デフォルトの名無しさん
2015/03/10(火) 09:03:41.65ID:GWDqHHzEマジレスしてやろうか?
StackOverflowに日本語版出来たからそっち逝くといい
0500デフォルトの名無しさん
2015/03/10(火) 09:04:15.13ID:XNSpCIllお前はデバッグせずにlxmlが動かない理由が分かるのか?
0501デフォルトの名無しさん
2015/03/10(火) 09:14:58.22ID:FIkaoC+g0502デフォルトの名無しさん
2015/03/10(火) 09:39:09.58ID:7NzT/F8x世の中いろんな奴がいるなあ、と考えさせられたぜ
0503デフォルトの名無しさん
2015/03/10(火) 09:48:58.16ID:6CfKdFZoいずれにせよ哀れでならない
0504デフォルトの名無しさん
2015/03/10(火) 09:49:01.35ID:3b2ZvRyg上級者なら教えてくれよ
○ 下僕なら代わりにやってくれよ
0505デフォルトの名無しさん
2015/03/10(火) 09:49:32.45ID:OpBf48bx0506デフォルトの名無しさん
2015/03/10(火) 09:57:35.09ID:XNSpCIllいつも実行もせずに妄想で答えてるのか
0507デフォルトの名無しさん
2015/03/10(火) 10:41:17.66ID:OpBf48bx0508デフォルトの名無しさん
2015/03/10(火) 10:45:47.21ID:wWdegVFtまあ落ち着け
Dive into python3 で似たようなことやってるから
じっくり読み込んでやってみ
0509デフォルトの名無しさん
2015/03/10(火) 10:59:57.76ID:wb2e65jI体よく追い払おうとしているようにしか見えない。
0510デフォルトの名無しさん
2015/03/10(火) 11:22:30.46ID:nkUqlG97誰がやってもやることは同じだよ
あと、こういうことを聞くときは問題が再現する最小コードを出すもんだ
0511デフォルトの名無しさん
2015/03/10(火) 11:27:03.22ID:wWdegVFt0512デフォルトの名無しさん
2015/03/10(火) 11:33:47.80ID:lRdZfHED0513デフォルトの名無しさん
2015/03/10(火) 11:37:23.31ID:XNSpCIllここの人らはソースをちらっとは見たけど、どこが問題なのかは特定できなかった、ということで良いのか?
スレの構造はどう考えても同じだろうに
0514デフォルトの名無しさん
2015/03/10(火) 11:46:31.67ID:wb2e65jI検証したか?していないだろう。
0515デフォルトの名無しさん
2015/03/10(火) 11:54:09.42ID:iQXYHRS4特に2chはscの件で敏感になってたしね。
0516デフォルトの名無しさん
2015/03/10(火) 12:01:08.59ID:wWdegVFtどうでもいいレスしなくていいから
早く調べて答えてやれよ
0517デフォルトの名無しさん
2015/03/10(火) 12:10:58.87ID:0x74jrgc0518デフォルトの名無しさん
2015/03/10(火) 12:57:58.73ID:3b2ZvRyg最小のコードというのは、最小のデータも含む。
もしかしたら、アクセス元によってデータが変わるかもしれないし、プログラムからアクセスしていいかの利用規約も確認しなきゃいけないので、全部やるのは面倒。
0519デフォルトの名無しさん
2015/03/10(火) 13:01:01.34ID:XNSpCIllparseが自動で見つける文字コード(shift_jis)とHTML内の機種依存文字(V)が矛盾しているのが原因っぽい
だからfromstring使ってunicodeにデコードした文字列を渡せば良いだけだったわ
from lxml.html import fromstring
from urllib.request import urlopen
url = 'http://wc2014.2ch.net/test/read.cgi/sci/1343188288/'
doc = fromstring(urlopen(url).read().decode('cp932'))
print(len(doc.text_content())) # 126937
0520デフォルトの名無しさん
2015/03/10(火) 13:45:49.10ID:3b2ZvRyg0521デフォルトの名無しさん
2015/03/10(火) 15:19:51.05ID:XNSpCIll0522デフォルトの名無しさん
2015/03/10(火) 15:20:58.32ID:MFu713zAこういう考え方する人プログラミング向いてないよ
0523デフォルトの名無しさん
2015/03/10(火) 15:21:32.81ID:XNSpCIll文字コードだと言うのならまだしも、データ?
そりゃデータだろ。馬鹿かよ
0524デフォルトの名無しさん
2015/03/10(火) 15:23:27.55ID:XNSpCIllこのスレの誰一人として、プログラミングに向いてると思える片鱗が一ミリも見えないんだけど
なぜか、俺はプログラミング上級者でございみたいな顔でレスしてる方が謎
0525デフォルトの名無しさん
2015/03/10(火) 15:26:30.88ID:XNSpCIll>>480からやっとレスが付いたのが3日後、しかも妄想回答
妄想であることを指摘してやると切れ始める。どうせ何の答えも出せないんだから最初から黙っていて欲しかったよ
次に誰か質問した時もそうだ。絶対お前らは口を出すなよ。どうせクソの役にも立たないんだから
0526デフォルトの名無しさん
2015/03/10(火) 15:26:50.50ID:MFu713zA0527デフォルトの名無しさん
2015/03/10(火) 15:29:08.32ID:XNSpCIll少しは役に立つレスをしろよ
0528デフォルトの名無しさん
2015/03/10(火) 15:41:47.67ID:GWDqHHzE適当に答えて正解だと楽しいよ
0529デフォルトの名無しさん
2015/03/10(火) 15:48:44.67ID:wWdegVFtどういうプロセスで凡ミスに気がついたのか書くことも
このスレにとって有益だと思うのですが書いていたたげませんか
お願いします
0530デフォルトの名無しさん
2015/03/10(火) 16:33:39.50ID:0x74jrgc0531デフォルトの名無しさん
2015/03/10(火) 16:49:45.10ID:GWDqHHzE0532デフォルトの名無しさん
2015/03/10(火) 19:05:33.59ID:XNSpCIllpythonはうまく行かなかったらエラーを吐いて止まるところが良いのに
parseは失敗しても読み込めた場所までのetreeを返しているように見える。これは嫌な仕様だ
何か値が返ってくるので一見成功しているように見えるから、なぜ中身が中途半端なのか分からない
パース前のデータを見ようとurlopen(url).read().decode('shift_jis')とすると、そこでエラーを吐いてやっと何が問題なのか分かる
htmlファイルをそのまま見比べ続けたりdiff取ったりしても無理だっただろう
decodeなら、errorsオプションを指定することでデコードできない文字に対してエラーを吐くか読み飛ばすかを選択できるけど
parseにはそういったオプションはなく、何をやってるのか分からない。失敗したくせになぜ停止しないんだ
というか結局どの文字コードでもエラーになるスレがあるけど
重要じゃない文字っぽいのでスルーすることにした
doc = fromstring(urlopen(url).read().decode('cp932', errors='ignore'))
文字コードは闇。おわり。正解があるならplz
しかしこの問題は少しでも経験がある人なら一瞬で気付けたと思うので
数日後に上級者ぶって的はずれな説教を始めるこのスレはやはり使い物にならないと言わざるを得ない
0533デフォルトの名無しさん
2015/03/10(火) 19:35:24.00ID:tNP8NWPbじゃあもう来るな
で終了
0534デフォルトの名無しさん
2015/03/10(火) 19:40:35.76ID:zHhbDfod優しくしてあげな
0535デフォルトの名無しさん
2015/03/10(火) 19:45:25.31ID:XNSpCIllプログラミング分からないなら黙ってたほうが良いのでは
0536デフォルトの名無しさん
2015/03/10(火) 20:01:31.71ID:sfYa099T今からでも遅くないよ
0537デフォルトの名無しさん
2015/03/10(火) 20:09:19.61ID:6CfKdFZoどうしようもなくならない限り例外出さないし2chのhtmlはもちろん腐ってるから他のパーサーだと面倒なはず
0538デフォルトの名無しさん
2015/03/10(火) 20:27:30.27ID:GWDqHHzEローカルproxy造るの流行ってるみたいだけど
スクレイピングは禁止というのが2ちゃんのスタンス
0539デフォルトの名無しさん
2015/03/10(火) 21:05:02.40ID:81PK0HaL0540デフォルトの名無しさん
2015/03/10(火) 23:24:20.49ID:XNSpCIllこの板全体の単語頻度(ただし'C'や'#'は簡単のためにノイズとして除去されてる)
大文字と小文字どちらかに統一すれば良かったとあとから思ったけどまあ良いや
なんと馬鹿 (1644)は65位でした!
何の生産性もない、貶し合うだけの板なんて、そろそろおいとましよう
1: 言語 (12722) 2: コード (8511) 3: 人 (7336) 4: 関数 (6599) 5: 問題 (6194)
6: スレ (5836) 7: ファイル (5710) 8: 必要 (5595) 9: 場合 (5434) 10: 自分 (5245)
11: 文字 (4289) 12: ソース (4235) 13: Java (4215) 14: 今 (3858) 15: データ (3804)
16: 方法 (3703) 17: クラス (3691) 18: 環境 (3574) 19: Windows (3405) 20: int (3402)
21: 変数 (3198) 22: ライブラリ (3168) 23: 仕様 (3125) 24: Ruby (3093) 25: アプリ (2969)
26: 前 (2800) 27: if (2780) 28: 情報 (2676) 29: 感じ (2675) 30: 可能 (2667)
31: for (2641) 32: 部分 (2626) 33: 普通 (2564) 34: オブジェクト (2424) 35: 他 (2391)
36: 日本語 (2346) 37: コンパイル (2317) 38: 簡単 (2292) 39: 本 (2288) 40: 結果 (2258)
41: 時間 (2234) 42: 名前 (2220) 43: 列 (2197) 44: hoge (2141) 45: レベル (2068)
46: メソッド (2036) 47: Python (1961) 48: 値 (1946) 49: メモリ (1896) 50: 型 (1890)
https://www.dropbox.com/s/omwbh5clw3hvb4a/word_frequency.csv?dl=0
0541デフォルトの名無しさん
2015/03/10(火) 23:37:16.18ID:uWF4ePWzA=array([[2, 1], [3, 4], [6, 5]])
で、A[i][0]>A[i][1]となる、行だけを取り出したい。
この場合は、
A=array([[2, 1], [6, 5]])
0542デフォルトの名無しさん
2015/03/11(水) 00:28:43.75ID:nZT0Sfh/かな
0543デフォルトの名無しさん
2015/03/11(水) 00:31:54.13ID:Qxpez3uG>>542
それはpython3だとfilterオブジェクトを返すので、一旦listにキャストしてからじゃないとarrayに戻せないから冗長になる
普通にリスト内包表記使ったほうが良い
0544デフォルトの名無しさん
2015/03/11(水) 02:07:45.91ID:y/rYbl4Z0545デフォルトの名無しさん
2015/03/11(水) 07:03:33.66ID:5EkQ77dJ野良猫みたいなもんだ
暇人から駆除すべき
0546デフォルトの名無しさん
2015/03/11(水) 07:15:56.16ID:ohxGoG6/0547デフォルトの名無しさん
2015/03/11(水) 07:30:36.51ID:YwNWS2C90548デフォルトの名無しさん
2015/03/11(水) 08:12:22.93ID:EDIhvA8qほんそれ
0549デフォルトの名無しさん
2015/03/11(水) 08:20:13.79ID:33mlLn1H↓
API導入で専ブラリストラ&移転騒ぎ
↓
人減り過ぎ
↓
運営あわててBBq規制ゆるめる
↓
IP変えてIDもいつでも変えられる人増える
↓
元の木阿弥
0550デフォルトの名無しさん
2015/03/11(水) 21:33:50.12ID:EX1qv/9I0551デフォルトの名無しさん
2015/03/12(木) 14:59:27.68ID:E0Zg3jRkfrom numpy import *
def func1(x):
return sum(arange(x))
def func2(x):
return 2*x
t = arange(10)
print(func1(t))
print(func2(t))
上のソースみたいにfunc1,2に配列を渡したらfunc2からは配列が返ってきて,func1に至ってはエラー。
func1 から [sum(arange(0),sum(arange(1),sum(arange(2),・・・)]
func2 から [0*2,1*2,2*2,・・・]
みたいに以前はどっちも配列が返ってきてた気がするんだが、なんか仕様変更あったのかな?
もしかしたら俺の記憶違いかもしれんが、そのソースを最後に走らせてからAnacondaをアップデートしたから少し仕様変更を疑ってる。
俺の意図してることはソースを少し修正すれば対応できるからさほど問題では無いのだが。
0552デフォルトの名無しさん
2015/03/12(木) 15:34:24.28ID:yQvULEjlreturn sum(x)
0553デフォルトの名無しさん
2015/03/31(火) 05:29:44.19ID:EnQqwSct2.xと3.xって文法が少し変わっただけでしょ?
初めてのPythonやっとけばいいかな?
0554デフォルトの名無しさん
2015/03/31(火) 07:55:51.96ID:7FvkJziV移行できないでいる連中は、技術的にではなくリソース的な問題だし
君がライブラリの移植を任されてるとか言わない限り、
トラブった時に都度覚えればいいんちゃう
0555デフォルトの名無しさん
2015/03/31(火) 12:12:23.68ID:XpnSzaSpここ読んどくと、2と3の違いがわかりやすいと思う。
Dive Into Python 3 日本語版
http://diveintopython3-ja.rdy.jp/index.html
>Dive Into Python 3 は、プログラミング経験者向けの
>Pythonの入門書であり、Python 3 および Python 3と
>Python 2の違いを扱う。本書の約20%は Dive Into Python
> を改訂したもので、残りの80%は新しく書き下ろしたものだ。
↓上記の英語原版
http://www.diveintopython3.net/
0556デフォルトの名無しさん
2015/03/31(火) 14:13:21.80ID:ee7JB1sWトンクス!
0557デフォルトの名無しさん
2015/04/06(月) 09:57:33.45ID:ZUUro5Bq0558デフォルトの名無しさん
2015/04/06(月) 19:32:18.00ID:kkAXpFQnインストーラーを起動して進めていくと
赤い文章で
This update will replace your existing Python34 installation.
と表示されいて
さらに進めていくとダイアログで
There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor.
と表示されてインストールすることができません。
原因はなんですか?
0559デフォルトの名無しさん
2015/04/06(月) 19:44:34.83ID:MCC65dXP0560デフォルトの名無しさん
2015/04/06(月) 19:52:28.82ID:kkAXpFQnあと忘れました、OSはwindows7です
0561デフォルトの名無しさん
2015/04/06(月) 19:55:02.88ID:kkAXpFQn0562デフォルトの名無しさん
2015/04/06(月) 20:20:36.70ID:kkAXpFQn■ このスレッドは過去ログ倉庫に格納されています