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/
496 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 14:42:32 ] >>490 依頼を受けたデータ入力会社の雇われたキーパンチャーがね
497 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 19:10:22 ] Time flies like an arrow.
498 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 20:22:40 ] >>459 参考になった、ありがとう 思ったより手間すくないのね
499 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 20:49:32 ] >>462 オライリーの詳説 正規表現にはPerlでバランス取れた括弧のキャプチャの例が載っていましたよ www.oreilly.co.jp/books/9784873113593/ >5.2.4 括弧類の対へのマッチ 今手元に本が無いからうろ覚えですけど、Perlの独自拡張で無限の?入れ子まで対応しているとか >>471 の期待通り動く処理系ってPerlのそこそこ新しい奴じゃないですか? 他の正規表現処理系でのやり方も書いてあったような気がするので もし詳説 正規表現が立ち読みできたり図書館で借りられる環境ならぜひ読んでみて >>495 さんの言う通り正規表現で無限の入れ子なんて普通は受理できないのですが Perlの正規表現処理系は拡張が物凄いので正規文法の限界を思いっきり超えてます このオライリーの本はこんな形式文法の話や正規表現処理系のNFAとDFAの違いなど 細かいけど(好きな人には)面白い話が載ってます
500 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 21:10:55 ] たてよみ
501 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 21:42:03 ] 最後の方に言語毎の正規表現の比較が掲載されてて、それのおかげで助かった事が2回あった ところで”オライリーの本”ってどう略すの
502 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 21:55:49 ] >>501 表紙の動物じゃないか? ラクダ本とか、バッタ本とかあるけど となると正規表現はフクロウ本?
503 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 22:40:16 ] Twistedは蛇玉本
504 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 10:14:32 ] pythonのIDEにgeanyってのがあるのを知って使い始めました。 スニペッツを使ってみようかと思ったら、標準だと何も登録されていないようですね。 geanyをお使いの方は、スニペッツはどうしていますか? 手書きでしょうか。 どこかのサイトにあればいいのですが・・・
505 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 10:26:15 ] pyjames使ってる人います?
506 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 10:51:05 ] 返答まだですか?
507 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 12:31:16 ] tupleのi番目の要素だけを更新するには tupleを作りなおすしかないのでしょうか? v=(1,2,3) vv=(v[0],v[1]+2,v[2])
508 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 12:34:57 ] はい
509 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 12:42:44 ] 効率を気にしないなら一回listにするかな。 vl=list(v) vl[i]+=2 vv=tuple(vl) でも更新したくなったならlistのままの方が良いんじゃないかという気はする。
510 名前:デフォルトの名無しさん [2008/12/09(火) 14:33:52 ] >>504 まだ不安定だよgeany
511 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 22:52:44 ] >正規表現 みなさん、レスありがとうございました。 かなり勉強になりました^-^ 正規表現で実現できるならプログラムの一貫性がとれてよかったのですが、 そもそも括弧を同じ数だけカウントするなんてたいしたことない処理なので 今回は正規表現を使わず対応したいと思います。
512 名前:デフォルトの名無しさん [2008/12/09(火) 22:52:55 ] Python 2.6.1あげ www.python.org/download/releases/2.6.1/ バグフィックスなので2.6つかっている人はどうぞ〜
513 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 23:25:33 ] >>510 そうですか。いいところかなと思っていたのですがね。 MacでPythonをサポートしたIDEは何がいいか悩みます。
514 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 00:30:34 ] 2.6.1インストールしたんだけど、_socketのimportエラーでるんだけど、 なんなのこれ
515 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 08:26:38 ] うちは、Windows + PyScripter 1.9.9.2 + Python 2.6.1だとエラーが出る。 PyScripter --python26だとimport socketでエラーが出る。 PyScripter --python25だとエラーは出ない。 また、コマンドラインからpythonを起動したときはエラーは出ない。 Python 2.5.2, 2.6.1, 3.0で確認
516 名前:デフォルトの名無しさん [2008/12/11(木) 09:10:31 ] IDLEの補完がなんか気に入らない IDLEの代わりってなんかある?
517 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 09:15:09 ] >>516 例えば、どういうところが気に入らないのか教えてもらってもいい?
518 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 09:53:30 ] op で おっぱい と
519 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 10:13:22 ] vista で wx アプリのデバッグで強制終了が多発するようになってから、久しく使ってなかったけど。 久しぶりに起動しようとすると、起動すらしなくなっていた。 Windows vista + PyScripter 1.9.9.2 + Python 2.6.1 (環境には 2.5.2, 3.0もインストール済) + RPyC 2.60 (pyscripter googlecode の downloadより) --python25 だとエラーが出て一応起動するけど、何かするたびにエラー。終了も出来ない状態。 official の 1.7.2 に戻してみても上の現象が発生。
520 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 11:06:46 ] >>515 pythonを組込で使うとエラーがでるみたいだな。
521 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 11:15:53 ] バグらしいな。 bugs.python.org/issue4566
522 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 14:07:09 ] 前スレのこれは? >154 :デフォルトの名無しさん:2008/10/15(水) 22:41:10 > >>144 > 以下の内容を「Pyscripter.exe.manifest」としてPyscripter.exeのフォルダに置いておけばimportできるかも > > <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> > <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> > <security> > <requestedPrivileges> > <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel> > </requestedPrivileges> > </security> > </trustInfo> > <dependency> > <dependentAssembly> > <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></>assemblyIdentity> > </dependentAssembly> > </dependency> > </assembly>
523 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 15:54:48 ] Vs2008使ってるのか。 もうコンパイラのバージョンどんどん上げるのやめてくれよ。
524 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 20:40:00 ] PythonはVS2003の次はVS2005を使うかも、と思ってVS2005 Standard買ったら、 VS2008使うようになってた。ちょっとショックだ。 ……たぶんMinGWでもコンパイルできるのだろうけどさ。
525 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 20:45:31 ] >>524 それはご愁傷様だが、べつにただで落とせる2008のexpressで問題はない VC8以降のmsvcrtはSxSに格納されてmanifestを使うから、mingwは微妙かもなあ 試してみないとわからんが
526 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 23:24:31 ] スクリプトの文字コード(# -*- coding: xxx -*- の xxx)を スクリプト実行時に取得するには、どうすればよいでしょうか。
527 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 23:39:33 ] ファイルをオープンして1-2行目を調べればいい coding[:=]\s*([-\w.]+)
528 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 00:44:44 ] 正規表現おじさん来た!!
529 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 00:46:52 ] 正規表現って気持ち悪いよね
530 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 00:50:23 ] >>528-529 さてはおまいらPEP読んだことないな。
531 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:12:35 ] あるよ。 正規表現はキモイから使うなって書いてあったよ。
532 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:14:49 ] ないよ。 ワンダーはモモーイから聞けって書いてあったよ。
533 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:26:48 ] 正規表現使うやつは童貞
534 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:40:35 ] なんで分かった?
535 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:41:52 ] 正規表現使わん場合はif文でがんばるの?
536 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:45:42 ] for if最強伝説
537 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 09:21:16 ] >>535 正規表現の次はifかよ(w おっさんはこれだから困るよなー。
538 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 10:00:01 ] とりあえずおっさんって言いたいだけじゃ・・・ 上司にいじめられたか?
539 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 11:21:42 ] >>535 > if文でがんばる 比較の度に文字列のスライスを生成する効率の悪いコードしか思い浮かばないけど...。 正規表現等の組込のドメイン固有言語は、利点・問題点があるので利用は適材適所。 使い所と用法を誤らなければ、便利なツールとして活用できるよ。 例えば、>>526 なら、>>527 の通り ワンライナーの正規表現で十分事足りる。 PEP 0263 より > More precisely, the first or second line must match the regular > expression "coding[:=]\s*([-\w.]+)". re.VERBOSEオプション付きでコメント付けたり、 (?P<encoding>[-\w.]+) の様に名前を付けると、可読性の面でより親切。 >>511 の用途なら、 字句解析とステートマシンを使い、扱いやすいデータ形式に変換してから処理する。 簡単なサンプル: S式のリスト表示。ttp://paste.org/index.php?id=4477 # 文字列内の()や引用符のエスケープシーケンス等も考慮したい場合は、 shlex, tokenize等のモジュールも見てみるといい。
540 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 12:50:08 ] >>521 bugs.python.org/file12249/testpy.c #include <Python.h> int main(int argc, char **argv) { Py_Main(argc, argv); } これだけでembedできるんだ 知らなかった というかargc arcvには何いれたらいいんだ
541 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 12:52:15 ] pythonでscript書くと Makefile いらないんじゃないかと思うこともあるけど やっぱりmakeは使ってしまう
542 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 13:39:18 ] scons(笑)
543 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 14:11:35 ] DEP関係はHeapAlloc→VirtualAllocなんだって
544 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 17:09:18 ] sconsだめなの?
545 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 19:20:09 ] 1234567890 を urlsafe_b64encode (ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_) で表記すると BJlgLS であってますか?
546 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 19:26:25 ] base64.urlsafe_b64encode('1234567890') MTIzNDU2Nzg5MA==
547 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 19:31:53 ] '%08x' % 1234567890 499602d2 0100 1001 1001 0110 0000 0010 1101 0010 (499602d2) 01 001001 100101 100000 001011 010010 (BJlgLS) 後ろから詰めるとそうなるけど base64って先頭から6bitづつ区切るだろ 010010 011001 011000 000010 110100 10 じゃないのかな っつーかそもそも1234567890を何bitでとるのかによって変わるんじゃね?
548 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 19:35:17 ] base64じゃなくて64進数なら print format(1234567890, 64)
549 名前:デフォルトの名無しさん mailto:sage [2008/12/14(日) 03:08:26 ] >>548 Python2.6のbuiltinsのformat? 数値のspecは文字列で指定するみたいだけど。PEP3101 組み込み関数では、int(str,base)でもn進数変換できるけど、 _PyInt_Formatは2..36進数までしかサポートしてない。
550 名前:デフォルトの名無しさん mailto:sage [2008/12/14(日) 03:42:03 ] >>540 戻り値が渡ってないので。return Py_Main(argc, argv); 引数は python -h 参照。
551 名前:デフォルトの名無しさん mailto:sage [2008/12/14(日) 03:52:24 ] >組み込み関数では、int(str,base)でもn進数変換できるけど 逆じゃない?
552 名前:550 mailto:sage [2008/12/14(日) 07:03:50 ] 2..36進数表記の文字列 -> 数値でした。指摘thx int(str,base) は C/APIでは PyInt_FromStringだった、これもbaseの範囲は2..36 n進数変換。CAPIには PyNumber_ToBase があったけど、 pythonから使えるのはbase=2,8,16 (bin,oct,hex) のみ。 from ctypes import py_int, py_object, pythonapi num_to_base = pythonapi.PyNumber_ToBase num_to_base.argtypes = [py_object, c_int] num_to_base.restype = py_object print(num_to_base(7, 10)) # "7#13" print(num_to_base(128,64)) # "64#20" 値によっては変換後の文字を端末に表示する際にUnicodeEncodeErrorになることも。(python 3.0)
553 名前:デフォルトの名無しさん mailto:sage [2008/12/16(火) 06:25:41 ] b64c = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_' base = len(b64c) digs = 11 #(nにあわせて変えてね) ''.join([b64c[int(n / base ** (digs - 1 - x)) % base] for x in xrange(digs)])
554 名前:デフォルトの名無しさん [2008/12/17(水) 02:09:54 ] python 2.5.3c1 and 2.4.4c1 release
555 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 04:04:20 ] 2.4.6では?
556 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 06:40:25 ] coreblog.org/ats/finest-new-neature-of-python-30 3.0は変数名に漢字が使えるんですね。
557 名前:デフォルトの名無しさん [2008/12/17(水) 13:06:52 ] omoshiroi >>> class 動物: >>> 鳴き声 = '・・・' >>> def 鳴く(自分): >>> print('%s:%s' % (自分.__class__.__name__, 自分.鳴き声)) >>> >>> class 猫(動物): >>> 鳴き声 = 'にゃー' >>> >>> class 熊(動物): >>> 鳴き声 = 'クマー' >>> >>> 君のペット = 猫() >>> 君のペット.鳴く() 猫:にゃー >>> 僕のペット = 熊() >>> 僕のペット.鳴く() 熊:クマー
558 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 13:44:08 ] >>557 おもしれぇww
559 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 15:06:33 ] > Python 3.0になってもPEP 8は生きているので,クラス名に「動物」はありえないです(笑)。 ということなので真に受けんように
560 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 16:09:11 ] >>559 自分用に分かり易いコード書く程度だったら問題はない。
561 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 16:51:36 ] ニートかどうか判別できるわけですね、わかります。
562 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:20:02 ] 560がニートだ,みたいな言い方はやめろよ!!
563 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:22:12 ] つまらないな。君達、もうちょっと大人になれ。
564 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:36:52 ] Is your tail white, too?
565 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 21:23:23 ] Your tail isn't white too, is it?
566 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 00:36:37 ] listの中を進んだり戻ったりしたいのですが、 インデックスで走査すると遅くて使い物になりませんでした。 そこでイテレータの使用を検討したのですが 進むことはできても戻ることができません。 Cのポインタ走査のように何か高速に走査する方法はないでしょうか。
567 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 00:42:06 ] Pythonのlistはlinked listではなくvectorだから インデクスアクセスはランダムアクセスで、オーダー的にはO(1)だ それが遅すぎるというのであれば、Pythonでやるのが間違いであるような 仕事をさせてるんだろう 素直にC/C++使っとけ
568 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 00:42:56 ] C最強!
569 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 00:52:38 ] >>567 そだったんですか・・・ てっきりリンクリストとばっかり思ってました。 ありがとうございました!
570 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 01:38:59 ] 使いものになんねえw
571 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 01:40:54 ] そのための拡張モジュールさ
572 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 02:21:13 ] Python Code Reading行ったけど 丁寧に説明してくれたな。次も行きたいと思う
573 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 02:21:29 ] スクリプト書くときどんなエディタ使ってます? emacsで書いてるんですけど、visual studioのインテリセンスのようななのがほしいです。 eclipseのPydevってのしかないのかなー、できるならemacsでがんばりたいんだけど。
574 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 05:42:52 ] NetBeans 6.5のPythonプラグインというのもあるが、まだまだだな。
575 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 08:28:32 ] leopardでもおすすめのエディタを教えてください。
576 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 13:04:40 ] >>573 pysmell
577 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 13:09:28 ] >>576 emacsだとpycompleteぐらいしか選択肢がないと思ってたのだが, 今はpysmellというのがあるんだ.横槍だが参考になった.
578 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 14:41:38 ] emacs code browserもpythonに対応してるぞ
579 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 14:44:30 ] >>576 便利そうだね www.emacswiki.org/AutoCompleteSources
580 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 15:01:56 ] >>573 今書いてるからもうちょっとしたら公開するよ。
581 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 15:20:05 ] Pythonは動的に属性が追加/削除されるから、インテリセンスみたいなのとは 相性がイマイチだね。
582 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 15:23:27 ] >>581 わかってないなー。未熟だね。
583 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 15:25:11 ] まあ例えば def foo(x): x. までタイプしたところで補完するのは無理だわな 少なくともスコープ内で型が確定してるようなケースでないと
584 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 15:42:34 ] Function Annotationsを利用する事はできそうだよね
585 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 19:32:38 ] Function Annotations の具体的な用途は 3rd party製ライブラリに委ねられていて、 型情報に限らずどんな式でも書けるようになってる。 変数の型を保障する仕組みではなく、ライブラリ等でチェックする際のヒントとして使えるだけ。 エディタ/IDEが皆に「function annotations には型を書く」と強制は出来ないので、 補完への利用は出来ないことはないけど、難しいんじゃないかな。
586 名前:デフォルトの名無しさん [2008/12/18(木) 20:14:25 ] 最近学習を開始した初心者です。 最初はコマンドプロンプトで命令を表示させているだけですが、 pythonで作ったプログラムはこういったCUIの中で行われるものですか? ***.exeで立ち上げるようなプログラムを作るのは無理ですか? Cやっとけってことでしょうか?
587 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 20:15:57 ] っttp://python.matrix.jp/modules/py2exe.html
588 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 20:24:55 ] windowsなら拡張子を.pywにすれば.exeっぽく実行できるよ GUIがやりたいってことなら該当するライブラリをあさってみるといいよ TkinterとかwxWidgetsとか
589 名前:デフォルトの名無しさん [2008/12/18(木) 22:16:00 ] wxPython+py2exe
590 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 23:06:32 ] >>586 コマンドラインからでもウィンドウを表示できることは理解されているでしょうか? $ python Type "help", "copyright", "credits" or "license" for more information. >>> import wx >>> class MyApp(wx.App): ... def OnInit(self): ... frame = wx.Frame(None, 0, "Title") ... frame.Show(True) ... self.SetTopWindow(frame) ... return True ... >>> app = MyApp(0) >>> app.MainLoop() # ←ここで中身が何もないウィンドウが出る。 >>>
591 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 23:14:03 ] 横からだけど、MainLoop内ではどういうことしてるの? ループに入るって事は中でずーっと処理が繰り返されてるんだよね。 なのに放置してたらCPU使用率は0付近をさまよう。これって不思議。 自分でforループとかwhileループ走らせれば面白いほどCPU使用率は上がるのに。
592 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 23:25:39 ] GUIが動いてるだけでCPU使用率が跳ね上がったら まともにパソコン使えないだろ!
593 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 23:26:43 ] >>591 普通はこんな感じ while True: 次のイベントを取得する(イベントが来るまでブロック) イベントを処理する ビジーループではないからCPU使用率は跳ね上がらない イベントが来なければずっと寝ているだけだ
594 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 23:31:45 ] >>590 のようにPythonの対話環境を生かして 対話的にGUIを試したい場合、使用するツールキットによっては細工がいる >>590 の例だと、最後のMainLoop()を呼ぶまで窓は表示されず、 呼んでしまうと今度はそこでブロックしてしまい、対話環境が使えなくなるはずだ それではせっかく対話環境からGUIを試す面白みも無いだろう Tkの場合は、環境によるが、mainloop()関数をよばずとも root = Tkinter.Tk() だけでいきなり窓が出て、対話環境で引き続き色々コマンドを打ち込むことが 可能なようだ 試したところWindowsとLinuxでは大丈夫なようだが、cygwinではmainloopが 必要で、このような使い方はできないようだ
595 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 23:37:42 ] >>593 なるほど…。となるとイベント取得ってのは、OSから呼び出す形で実現してるのか。
596 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 23:42:53 ] >>595 ん?いや、送ってくるのはOSなりウィンドウシステムなりだが、 あくまでアプリが能動的に読み取る pythonでraw_input()関数を呼ぶと入力待ちになって キーボードから何か打ち込んでやると制御が戻って入力が得られるだろう それと基本的には同じだ