1 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 19:09:55 ] Pythonオフィシャルサイト www.python.org/ 日本Pythonユーザ会 www.python.jp/Zope/ まとめWiki python.rdy.jp/ 関連スレ find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python 前スレ pc11.2ch.net/test/read.cgi/tech/1223543412/
762 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:06:28 ] >そこら辺は知ってるけど 知ってるのなら>>759 より簡単な計測方法って 具体的にどんなものをイメージしているのか教えてくれ。 timeとか?w
763 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:07:28 ] >>761 Cでならできるけど Pythonでのサンプルを見たい
764 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:08:17 ] Cでできるなら Pythonでのサンプルなんていらないだろ
765 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:08:53 ] >>762 多分勘違い 計測方法を聞いてるのは俺じゃない 俺は生パケットのPythonでの扱いを聞いた方
766 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:09:36 ] >>764 スクリプト言語でやることが必須
767 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:09:55 ] >>765 正直心の底からすまんかった
768 名前:デフォルトの名無しさん [2008/12/25(木) 00:13:33 ] python 2.5.4は2.5.2に比べてかなり速くなってる。 BeutifulSoupにxmlをパースさせる処理が約11秒から約9.5秒になった。
769 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:17:41 ] 2.5.3寿命短すぎだろw 落とすだけ落としたけどインスコしないで正解だったわ
770 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:18:14 ] >>765 まずこれ。www.python.jp/doc/nightly/lib/socket-example.html あとは httplib.py とか SocketServer.py とかそのあたりの標準ライブラリの コードを読むのがオヌヌメ。
771 名前:デフォルトの名無しさん [2008/12/25(木) 00:22:45 ] >>758 チュートリアルぐらい読め
772 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:23:50 ] んなTCPとかいう高級なレイヤーの上の話じゃなくて、 raw socketの話をしてんじゃないのか? なんか全然勘違いしてると思うぞ質問者の意図を
773 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:30:04 ] >>772 TCPより下の部分はOSの領分だから、普通は raw socket といえばTCP/UDB/Unix Domain なんだよ。 ていうか、IP層には socket の概念ないし。 raw packet なら IP Packet か Ether Packet かも しんないけどさ。
774 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:37:27 ] >>773 いやフツーraw socketつったらSOCK_RAWのことだと俺は思っていたが…… まあraw socketって言葉遣いが悪かったんならそれは謝る、質問者は >>735 でraw packetと言っていたからね
775 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:53:45 ] >>770 ありがとう ただ、そこのサイトの例はちょっと上位レベルな感じだな TCPヘッダのSEQナンバー、ACKナンバーとか制御フラグとか いじるのが一番の目的なので SocketServer.pyとかはそんな感じなのかな?
776 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 01:08:10 ] >>775 > SocketServer.pyとかはそんな感じなのかな? いや全然そんなことは無いので安心汁
777 名前:773 mailto:sage [2008/12/25(木) 01:24:36 ] >>774 いや、生パケットとか生ソケットって言葉から、 SOCK_RAW 連想できんかった。すまん。 一般用語としては、「生」っていう用語はあるレイヤに着目したひとつ下のレイヤの事で、 IPの下にはEther当のネットワーク層があるから、生パケットって言われても TCP Packet, UDP Packet, IP Packet, Ether Packet のどれか判らんかった。
778 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 01:28:34 ] >>777 いや、TCPの上に乗っかるアプリケーションにはTCPを流れるデータは バイトストリームにみえるわけで、 「パケット」は意識しないし、できないでしょ 「パケット」と言われて>>770 の例を出すのは発想として明らかにおかしいと思うよ まあ結論はもう出てるからどうでもいいけどね
779 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 08:45:14 ] ARPは扱えますか?
780 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 09:19:03 ] 何をしたいの? サーバはカーネル組み込みのOSが多いから置き換え不能だけど。
781 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 10:06:12 ] は?
782 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 18:19:11 ] python で ARP のパケットを送受信できますか 何か OS 依存のライブラリとか使わないとできませんか?
783 名前:デフォルトの名無しさん [2008/12/25(木) 18:40:58 ] >>782 できる。 ttp://mail.python.org/pipermail/python-list/2002-November/172963.html ttp://sourceforge.net/projects/pylibnet
784 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 19:45:38 ] >>783 ありがとうございます!!
785 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 03:45:54 ] pythonが関数型言語というわりに あんまり関数ぽくない感じするのは気のせいなのか 副作用つかいまくってる
786 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 03:54:29 ] だれが関数型だなんていったんだ
787 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 04:02:16 ] >>785 > pythonが関数型言語というわりに そんなこと誰が言ってるんだw 関数型言語から色々便利な道具は拝借してるが、単にそれだけだ。 式と文を区別してるし、参照透明性なんぞ最初から眼中にないし、 lambdaは中途半端な糞だし、関数型的なリストは持たないし、 カリー化もパターンマッチも代数データ型もないし、 末尾再帰は最適化しないし、畳み込みは3.0からは格下げだ。 ある意味Guidoの好みは時代に逆行してるな。関数型を嫌ってるんだから。
788 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 06:12:36 ] でも Python は使いやすい
789 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 06:54:27 ] 関数型はネストが深くなりやすいとかメリットを享受するためには無名関数を使わざるを得ないとかの印象がある Guidoの考えとは相性良くないんだろう 書きにくくはないけど読みやすくはない
790 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 14:27:48 ] ctypes で WindowsAPI EnumWindows を呼びたいのですが EnumWindows は引数に callback 関数を指定しないといけないので python 側の関数を callback してもらいたいと思います 具体的な書き方が分からないのでどなたか教えてください
791 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 15:09:33 ] ttp://www.python.jp/doc/release/lib/ctypes-callback-functions.html from ctypes import * from ctypes.wintypes import * EnumWindows = windll.user32.EnumWindows EnumWindows.argtypes = [c_void_p, c_int] EnumWindows.restypes = c_int EnumWindowsCallback = CFUNCTYPE(c_int, c_int, c_int) GetWindowText = windll.user32.GetWindowTextA GetWindowText.argtypes = [c_int, c_char_p, c_int] GetWindowText.restypes = c_int def pyEnumWindowsCallback(hwnd, lp): buf = create_string_buffer('\000' * 1024) GetWindowText(hwnd, buf, 1024) if len(buf) > 0: if buf.value != '': print buf.value return True EnumWindows(EnumWindowsCallback(pyEnumWindowsCallback), 0)
792 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 15:16:26 ] py2exeでdllは作れないの?
793 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 15:18:51 ] >>787 まー関数型が好きな人は「パターンマッチとカリー化使ってプログラムできる俺かっけえw」 とかニヤニヤしてればいいんじゃね。 高度に関数型の言語は、手続き型と比べてアルゴリズムの記述とかパフォーマンスチューニ ングのノウハウの蓄積と普及がまだまだという印象を受ける。みんながもっと関数型を使う ようになればそういう動きが活発になるんだろうけど。 それと、SmallTalkとかHaskellみたいに一つのプログラミングパラダイムのみをサポートす る言語は、特定の用途にはとても強いが、逆に苦手なプログラミングのタイプにはさっぱり、 ってのが多い気がしないか。 その点、いろんなとこから良いとこ取りしてるPythonは柔軟な対応ができて良いと思うのだけれど。
794 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 15:19:05 ] >>790 先を越されてしまったようだが…… コールバックとしては、↓のようにクラスのメソッドも普通に使えるよ。 import ctypes BOOL = ctypes.c_int HWND = ctypes.c_ulong LPARAM = ctypes.c_ulong EnumWindowsProc = ctypes.WINFUNCTYPE(BOOL, HWND, LPARAM) user32 = ctypes.windll.user32 class Foo(object): def __init__(self): self.windows = [] def MyEnumWindowsProc(self, hwnd, lparam): self.windows.append(hwnd) return 1 def __call__(self): user32.EnumWindows(EnumWindowsProc(self.MyEnumWindowsProc), 0) return self.windows for hwnd in Foo()(): print "%08X" % hwnd
795 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 15:33:10 ] >>793 Pythonは関数型言語じゃありませんよということを説明しただけだよ Pythonに関数型言語になって欲しいとは一言も言ってない マルチパラダイム言語の中で考えれば、Scalaあたりに比べれば 言語の記述力自体は別に平凡な部類でしょ、Pythonは
796 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 15:45:25 ] On Python www.shido.info/py/ ython と Ruby は実はほとんど同じで、むきになるほどの差はないと思います。 (ただ、Python は Haskell などの最近の関数型言語の影響が強く見られ、 一方、Ruby は Smalltalk や Eiffel などのオブジェクト指向言語と Lisp の影響が見られます。)
797 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 15:49:34 ] >>796 ttp://d.hatena.ne.jp/odz/20061119/1163971267 で叩かれてたサイトだな
798 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 15:54:24 ] >>797 せっかく有用な比較してるのに妙な叩きするなよ zopeとダンジョの比較情報探すのもかなり苦労したんだから
799 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 15:59:59 ] 有用な比較って…… Pythonでシークエンス型は参照渡しで他は値渡しって記述は俺も ひどいと思ったけど 大嘘じゃん
800 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 16:05:05 ] そもそもPythonレベルで参照渡しなんて概念を持ち出す必要があるのか疑問
801 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:18:57 ] >>800 お前相当アホだろ?
802 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:22:40 ] すみませんが、質問です。 ジェネレータを通常のリストに変換する簡潔な方法は無いでしょうか? ジェネレータが逐次返してくる値を全部まとめたリストを得たいのです。
803 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:40:37 ] >>802 [ e for e in G ]
804 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:40:42 ] list
805 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:54:45 ] >>804 おお、こんなクラスが。ありがとうございました。 > Help on class list in module __builtin__: > > class list(object) > | list() -> new list > | list(sequence) -> new list initialized from sequence's items >>803 リスト内包表記もかなり簡潔ですね。
806 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:56:49 ] >>791 早速ありがとうございます!! でも実行すると最後にエラー出てました EnumWindowsCallback = CFUNCTYPE(c_int, c_int, c_int) ↓ EnumWindowsCallback = WINFUNCTYPE(c_int, c_int, c_int) でエラー出なくなりました >>794 きれいなコードですね ありがとうございました!!
807 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 18:21:56 ] >>796 駄本の著者だな
808 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 18:54:21 ] 景品表示法的にグレーな本書いた人ね
809 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 19:05:47 ] ttp://www.amazon.co.jp/dp/4777513688 続編は内容的にガッカリらしい
810 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 21:15:32 ] 恥ぱい
811 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 21:27:53 ] 中身がハッカーズ大辞典やアンサイクロペディアみたいなノリだったら あのタイトルでも許せたんだけどな。
812 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 05:52:00 ] イテレータから、n 個ずつとってまとめたタプルを 次々返すようなジェネレータって標準モジュール内にないですかね? itertools 内を見回しても見当たらないんですけど・・・ 結構使う機能なので、使うたびにジェネレータ定義するの面倒だし、 この機能だけのためにモジュール定義するのとかも面倒だし、 標準モジュール内であると楽なんですが・・・
813 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 06:03:34 ] あの、回答まだでしょうか?
814 名前:デフォルトの名無しさん [2008/12/27(土) 08:06:33 ] 正月休みです
815 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 10:03:05 ] from 俺のitertools import pair def pair(iterable, count): """ >>> list(pair(range(10), 3)) [(0, 1, 2), (3, 4, 5), (6, 7, 8), (9,)] """ iterable = iter(iterable) stop = False while not stop: y = () try: for i in range(count): y += (iterable.next(), ) except StopIteration: stop = True if y: yield y
816 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 10:46:00 ] >>812 > この機能だけのためにモジュール定義するのとかも面倒だし、 Pythonのモジュール作るのは別に面倒じゃないと思うんだが…… つーかPythonのスクリプトって特別な呪文を唱えずとも全部モジュールとして 使えるわけだし、せいぜい既存のモジュールとファイル名がかぶらないようにだけ 注意しとけばいい PYTHONPATH, PYTHONSTARTUP, sitecustomize.pyなどの手段で sys.pathに自分用スクリプトディレクトリを加えておくといいぞ Pythonみたいにモジュールが使いやすい言語でコードの再利用を考えないのは損だ
817 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 11:47:56 ] >>815 >>816 分かりました。 myitertools.py みたいなのを作ってやってみようと思います。
818 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 11:57:00 ] ちょっと違うけど短くかけるな def pair(iterable, n): return izip(*[iter(iterable)]*n)
819 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 11:58:45 ] うへ,tuple って immutable っていうから += みたいなのはなしかと思い込んでた…
820 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 12:25:32 ] a += b って a = a + b として処理されるんでないの
821 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 12:26:35 ] もちろんそうだよ。
822 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 12:27:53 ] >>820 __iadd__()がある場合は__iadd__()で処理される 無い場合は、__add()__を用いて処理される immutableの場合は当然__iadd__()なんてものはないから 普通に__add()__を用いて新しいオブジェクトが作られる
823 名前:822 mailto:sage [2008/12/27(土) 12:28:50 ] なんだ__add()__ってw まあ意味分かるよね、ごめん
824 名前:デフォルトの名無しさん [2008/12/27(土) 21:48:30 ] >>> zip(*[iter(range(10))]*3) [(0, 1, 2), (3, 4, 5), (6, 7, 8)] >>> zip(*[iter(range(10))]*4) [(0, 1, 2, 3), (4, 5, 6, 7)]
825 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 22:14:25 ] >>815 >>818 >>824 この場合は末尾の扱いってどうすべきなのかな
826 名前:デフォルトの名無しさん [2008/12/28(日) 00:07:52 ] 用途によって末尾が必要な場合・不要な場合があるけど、 tupleで返す場合の戻り値は >>824 のように固定長にすべきじゃないかな。 また、>>815 は、while ループ一巡辺り最大で tuple += tuple で count - 1個, (iterable.next(), ) で count 個の不要な一時tupleオブジェクトが作成される。 この場合の作業変数はlistを使う方がベター。
827 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 05:15:16 ] 余りが出たら、最後をデフォルト値で埋めてみる def padpairs(iterable, n, default=None): x = chain(iter(iterable), repeat(default, n-1)) return pair(x, n) # pair は >>818 の奴 >>> list(padpairs(range(10),3)) [(0, 1, 2), (3, 4, 5), (6, 7, 8), (9, None, None)] >>> list(padpairs(range(10),4)) [(0, 1, 2, 3), (4, 5, 6, 7), (8, 9, None, None)]
828 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 10:12:17 ] 2.6以上ならizip_longestが使える
829 名前:デフォルトの名無しさん [2008/12/28(日) 10:32:42 ] >>827 GJ
830 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 15:09:27 ] >>828 2.5でもmap使えばいいだろ
831 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 15:35:12 ] 愚直にitertools.isliceで。 import itertools def pair(iterable, count): it = iter(iterable) while 1: a = tuple(itertools.islice(it, count)) if not a: break yield a print list(pair(range(10), 3))
832 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 16:46:42 ] 俺も考えてみたけど、>>824 のシンプルさには敵わないな >>> import itertools >>> make_taker = lambda xs, n: lambda: tuple(itertools.islice(xs, n)) >>> iter_take = lambda xs, n: iter(make_taker(iter(xs), n), ()) >>> list(iter_take(range(10), 3)) [(0, 1, 2), (3, 4, 5), (6, 7, 8), (9,)]
833 名前:デフォルトの名無しさん [2008/12/28(日) 19:14:36 ] see also itertoolsのドキュメント内 izip と 例 の grouper関数
834 名前:デフォルトの名無しさん [2008/12/29(月) 00:37:20 ] >>830 mapだとイテレータや巨大なリスト等を扱うとき困る。itertools.imapだと末尾の扱いが若干異なる。 3.0 のbuiltinのmap はitertools.imap相当なので、mapで長さの異なるリストを扱っている場合は3.0への移植の際に注意が必要。 例えば、下のコードは 2.x と 3.0 で結果が異なる。 >>> list(map(lambda *xs:xs, *[iter(range(10))]*3))
835 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 01:42:21 ] >>832 nが大きな数になる時を考慮するなら、こっち(islice)の方が効率良さそう。 元質問からは少し外れるけど、file-likeオブジェクトや文字列の場合。 try: from io import StringIO except ImportError: from StringIO import StringIO def split_nbyte(stream, n): return iter(lambda :stream.read(n),"") def split_nbyte_str(s, n): return group_nbyte(StringIO(s), n)
836 名前:デフォルトの名無しさん [2008/12/29(月) 08:17:15 ] ie = win32com.client.Dispatch('InternetExplorer.Application') ie.Navigate('www.google.co.jp/ ') ie.Visible = True while ie.busy: time.sleep(1) q = ie.document.all('q') q.Value = 'python' btnG = ie.document.all('btnG') btnG.click() これでGoogleの検索が出来ることが分かったのですが 検索結果を取り出す方法が良く分かりません どうすれば出来ますか
837 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 08:32:37 ] print ie.document.body.innerHTML
838 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 08:53:40 ] っつーか urllib2 じゃいかんのか なにがしたいのかによるが
839 名前:デフォルトの名無しさん [2008/12/29(月) 09:06:23 ] エラーが出ます><
840 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 11:12:01 ] Python3.0なんですが、urllib2がインポートできないのでそうしました。 あきらかに日本語ドキュメントがおかしいです。存在しません。
841 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 11:14:54 ] >>840 py3k の使用はもうちょっと待ったほうがいいって。
842 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 11:18:50 ] 今の日本語ドキュメントは2.5用
843 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 11:24:02 ] 3.0ではurllib周り大刷新してたはず
844 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:00:25 ] こんなところで質問する人間が使うバージョンじゃない。> 3.0
845 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:16:30 ] 正式リリースされているんだからもっとレスがついていいと思う
846 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:42:20 ] 英語読めない奴は2.5系使うのがいいよ。
847 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:43:50 ] 英語読めても各種ライブラリを自分で移植したりビルドする気のない奴は(ry
848 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:57:35 ] 正式リリースされたからってすぐ飛びつくもんじゃない。 メーカー製品みたいに、ドキュメントからサポート体制からリリースに合わせて 全力で整えてるわけじゃないんだから。
849 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 12:59:05 ] 3.0から入るのも良いけれど、その場合は日本語ドキュメントはアテにならないから 英語ドキュメント読まないと。
850 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 18:34:58 ] 怒濤の勢いで止めとけレスがw
851 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 19:15:45 ] 僕はパイソンを使う権利が無い、資格が無いという事ですね。 こんなだから日本のPythonユーザの数は少ないんじゃないでしょうか。 明らかにおかしい。
852 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 19:27:26 ] どのバージョンも好きに使う権利があるが、 2.5.2がふさわしい。むしろ2.5.2のThe King。
853 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 19:32:18 ] >>851 出たばかりだから枯れてないし、情報も出回ってないから、 古いの使っとけ、というアドバイスをそこまで曲解するほうがおかしい。
854 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 19:38:22 ] >>851 は荒らしだろ、相手にするなよ。 でも>>851 の親がイカれた奴なのは確かだ。
855 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 19:40:42 ] >>854 相手するなよ
856 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 19:47:43 ] ろくにwhat's newも読まずに最新のバージョンを使って、urllib2がインポートできない からとwin32comを使い、3.0は止めとけばと言われれば僻み丸出しとか馬鹿なの?
857 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 20:31:39 ] まあそう煽るなよ 初心者ならドキュメントの類を隅々まで読んでいないのも 一番新しい正式リリース版をインストールするのも、別に不思議なことじゃない >>851 はいつもの釣りだろ
858 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 20:33:32 ] まあ普通にバカだわな
859 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 20:45:17 ] >>852 っ2.5.4
860 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 22:27:45 ] またruby厨の降臨かよ
861 名前:デフォルトの名無しさん [2008/12/29(月) 22:47:04 ] >>847 Ruby使うのやめてPythonにしたのは 各種ライブラリがそろってて Rubyみたく自分で移植しなくてもよかったから いまさらPy3kでライブラリ移植する必要が出てくるなら Ruby使ってた方がまし
862 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 22:48:08 ] マニュアルの類は読まないってのが世間一般の常識として浸透してるから そう目ゴジラ立てて怒らんとってくれ。