1 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 09:24:54 ] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、 お礼は Python の布教と初心者の救済をお願いします。 前スレ くだすれPython(超初心者用) pc11.2ch.net/test/read.cgi/tech/1207878910/ 関連スレ Pythonのお勉強 Part 28 pc11.2ch.net/test/read.cgi/tech/1217836194/
96 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 17:49:06 ] >>95 環境に合わせて自動的に決定されるようにできるよ
97 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 17:54:35 ] >>96 ご回答ありがとうございます。 もうちょっと調べてみます。
98 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 23:18:04 ] >>89 >書籍は大量に売れたよ。品切れになるぐらい。 どの本だよ(wwWwwWwwwwwWWwwwWwwww
99 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 01:26:23 ] grassで返答するのはやめろ
100 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 02:12:50 ] 売れない書籍の関係者乙(wwwWwwwWWwwWwwWwWwww
101 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 12:15:01 ] >>84 >そういえば、日本のPythonコミュニティをどうこうするとか息巻いて玉砕してた人たちがいたよな >>85 >python温泉はレベル高いから遠慮しておいたほうがいいな どこの中二病だよ(wwwwwwwwwwwwwwwwwwwwwwwww Pythonはじまったな(wwwwwwwwwww
102 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 16:53:38 ] pylonsとTurboGearsとDjangoってどれが一番初心者向けですか?
103 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 22:52:49 ] twisted
104 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 23:34:38 ] pylonsとTurboGearsとDjangoとtwistedってどれが中二病っぽいですか?
105 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 23:49:01 ] hpricot
106 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 01:36:48 ] pylonsとTurboGearsとDjangoとtwistedとhpricotってどれが邪鬼眼っぽいですか?
107 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 02:03:20 ] pylonsとTurboGearsとDjangoとtwistedとhpricotとGrokってどれが日本のPythonコミュニティをどうこうするとか息巻いて玉砕してた人たちっぽいですか?
108 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 05:43:51 ] >>107
109 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 08:09:43 ] >>107 >>107 >>107 >>107 >>107 >>107 >>107
110 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 09:04:57 ] pylonsとTurboGearsとDjangoとtwistedとhpricotとGrokとweb.pyってどれが日本のPythonコミュニティをどうこうするとか息巻いて玉砕してたくせに結局できたのは傷をなめ合うだけの引きこもりオナニー集団だけだったのですねおまえらいらないからPHPでもやってろよ。
111 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 09:57:38 ] PHPはないだろ あるとすれば ocaml とか
112 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 10:10:15 ] >>110 >>110 >>110 >>110 >>110 >>110 >>110 >>110 >>110 >>110 >>110
113 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 10:44:49 ] boost.python つかったら std::vector<myclass> みたいなのが さっくりと python から扱えるようになる?
114 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 12:28:04 ] またPHP厨か
115 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 13:09:44 ] >>110 以下の一文を適宜付け加えておいてくれ 自分の能力のなさを棚に上げて他人を逆恨みする
116 名前:デフォルトの名無しさん [2008/09/05(金) 22:08:05 ] 翻訳ドキュメントの読み方のコツを教えてください。 javaのドキュメントのようには、なかなかクラスとメソッドの関係とかが 分かりません。
117 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 22:36:14 ] pydocと併用するとか、対話モードで動かしながら読むとか
118 名前:デフォルトの名無しさん [2008/09/05(金) 23:43:57 ] これは便利ですね。はじめて知りましたpydoc さすがに親クラスとかパッケージに含まれるクラスにリンクで飛ぶようなことは 出来ないですよね?それが出来れば最高なんですけど
119 名前:デフォルトの名無しさん [2008/09/05(金) 23:45:48 ] i = 1 iに1加える場合 i = i + 1 よりも簡単な方法ってないですか?
120 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 23:47:53 ] i+=1
121 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 00:11:32 ] >>118 pydoc.org/2.5.1/ epydoc.sourceforge.net/stdlib/
122 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 00:50:29 ] >>120 それ、あんま好きになれん。 結局iは+1した値を指しなおすわけで全くの構文糖てのが。
123 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 01:33:33 ] >>122 pythonで数字は普遍性を持つので CPUにとっての「簡単な方法」を追求するなら CやPerlなどの「純粋」手続き型言語を選択すべき。
124 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 01:51:25 ] >>122 pythonの場合はintがimmutableだから仕方が無いんだろう __add__()と__iadd__()は別物だから、mutableなobjectに関しては、 C++と同じように+と+=は別物として定義できるし 一般には後者のほうが効率がいいわな
125 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 02:08:44 ] >>124 __iadd__()って別個にあるんだな。しらんかった。
126 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 03:31:06 ] immutableなくせにmutableのフリをしやがってプンプン
127 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 04:19:04 ] いま PyDev 使っているんですがUSBメモリに入れて持ち歩ける開発環境を探しています。 エディタでおすすめはなんでしょうか??
128 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 04:22:51 ] emacs
129 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 04:43:17 ] >>128 Windows なんですけど、Meadow とかすか? できれば 22 系の情報キボンヌ
130 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 05:22:03 ] widowsならpyscripterでも入れとけよ
131 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 05:26:18 ] そのままJRE+Eclipseでいいんじゃないの? うまくcmdファイルを書けばいけるよたぶん。 ドライブレター固定もわざわざディスクの管理でせずに substで回避するとかで。(ダブってるとダメだけど)
132 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 08:08:38 ] pyscripterよさそう。 しかし! よく考えたらそもそも Python 自体をどうやって持ち歩くんだ? C:\Python25 以下をごそっとコピーしただけでいいんだろうか? だけどたしかその位置(C:\Python25)ってレジストリに 登録されてるんだよなぁ。
133 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 09:44:10 ] レジストリはsys.pathの初期化に使うだけ なくても動く C:\Python2Xをそのままコピーすればおk
134 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:35:04 ] 質問です。cat(引数はつけない)のつもりで以下のスクリプトを書きました。 import sys for line in sys.stdin: print line, コンソールから実行してみると、入力して改行しても出力されません。 そこでwhileとreadline()を使って、 import sys line = sys.stdin..readline() while line: print line, line = sys.stdin.readline() のように書き直しました。これで望む結果は得られたものの、どうもいまひとつです。 もっとスマートな方法があれば教えてください。よろしくお願いします。
135 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:36:31 ] すいません、インデント崩れました。 import sys line = sys.stdin..readline() while line: print line, line = sys.stdin.readline()
136 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:11:05 ] forループは先読みバッファを使うらしいね 下のと同じ意味で for line in iter(sys.stdin.readline, ""): print line,
137 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:26:01 ] レスありがとうございます。どうもそのようですね。 独自のバッファを使うことを意識しておかないと。 結局、whileループを while True: line = sys.stdin.readline() if not line: break print line, と書き直すことで解決しました。今後はこっちを使うことにします。
138 名前:今日の日記 mailto:sage [2008/09/08(月) 01:49:32 ] __setattr__()メソッドが再帰的に呼び出されないように、 このメソッドの中では object.__setattr__(self, name, value) という形式で値を代入するらしいけど、この"object"ってなによ????( ;´Д`) 自分の参考書には class MyClass(object): ってクラスの()の中に1箇所だけ記述されてるんだけど、 これって"継承"してるってこと???objectは基底クラスってこと? objectはどこに定義してあるのよ?おれはしてないよww ( ´Д`) ( ´Д`) ( ;´Д`) 寝る
139 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 01:52:48 ] 俺のPython勉強日記 pc11.2ch.net/test/read.cgi/tech/1220604777/
140 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 08:11:18 ] >>138 まともな入門書嫁。
141 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 09:13:05 ] class hoge(object): def __setattr__(self,method,value): self.__dict__[method] = value self.method = value とするとself.methodの時点で __setattr__の条件を満たしてしまい 永久ループに突入してしまうので、 オブジェクトのディクショナリを参照し、 そこに代入する形を取る。
142 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 09:19:00 ] うそを書くなよ。上のコードは動作しないぞ、気をつけろ!
143 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 09:57:31 ] >>142 ありがとうございます 危うく嘘を覚えるところでした ( ;´Д`) 引き続き解説募集中です (^o^)
144 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 13:16:45 ] とりあえず、object は基底クラスで、 class MyClass(object):... は object を継承してる。
145 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 23:55:24 ] def main(): なにか if __name__ == '__main__': main() という形式を見かけたんですかなぜこのようにしているのでしょうか?
146 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 23:57:45 ] スクリプト起動したときに 必ずmain関数が動いてほしい、という時の為のおまじない。
147 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 00:04:58 ] >>145 docs.python.org/tut/node8.html#SECTION008110000000000000000
148 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 00:05:54 ] 知らん
149 名前:145 mailto:sage [2008/09/09(火) 00:10:05 ] >>147 英語サイト貼ってんじゃねぇよ屑
150 名前:デフォルトの名無しさん [2008/09/09(火) 00:13:34 ] >>147 ありがとうございます よくわかりました
151 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 00:33:31 ] やっぱりわかりません
152 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 00:56:48 ] >>145 モジュールとしてして利用するとmainは実行されない。 単体で実行するとmainが実行される。 たいがいはテスト目的かな。
153 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 01:29:17 ] importするとそのスクリプトが実行されるという基本的なことを 説明してあげないと
154 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 01:47:41 ] __name__にはモジュール名が入る。 import sys print(sys.__name__) とやると'sys'が戻る。 でトップレベルで実行(自分自身を実行) すると'__main__'になる。 そのため、__name__ = '__main__'が成りたつ場合 自分自身が実行された、ということがわかるため、 その後にmain関数だのを列挙しておけば実行される
155 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 02:00:07 ] おいおい嘘教えるなよ。それはまったくのでたらめだろ importの内容について語るかと思ったら嘘張られるとは
156 名前:デフォルトの名無しさん [2008/09/09(火) 03:43:02 ] ひどいスレだ・・・
157 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 08:58:29 ] でたらめが多すぎる・・・
158 名前:デフォルトの名無しさん [2008/09/09(火) 09:56:15 ] そもそもPythonて言語自体が怪しくなってくる
159 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 10:19:00 ] >>158 詳しく
160 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 10:42:59 ] 自己解決しました
161 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 13:22:27 ] 入門書嫁
162 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 23:34:57 ] import urllib print urllib.urlopen("http:example.com").info() info()って一部のヘッダー情報しか出力しないよね? httpステータス(200とか)をurllibで取得することってできますか?
163 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 00:06:51 ] HTTPでinfo()にHTTPステータスが含まれないのはそういう仕様なんだろう。 urllib2か直接httplibをつかうしかないと思う。
164 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 07:58:24 ] >>163 なるほど。了解です。
165 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 00:48:05 ] >>164 urllib2.urlopenの返してくるオブジェクトには、なぜかcodeってプロパティがあって そこに200とかそのものずばり入ってる
166 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 11:00:51 ] Python3.0に向けて皆さんが勉強していることってなんですか? ソースビルドして動きを確かめるぐらい?
167 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 12:00:59 ] ML,PEP,NEWS.txt
168 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 13:49:16 ] Rubyに乗り換える準備をしている
169 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 13:50:45 ] >>166 本家にあるマニュアルを眺める
170 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 13:51:27 ] >>168 参考までに理由を教えて
171 名前:162 mailto:sage [2008/09/15(月) 20:07:56 ] >>165 まじっすかww自分urllibの方のコード必死に潜ってましたww クラスURLOpenerのhttp_openメソッドでhttpステータスが入った変数errcodeが if文の分岐に使われてるのを見つけたんですが、 どうやってアクセスするのが良いか悩んでたとこだったんです。。 助かります。ありがとうございました。
172 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 14:18:43 ] def f( *arg ): print arg p = None f(p) f()のargを空タプルにしたい場合、 変数pへはどんな値を代入すればいいでしょう?? ちなみに、上の場合は (None,) となってしまいます。。
173 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 14:29:52 ] 引数無しで f()
174 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 14:36:01 ] p = () f(*p)
175 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 14:37:30 ] f(*p) と書くべきじゃないの
176 名前:シベリアよりのお手紙 mailto:sage [2008/09/21(日) 08:14:33 ] 今、windows xpでpython3000を勉強しています。 ハードディスクにあるファイルを、更新日の新しいものだけUSBメモリにコピーするという スクリプトを書いたのですが、大きなファイルをコピーするとファイルの断片化がひどいです。 Explorerのコピーのように一旦連続した領域を確保してからそこにコピーというような処理は 書けないでしょうか? ついでの質問ですが、比較関数を指定したlistのsortはどうやるんですか? # Rubyでいうとこの、ary.sort{|a,b| a <=> b } みたいなやつです。 動作効率向上のために機能を削ったとかいうのは、メーリングリストで見かけましたが 全く方法がないと言うことはないと思うのですが。
177 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 09:01:19 ] 後半については L = ['one', 'two', 'three', 'four'] L.sort(cmp = lambda a, b: len(a) - len(b)) # 文字数で昇順ソート 大抵の場合はkey指定で間に合うと思うけどね (上の例の場合、L.sort(key = len)
178 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 09:25:32 ] >>176 ファイルを扱う側からすれば領域が連続するかしないかなんてどうでもいい話だから どうしてもやりたいならボリュームを直接開いてファイルシステムを直接いじることになるんじゃないの? explorer云々が本当ならどんなことしてるかスパイツール使って調べてみればいい
179 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 09:41:09 ] 常套手段として前半は 低レベルI/Oでファイルサイズ分lseek()して空write()かな。 モダンなOS・FSならこれでヒントになるとおもう。 py3kで実現できるかは試してないから不明。
180 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 22:40:40 ] xyzzyってエディタではTabによる空白を空ける事が出来ないんですが 解決方法もしくは他にオススメのエディタがあったら教えていただけませんか
181 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 22:49:54 ] C-q TAB
182 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 23:11:52 ] 有難うございます!
183 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 07:16:22 ] mod_python + publisher handler はじめて使った。 こんなに簡単に書けてしまっていいのだろうか…
184 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 23:07:38 ] Pythonの問題集っぽいのが欲しいです 一度学習した事のチェックがしたいんです
185 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 23:17:11 ] なにを求めてるんだか知らんけどな www.pythonchallenge.com/ projecteuler.net/ ja.doukaku.org/
186 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 23:27:22 ] 他言語の宿題スレの問題をPythonでやるとか
187 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 01:51:04 ] >>185 うおあありがとう >>186 なるほど
188 名前:176 mailto:sage [2008/09/23(火) 08:48:59 ] >>179 断片化に関してはだいぶよくなったような感じがします。 ですが、挙動が思ってたものと違うようで、lseekしてからwriteすると パッとそのサイズのファイルができるのではなくて、ファイル先頭から 順次\x00を書き込んでいってるような感じでした。なので全体の書き込み速度は半分に。 178氏の言うように、近いうちにexplorerの挙動を調べてみたいと思います。 分かったとしても、Cで拡張ライブラリ書くことになるのかなぁ。 >>177 Python 3.0b3 (r30b3:66303, Sep 8 2008, 14:01:02) [MSC v.1500 32 bit (Intel)] on win32 >>> L = ['one', 'two', 'three', 'four'] >>> L.sort(cmp = lambda a, b: len(a) - len(b)) # 文字数で昇順ソート Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'cmp' is an invalid keyword argument for this function cmpは動かないようです。L.sort(key = len) なら動きます。 python3000の啓蒙サイトでもcmpを使ったコードがあったんですけど動かないのはうちだけ?
189 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 09:37:08 ] if id == 1: ... とかいうコードを書いてひどい目にあった おまいらも気をつけろよ というか組み込み関数だけでも色分けしてくれるエディタを使うべきか
190 名前:189 mailto:sage [2008/09/23(火) 09:58:03 ] import __builtin__; print '\n'.join(dir(__builtin__)) で自己解決
191 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 10:03:43 ] >188 Python3000ではcmpパラメータは撤去されたらしい。すまんかった。 ttp://www.python.org/dev/peps/pep-3100/ >list.sort() and builtin.sorted() methods: eliminate cmp parameter
192 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 12:37:43 ] >>188 Windows上ではfile.truncateでファイルサイズ増やせる 後はctypesでCopyFileW,SHFileOperationWあたりを使ってみるとか
193 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:40:39 ] ttp://www.python.jp/Zope/intro/ ここのpycgi.cgiの中にtest.cgiって書いてあるけどこれらは同じじゃないと 動きませんよね?
194 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 22:18:25 ] そうだね。 8年前の記事なんて誰も読まないから気付かなかったんだろう。
195 名前:193 mailto:sage [2008/09/24(水) 23:45:58 ] >>194 やっぱりそうなんですね。1日悩みましたが解決して先へ進めそうです。 もし中の人がいたら修正お願いします、私みたいな初心者がつまずかないために。
196 名前:デフォルトの名無しさん [2008/09/27(土) 11:25:25 ] Python で作ったデーモンっぽいツールに (と言ってもログ監視とかその程度だけど) ちょっとしたウェブインターフェイスを付けたいと思っています。 こういう目的で使える HTTP を扱うモジュールってありますか? www.athana.org/ なんかは単体のウェブサーバだし・・