1 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 19:25:51 ] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、 お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>950 辺りで 前スレ くだすれPython(超初心者用) その3 pc12.2ch.net/test/read.cgi/tech/1232055225/ 関連スレ Pythonのお勉強 Part33 pc12.2ch.net/test/read.cgi/tech/1240678081/
384 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 09:37:55 ] きたああああああああああああああ UnicodeDecodeError出なくなった!
385 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 10:08:02 ] >>384 どうやった? まさか setdefaultencoding() じゃないよな? from __future__ import unicode_literals して、テキストファイルのファイル入出力は import codecs codecs.open('foo', encoding='cp932') のようにエンコーディングを指定してファイルを開くのが正しい方法だぞ。
386 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 11:45:18 ] リスト型で日本語を扱う場合一個ずつ取り出さないと文字が化けちゃうんですが スライスで一度に複数の要素を扱えるようになる方法はないんでしょうか
387 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 11:54:03 ] >>386 実際に化ける場合のコードと、「一個ずつ取り出す」のコードを見せてみりゃれ
388 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 12:11:28 ] 辞書を hoge = {'fuga': 1} print hoge.fuga とJSの連想配列のようにキーをプロパティみたいにして アクセスしたいんですがどうにか実現できないですか?
389 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 12:38:09 ] >>385 フッ…txtをUTF-8で保存することを覚えただけさ ついでにだけどunicode_literalsって何? 2.5だとimportできなくていいのか?
390 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 12:48:52 ] >>389 うん、2.6からしか使えない。 たとえば、 #coding: utf-8 open("あいうえお") ってやると、"あいうえお"はutf-8のバイト列だから、Windowsとかでは "あいうえお" という名前のファイルを開けない。 open(u"あいうえお") と書くと普通にファイルが開ける。 で、 Python 3.0 以降では普通に "あいうえお" と書くと Python 2系の u"あいうえお" 相当になるんだけど、Python2系でもu無しにUnicode文字列を書けるようにするのが unicode_literals
391 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 12:51:59 ] >>388 例えば、 >>> class JSObject(dict): ... def __init__(self, o): ... self.__dict__ = o ... >>> o = JSObject({'foo': 1}) >>> o.foo 1 他にも __getattr__, __setattr__ を使った方法とかもある。
392 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 13:10:28 ] >>387 こんな感じです #ファイルの2行目からの文字列を3行ずつリストの1要素にまとめて扱いたい fhnd = open('spam.txt','r') lines = [] add_up = [] line_start = 2 line_end = 5 for temp in fhnd: lines.append(temp) for temp in lines: if (line_start > line_max) or (line_end > line_max): break add_up.append(lines[line_start] + lines[line_start+1] + lines[line_end-1]) #←化けない # add_up.append(lines[line_start:line_end]) #←上の代わりに実行すると化ける print str(add_up[0]) + str(add_up[1]) + str(add_up[2])#←上のfor文内のうち上の行を実行なら化けない print str(add_up[0:3])#←上のfor文内のいずれでも化ける
393 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 13:12:35 ] 抜けてたけど line_max = len(lines) です
394 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 13:13:17 ] >>391 おお!ありがとうございます! 勉強になりました!
395 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 13:58:36 ] >>392 > add_up.append(lines[line_start] + lines[line_start+1] + lines[line_end-1]) #←化けない > # add_up.append(lines[line_start:line_end]) #←上の代わりに実行すると化ける 上の場合、appendの引数は文字列だけど、下の場合はリスト なので下を上と同じくするならadd_up.append( ''.join( lines[line_start:line_end]))じゃまいか > print str(add_up[0:3])#←上のfor文内のいずれでも化ける リストをstrしたときに得られるのはprintできる文字列 >>> L = [1, 2, 3] >>> str(L) '[1, 2, 3]'
396 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 15:24:04 ] >>392 まずはstr()とrepr()の違いが判らないとな。 >>> astr = 'あいう' >>> alist = [astr] >>> print astr あいう >>> print alist ['\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86'] リストを文字列にしようとしたら、リストの要素にはstr()ではなくてrepr()が適用される。 repr()されると、文字列のうちASCII文字以外は\xでエスケープして表示される。 三行分の文字列を配列にして add_up を2重配列にしたい? それとも三行分の文字列を一つの文字列に連結したい? lines = open('spam.txt').readlines() add_up = [] for i in range(1, len(lines), 3): add_up.append(lines[i:i+3]) # 2重配列にしたい場合 add_up.append(''.join(lines[i:i+3])) # 連結したい場合
397 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 16:36:49 ] エンコーディング方面の問題かと思って 見当違いな方向に進むところでした ありがとうございました
398 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 05:48:35 ] >>390 ありがとう
399 名前:デフォルトの名無しさん [2009/07/13(月) 22:41:07 ] [1,2,3,1,4,5]のようなリストの重複した要素を削除して[1,2,3,4,5]のようなシーケンスを作る。 ※並び順は問わない。 set型を使わず、for文とif文を組み合わせるなどして作成する。 模範解答をお願い致します。
400 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 22:50:35 ] とりあえず、初歩的にはこんな感じだろう。 ListA = [1,2,3,1,4,5] ListB = [] for x in ListA: if not x in ListB: ListB.append(x) print ListB
401 名前:デフォルトの名無しさん [2009/07/13(月) 22:53:49 ] >>400 レスありがとうございます。 削除する方法ばかり考えてましたが、追加するって考え方もあるんですね すごく参考になりました。スマートな回答どうもです!
402 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 22:56:05 ] a = [1,2,3,1,4,5] print list(set(a))
403 名前:デフォルトの名無しさん mailto:sage [2009/07/13(月) 22:56:27 ] 最初に空リスト作るってのはよくある
404 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 00:44:04 ] >>399 set型を使わない理由は?
405 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 00:52:50 ] 宿題だからでは・・・ あれ、だとすると宿題スレだなw
406 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:09:18 ] 2ちゃんに書き込みたいけどcookieがよく分からん どうやってResponseから取り出してrequestに追加するの?
407 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:42:01 ] firefox使えばok
408 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:45:22 ] というかwgetだけでできるじゃん
409 名前:デフォルトの名無しさん [2009/07/15(水) 06:59:12 ] インスタンスに勝手に属性をつけられないようにはできませんか? クラスの定義に書いてある属性だけで打ち止めにしたい・・・
410 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:56:43 ] def __setattr__(self, name, value): if hasattr(self, name): object.__setattr__(self, name, value) else: raise AttributeError(name)
411 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:10:10 ] そうか! __setattr__ をオーバーロードすればよかったんですね.
412 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:23:09 ] __slots__ とどこが違うの?
413 名前:410 mailto:sage [2009/07/15(水) 09:58:48 ] >>409 的なことはやらないから忘れてた
414 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 10:18:58 ] >>412 何か文句でも?
415 名前:406 mailto:sage [2009/07/15(水) 13:29:32 ] いやPythonから書き込みたいんだけど
416 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:32:20 ] >>415 spam業者乙!
417 名前:デフォルトの名無しさん [2009/07/15(水) 13:34:45 ] 過去スレに(r
418 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:51:46 ] from cookielib import CookieJar cj = CookieJar() cj.extract_cookies(res,req) cj.add_cookie_header(req)
419 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 15:44:39 ] これだな pc11.2ch.net/test/read.cgi/tech/1226830195/14
420 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 15:52:29 ] フォルダの中にあるtxtファイルを全て読み込むことってできますか?
421 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 15:54:12 ] >>420 import glob for i in glob.glob('*.txt'): d = open(i).read()
422 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 15:58:45 ] >>421 ありがとうございます os.walk使って無理矢理やってました
423 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 16:02:41 ] glob() はサブディレクトリ見に行かないぜ
424 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 16:54:45 ] paverいろいろおすすめ from paver.path import path for f in path('.').walkfiles('*.txt'): print f
425 名前:デフォルトの名無しさん [2009/07/16(木) 05:05:09 ] くそう・・・なんで俺のコードじゃpickleが使えないんだ・・・ もう寝る
426 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 15:49:26 ] gzip解凍できねえぞくそお
427 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 15:59:39 ] ttp://blog.kzfmix.com/entry/1187087731 これだ!
428 名前:デフォルトの名無しさん [2009/07/16(木) 16:49:39 ] 文章の中から単語の数かぞえんのどうやんの? countを使ってどうやんのさ
429 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 16:56:15 ] wc --words
430 名前:デフォルトの名無しさん [2009/07/16(木) 17:16:57 ] pythonって何のために使うの?
431 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 17:51:28 ] 汎用です
432 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 21:46:48 ] 夜のお供に使ってみるか・・・
433 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 02:41:08 ] perlをわすれるため
434 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 07:14:30 ] 雑用を処理させていますよ。 gMailを読んでDBに格納しておいて月末にExcelにまとめさせるとか
435 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 16:20:12 ] グラフ描くのに色々モジュールあるみたいだけど何がいいかな
436 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 18:56:36 ] 今os.systemを使ってUNIXコマンドを組み込んでるんですが bashとかでお馴染のリダイレクトやパイプを Pythonでも使いたいのですが可能ですか?
437 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 19:02:23 ] os.system は system(3) 経由 sh 経由でコマンドを起動するはずだからできると思うが、 subprocess モジュールを勉強したほうがいいと思う。
438 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 19:13:07 ] >>437 。。。すまんm(_ _;)m 勘違いして別のコマンド実行してたみたいです。。。 確認したらちゃんとできました。 回答ありがとうございましたm( __ __ )m
439 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 19:44:54 ] しかし乗り換えるにはsubprocessは面倒くさい罠
440 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 19:53:55 ] popen2.popen3()
441 名前:デフォルトの名無しさん [2009/07/18(土) 05:44:16 ] 4コアでガンガンまわしてるつもりになってても、 実は1コアしか動いていないのが悲しい スタックレスなんとかをかんとかすればアレなのかな?
442 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 06:57:04 ] つmultiprocessing スレッド回すよりは好きだわ
443 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 10:58:43 ] unko = [1, 3, 5, 7, 11, 13] for i in unko: if i < 10: unko.remove(i) for i in unko: print str(i) 3 <---? 7 <---? 11 13 なして?
444 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 11:19:11 ] ループ中に回してるリストをいじるのはやめましょうという話 どうしてもやりたければ for i in unko[:]: unko.remove(i)
445 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 11:21:12 ] リストについて舐める操作をしながら、そのリストに副作用が起きる操作をしてるから。 リストの1番めを見て、1を削除。その次はリストの2番めを見るので、1番めに入った 3は無視されちゃう。
446 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 17:05:09 ] unko.remove(i) ワロス
447 名前:デフォルトの名無しさん [2009/07/18(土) 21:28:25 ] ちんこ
448 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 22:13:35 ] フルーチャートを書けばすぐわかることだろうに
449 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 22:14:17 ] フローチャートを書けばすぐわかることだろうに
450 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 22:17:00 ] flo'u tʃɑ':(r)t
451 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 00:14:08 ] クラスの中で変数を宣言したいのですが、 self.unko = 0 で、いいんでしょうか?
452 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 00:15:18 ] はいそれで大丈夫です 外部アクセスを防ぎたい場合はself.__unkoとしてください
453 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 00:31:21 ] ありがとうございます! 外部アクセスを防ぐ、ということは宣言した後予期せぬ状況で中身が書き換わるのを防ぐ、ということでしょうか?
454 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 01:45:38 ] no
455 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 02:03:46 ] うーんどういうことなんでしょう。 内容を事ある毎に変化させていくパラメータとして使いたいので普通に宣言すれば良いと思っているのですが、それで問題ないでしょうか?
456 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 02:18:34 ] no
457 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 02:21:19 ] >>455 余計なことを言って混乱させてすいませんでした self.__unko のように先頭に__を付けると外部アクセスのできないいわゆるprivate変数の様な感じになります
458 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 02:36:23 ] C言語で言うとstaticをつけたりつけなかったりという話なのでしょうか?
459 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 04:27:42 ] no
460 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 20:34:26 ] python楽しいお
461 名前:デフォルトの名無しさん [2009/07/21(火) 22:20:03 ] python 面白いよね ショボイのしかまだ書けないけど、(きっと今後もw) 日々の作業が楽で、楽しくなるようなコードが書けるまで勉強するのだ インタラクティブシェルだけで勉強してたら、ショボーンだけど、ファイルに書き出しとかになると ちょっとプログラムって感じで楽しい
462 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 11:39:00 ] Python、神のごときライブラリが色々あって面白いすね。
463 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 12:51:38 ] python組み込みのhash関数って完全ハッシュ関数ですか? 衝突しませんか?
464 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 14:25:58 ] >>462 新参の俺にbeautifulsoup意外詳しく
465 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 15:00:29 ] _mssql、VisualBasic.netでADO.netとか何だったんだろうと。 pyExcelerator、Excelネイティブのファイルが簡単に出来たですよ。 reportlab、PDFが(ry Barcode for Python、bzr branch lp:barcodesforpython/beta、バーコードが(ry 最近、データベースからの書類生成は全部Pythonで書いてます。
466 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 16:45:56 ] searchとmatchの挙動の違いを詳しく解説してくれる方いませんか?
467 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 16:52:14 ] re.match("foo", s) == re.search("\Afoo", s)
468 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 18:29:48 ] match(r'foo',unko)のようにrオプション付けるとどういう効果があるのでしょうか?
469 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 18:34:06 ] www.python.jp/doc/release/lib/module-re.html
470 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 18:34:22 ] >>468 www.python.jp/doc/release/tut/node5.html#SECTION005120000000000000000
471 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 18:43:29 ] findを忘れないで
472 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 19:00:55 ] よくわかりました! ありがとうございます''
473 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 23:42:42 ] >>463 なわけないだろ。
474 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 09:00:30 ] >>473 明確に記載されている資料があればお願いします
475 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 09:06:50 ] www.python.jp/doc/release/lib/module-hashlib.html
476 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 09:08:54 ] どのソースに書いてあるかドキュメントに書かれていればいいんだがなー 組み込み関数だとgrepしてもノイズ多くてゲンナリ
477 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 09:11:08 ] memo ttp://mail.python.org/pipermail/python-dev/2003-June/036556.html ttp://stackoverflow.com/questions/793761/built-in-python-hash-function ttp://www.unixuser.org/~euske/doc/python/python-lisp-j.html
478 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 09:23:01 ] >>475 それじゃないww
479 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 09:29:32 ] help(hash)したら書いてあるだろうが
480 名前:476 mailto:sage [2009/07/23(木) 10:22:52 ] >>479 俺へのレスじゃなくて>>463 へのレス? やってみたけど、どちらにしても書いてなかった
481 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:28:17 ] Summer holidays
482 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:47:47 ] 機能性文盲はつらいよ
483 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:52:46 ] いいからやってみろよ 上で求められてるような情報は出てこないから
484 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 11:00:18 ] 求められてるのって、完全hashかどうかだよな? > Return a hash value for the object. Two objects with the same value have > the same hash value. The reverse is not necessarily true, but likely. 明快に書いてあるよな、「逆は真とは限らない」って。