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/
95 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 17:46:07 ] Windowsのコマンドプロンプトで実行する場合、 input(u"日本語文字列")ってすると文字化けします。 明示的にコマンドプロンプトの文字コード(cp932とか)にエンコードしないと駄目なんでしょうか?
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/ なんかは単体のウェブサーバだし・・
197 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 12:14:53 ] >>196 www.python.jp/doc/release/lib/internet.html
198 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 19:32:50 ] PyHP
199 名前:デフォルトの名無しさん [2008/09/28(日) 21:39:05 ] urllib の pathname2url を使って C:\cygwin\usr\local\bin\sandbox.py を変換すると /C|/cygwin/usr/local/bin/sandbox.py になります。 ドライブレターの後続の : が | になっています。 実際にはこれを URL として使おうとすると file:///C%7c/cygwin/usr/local/bin/sandbox.py となります。たしかに IE も含めてこのURLで ローカルファイルシステムのファイルを開くことができます。 : ではなく | を使う理由は、初期のNetscapeで : の 代替として | が使われていた(しかも RFC に反して %エンコードの対象から外されていた)という以外に 何か理由があるのでしょうか? また、 file:///C%7c/cygwin/usr/local/bin/sandbox.py と file:///C:/cygwin/usr/local/bin/sandbox.py のいずれが正規形なのでしょうか?
200 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 22:15:10 ] スレ違いのような気もするが、Wikipediaによると次の理由があったのらしい。 the original URL syntax とやらの出典がないので真偽は不明。 en.wikipedia.org/wiki/File_URI_scheme > On MS Windows systems, the normal colon (:) after a device letter has sometimes been > replaced by a vertical bar (|) in file URLs. For example, to refer to file FOO.BAR in the > top level directory of the C disk, the URL file:///C|/FOO.BAR was used. This reflected > the original URL syntax, which made the colon a reserved character in a path part.
201 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 22:23:13 ] RFC1738を見る限りでは使えそうなんだがな
202 名前:デフォルトの名無しさん [2008/09/28(日) 22:23:45 ] パスを構成する要素として使える文字 pchar の定義が RFC2396 から RFC 3986 で増えているのもそれに関連しているのかも。 RFC2396 "-" / "_" / "." / "!" / "~" / "*" / "'" / "(" / ")" RFC3986 ではそれに加えて /"&" / "$" / "+" / "," / ";" / "=" / ":" / "@" ただ、RFC2396の時点でも既に | は含まれてないんだよな… たとえ : の代わりに | を使ったとしても %エンコードしなきゃ いけないことには変わりないんだけど、ネスケはそれを無視してたらしい。 「the URL file:///C|/FOO.BAR was used」ってことで今は file:///C:/FOO.BAR でいいわけで、なんで urllib では そうなってないんだろうな、と疑問に思った次第。
203 名前:デフォルトの名無しさん [2008/09/28(日) 22:59:54 ] あ、いや、そういうことが言いたいんじゃなかった。 ドキュメントには「urllib.pathname2url() は urllib.quote() 処理された結果が返る」って書いてあるのに「|」が urllib.quote() 処理されてないじゃん、ってことが言いたかった。 バグじゃねぇ?って思ったんだけど、仕様なのかね。
204 名前:デフォルトの名無しさん [2008/09/28(日) 23:02:04 ] C:\cygwin\usr\local\bin\sand~box.py は ///C|/cygwin/usr/local/bin/sand%7Ebox.py に返還されるので ~ はエスケープ処理されるんだ。 まぁ昔のNetscapeに合わせた仕様ということなんだろう。 とはいえ RFC3986 に準拠したい自分にとっては気持ち悪い。 再度 urllib.quote() かけると % が二重にエンコードされちゃうし。
205 名前:デフォルトの名無しさん [2008/09/28(日) 23:20:04 ] urllib のコードを読んでみた。 なんのことはない、urllib.quote() は RFC3986 ではなく RFC2396 の reserved をエンコードしているだけ。 ただし "/" は引数 safe のデフォルト値なので除く。 で、そのreservedは何かというと RFC2396 reserved = ;/?@&=+$, RFC3986 reserved = :/?@&=+$,#[]!'()*;
206 名前:デフォルトの名無しさん [2008/09/29(月) 00:09:14 ] www8.uploader.jp/user/vipprog/images/vipprog_uljp00555.txt
207 名前:デフォルトの名無しさん [2008/09/29(月) 11:39:14 ] 組込み関数property()と メソッド__getattr__()、__setattr__()、__delattr__()って どっちか一方があれば事足りるような気もするんですが、 何が違うんでしょう??
208 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 12:24:32 ] >>207 __???attr__ は動的なプロパティに使えて柔軟。 propertyは用途が制限されている変わりに、単純にクラスにプロパティを追加したいだけなら楽に書ける。
209 名前:207 [2008/09/29(月) 13:04:42 ] なるほどぉ〜。そういう亊ですね。 ありがとうございます。
210 名前:デフォルトの名無しさん [2008/09/30(火) 03:45:11 ] winでscapy使ってる人います? キャプチャしたパケットをpdf表示するのにTeXが必要なんだけど MiKTeXだと上手くいくけど pLaTeX2eだとdvi出力でタイムアウトしてしまいます。 ちょっとソースみてみたところ、PyXのtext.texrunnerでexpextのパターン指定がないせいで TeXプロンプトが表示される前に入力を流し込んでるっぽい。 expextにどんなパターンを渡すかってとこで、なんだかわからずお手上げです。 まぁMiKTeX使えばいいんですけど せっかくTeXなんていう巨大なシステム入れるなら 日本語も使えるようにしたいっす。
211 名前:デフォルトの名無しさん [2008/10/01(水) 15:21:52 ] global b a = 'a desu' b = 'b desu' def a_print(): print a return def b_print(): print b return class c(object): def a(self): print a def b(self): print b print 'a printed!\n' a_print() print 'b printed!\n' b_print() x = c() print 'class-a printed!\n' x.a() print 'class-b printed!\n' x.b() exit() グローバル変数って何なの?意味ないの?
212 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 15:34:38 ] def func1(): x = 10 def func2(): global x x = 20 x = 0 func1() print "x =", x func2() print "x =", x
213 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 15:48:34 ] >>211 Pythonのglobal文は、global変数を定義するときじゃなくて それを使うとき(正確には、global変数に代入するとき)に使うもんだぞ global bってのは「bというグローバル変数を定義します」 じゃなくて 「このローカルスコープでbというグローバル変数に代入したいです」 という意味だ なにもなしでローカルスコープで b = 1 とか書いたら、単にローカルにbという変数が作られてしまうからな Pythonでは
214 名前:デフォルトの名無しさん [2008/10/01(水) 23:43:37 ] SimpleXMLRPCServerを使ってクライアントから送られたデータに クライントのIPアドレスを付加して保存したいのですが, アドレスはどのように得ればいいでしょうか? class Server: def __init__(self, port): self.server=SimpleXMLRPCServer(('localhost', self.port)) self.server.register_instance(XMLRPCMethod) self.server.servforever() class XMLRPCMethod: def __init__(self): self.database=[] def senddata(self, data): #引数が送るデータ self.database.append((data, addr)) return True
215 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 22:11:25 ] >>214 普通に動かせばデフォルトでアクセスログがstderrに吐かれるみたい あとハンドラにaddress_stringなるメンバもあるから使えるんじゃないかと
216 名前:デフォルトの名無しさん [2008/10/03(金) 00:01:56 ] py2exe は VC7.1 でコンパイルされているようですが、 たとえば boost.python を使って VC9 でビルドした DLL を使うような Python アプリケーションでも py2exe が使えるものなのでしょうか? 異なるバージョンのランタイムを使うDLLが混在 していても問題ないものなのでしょうか? boost.python をつかった Python アプリを Linux から Windows に移植しようとしています。
217 名前:デフォルトの名無しさん [2008/10/03(金) 01:31:22 ] configparser と optparse って、 こう、なんか、その、うまく連携してくれないものでしょうか?
218 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 04:53:11 ] >>216 FILE*に触ってなければ異なるコンパイラでも動くはず msvc7とmingw gccでは大丈夫だった
219 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 09:59:05 ] GoogleのAndroidのアプリをPythonで作れませんよね?
220 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 14:15:17 ] モジュールがあればなんでも出来る
221 名前:デフォルトの名無しさん [2008/10/03(金) 15:04:13 ] 2.6 ririisu
222 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 16:12:16 ] ktkr?
223 名前:デフォルトの名無しさん [2008/10/03(金) 17:02:56 ] CGIでクエリ文字列を参照したいんですが 環境変数「QUERY_STRING」にはどうやってアクセスすればいいんでしょ?? test.cgi?a=1&b2 の場合は a=1&b2 を取得したいです。
224 名前:デフォルトの名無しさん [2008/10/03(金) 17:06:19 ] >>223 import cgi data = cgi.FieldStorage() a = data.getfirst('a','')
225 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 17:07:34 ] 環境変数はos.environ
226 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 17:09:38 ] WebProg板には、こんなスレッドもあるのだ pc11.2ch.net/test/read.cgi/php/1163513344/
227 名前:223 mailto:sage [2008/10/04(土) 16:42:07 ] >>224-226 ありがとうございます!助かりました! >WebProg板には、こんなスレッドもあるのだ >pc11.2ch.net/test/read.cgi/php/1163513344/ まさかこんなスレがあるとはw
228 名前:デフォルトの名無しさん [2008/10/05(日) 02:45:07 ] デバッグってどうやってます? emacsに慣れちゃってるんで,Meadowのgud-modeで pdbを動かしたいんだけど,新規バッファに何も表示されず "q"で終了するとした時に,今まで溜まってたのが表示される・・・ WinPdbは使いにくいんだよなぁ・・・
229 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 03:19:59 ] PyScripter
230 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 04:00:09 ] すいませんlinuxなんです
231 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 07:34:41 ] eclipse + pyDevじゃだめ?
232 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:17:13 ] すいませんlinuxなんです
233 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:41:00 ] emacsじゃだめ?
234 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:47:01 ] >>232 linuxでeclipse動くだろw
235 名前:デフォルトの名無しさん [2008/10/05(日) 12:03:50 ] すいませんlinuxなんです
236 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 12:07:55 ] あやしい部分で print すればいいよ。
237 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 12:20:29 ] すいませんlinuxなんです
238 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 12:35:28 ] すいませんほんとうはrubyなんです
239 名前:228 [2008/10/05(日) 13:25:39 ] 皆さんアドバイスありがとうございます! >>229 これはすごいIDEですね! こんなものがフリーで使えるとは・・・Python恐るべし!! もう少し頑張ってみて,どうしようもなかったら乗り換えを検討します. >>230 VMware上で試したんですけど,linuxのemacsだと問題ないんですよね〜 >>231 結構,定番っぽいですね >>236 それならWinPDBの方がいいかなぁ ちょっとググってみたら,NTEmacsで 同じ現象に陥っている人を発見! ttp://mail.python.org/pipermail/python-mode/2005-January/000236.html でも,特に情報なし・・・ バックグラウンドでpdbが動いていることは確かで 新規バッファに表示されないだけなので もう少し調べてみようと思います.
240 名前:228 [2008/10/05(日) 13:33:09 ] >>238 スレチですが,rubyも本家で配布しているelispでは Meadowでrubydbが使えません. ドライブ文字を含むパスを通すように,rubydb3x.elを修正する必要があります. Meadowは少数派なのかなぁ・・・
241 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 14:18:08 ] python 2.6 がリリースされていますが、 Psyco 1.6 は動作しますでしょうか? 本家にあるWindows用は2.5向けしかないようです。
242 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 14:22:06 ] >>241 一般にCで実装されていてコンパイルが必要なライブラリのバイナリ配布物は メジャーバージョンが違えば*全て*使えない ソースからコンパイルすれば使える*可能性*はあるが、公式にサポートが 表明されていないなら、全て自己責任の世界
243 名前:241 mailto:sage [2008/10/05(日) 14:54:41 ] >>242 ありがとうございます。 これから使ってみようと考えている初心者なんで、素直に2.6用のがでてくるのを待ちたいと思います。
244 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 17:37:40 ] 使ってみてエラー吐くか試すぐらいしてもいいんじゃね でもpsycoで高速化される場面は限られるよ