1 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 06:33:45 ] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、 お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>980 辺りで 前スレ くだすれPython(超初心者用) その2 pc11.2ch.net/test/read.cgi/tech/1218155094/ 関連スレ Pythonのお勉強 Part31 pc11.2ch.net/test/read.cgi/tech/1230821097/
552 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 00:25:03 ] db.run_in_transaction
553 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 00:26:55 ] はやくしてください。
554 名前:551 mailto:sage [2009/03/07(土) 00:35:19 ] >>552 ありがとうございます、まさに求めていたものでした!
555 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 00:47:20 ] >>551 つttp://code.google.com/intl/ja/appengine/docs/python/datastore/functions.html#run_in_transaction もう解決したみたいだけど ↓こっちも見ておいた方が良いです ttp://sites.google.com/site/io/building-scalable-web-applications-with-google-app-engine
556 名前:551 mailto:sage [2009/03/07(土) 00:54:26 ] >>555 ありがとうございます、ビデオも見せていただきます! Pythonはじめてな上に慣れないDatastoreなので 悪戦苦闘してますw
557 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 01:06:21 ] >>556 つttp://docs.google.com/Present?docid=dc3xqd3t_11g3pdqk3v 今は楽しい時期かもしれないけど そのうちGAEに失望することになるよw
558 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 01:07:51 ] >id = db.FloatProperty() >id = id + 1.0 だれかここに突っ込めよ
559 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 02:09:37 ] ディレクトリの名前が FooDir だとすると 内部の app.py (エントリーポイント) で import FooDir とすると __init__.py が呼び出されますか? FooDir.py とか見当たりませんでした…
560 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 06:56:14 ] ttp://sites.google.com/site/docjpgaeo/tutorials/developing-and-installing-a-plugin ttp://doc.gaeo.org/tutorials/developing-and-installing-plugins
561 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 09:48:13 ] すみません…意味がわかりません
562 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:27:32 ] 普通は教えてもらってそれほど感動したなら、今度は自分が教える側に回ろうとか思うもんだけどな 1年半経って未だに質問するだけか 猿だな 答えて貰えなきゃ感謝してるはずのスレで罵詈雑言撒き散らして荒らすあたりが本当に猿
563 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 14:29:43 ] www.boduch.ca/search/label/boduch packages.python.org/boduch/module-boduch.type.html apydia.ematia.de/ 名前空間があるからこそ ドキュメントの自動生成を範疇として自らの内に 捕らえられるのでしょうか? でも __init__.py いうのが いまいちよく理解できない…pythonムズイ…orz
564 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 16:24:51 ] >>265-268
565 名前:デフォルトの名無しさん [2009/03/07(土) 16:29:26 ] sys.path.append(os.path.dirname(__file__)) sys.path.append(os.path.join(os.path.dirname(__file__), 'application')) plugins_root = os.path.join(os.path.dirname(__file__), 'plugins') if os.path.exists(plugins_root): plugins = os.listdir(plugins_root) for plugin in plugins: if not re.match('^__', plugin): exec('from plugins import %s' % plugin)
566 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 19:16:47 ] 気象予報士って13歳でも受かるんだな
567 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 20:47:25 ] 確かにPythonの綺麗なインデント、コードスタイルには興味があるけどー Rubyと比べると正直価値は無いと思うがなぁ。 ていうかSmalltalkと同じ発想でしかも低レベルなのが物凄く悲しい 俺みたいな凡人には推し量れない意味があると信じたい
568 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 21:11:25 ] 俺みたいな凡人には推し量れない意味があると信じたい
569 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 22:33:09 ] インデント、コードスタイルで Python 選んだ訳じゃないからなぁ
570 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 00:44:19 ] ぶっちゃけ、俺の書くコードの見た目はだいたい全部同じになる。(関数系は除いて) ただ、モンティパイソン精神でこれ使ってる。
571 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 18:18:39 ] Rubyと比べると正直価値は無いと思うがなぁ。 Rubyと比べると正直価値は無いと思うがなぁ。 Rubyと比べると正直価値は無いと思うがなぁ。
572 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 20:36:18 ] ドキュメンテーションが半端なライブラリ等はプロジェクトに 持ち込むべきじゃないし、ドキュメンテーション活動が活発なところ からチョイスした方が楽が出来る
573 名前:デフォルトの名無しさん mailto:sage [2009/03/08(日) 22:18:32 ] Python で抽象クラスを定義するにはどのように書けばよいでしょうか?
574 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 16:01:05 ] import ImageTk as Itk とすると ImportError: No module named ImageTk となるのですが、どうすればいいですか?
575 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 16:16:03 ] PIL入れろ
576 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 16:25:38 ] >>575 いけた!サンクス
577 名前:デフォルトの名無しさん mailto:sage [2009/03/10(火) 20:57:03 ] >>573 ttp://d.hatena.ne.jp/chrono-meter/20080327/p1 ttp://d.hatena.ne.jp/chrono-meter/20080327/p2
578 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 00:08:30 ] タプルとかのコレクションを可変個引数に上手く渡すにはどうしたらいいです? perlでふつうに&func(@array)みたいに。
579 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 00:09:50 ] func(*array) かな
580 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 00:18:56 ] func(**hash) かな
581 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 00:26:35 ] 普通に渡すならそれで良いんですけど、可変個引数を取る関数にタプルを上手く渡せないものかと。 (a, b, c) = get_tuple() want_varg(a, b, c) # 可変個引数な関数 この時に一時変数 a, b, c を介さずに引数を渡せないものですかね?
582 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 00:28:50 ] want_varg(*get_tuple())
583 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 00:34:18 ] >582 それです! ありがとうございます。
584 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 06:45:13 ] 目の前にあっても見えないことってあるんだな
585 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 12:39:53 ] 先生!教えてください。 WindowsでPython使う場合、ActivePythonのPythonどちらを使えばいいですか? あと、2.6.1と3.0.1のどちらが良いですか? 初心者です。 よろしくお願いします。
586 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 12:43:42 ] >>585 JythonかIronPythonのほうがいいよ
587 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 12:51:00 ] >>585 公式の2.5.4オススメ WindowsAPIやCOMを使うつもりがあるならActivePython 自ら進んで苦労したい物好きなら3.0
588 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 12:53:40 ] なんで2.5系薦めるんだよ・・・・・・ >>586 はふざけてるんだろうけど
589 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 12:57:56 ] まだ2.6に対応してないライブラリが多いから
590 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 22:27:12 ] すんません、教えてください。Win32 python2.6.1です。 リストの要素をCSVに落としたいんだけど。 こんなデータ(リスト)を ["a1", "b2", "c3", "d4", "e5"] ↓ こんな文字列(CSV形式)に変換 "a1,b2,c3,d4,e5" にしたいんですけど、一発でできる関数ってありますか? いや、forでまわして末尾にカンマつけてって、 そんで最後までやったら末尾のカンマを取るってのは、流石にちょっと野暮ったいと思ったので。
591 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 22:28:49 ] L = ["a1", "b2", "c3", "d4", "e5"] ','.join(L)
592 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 22:29:48 ] joinじゃだめ?
593 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 22:30:58 ] >>591 >>592 おー、できた。トンクス。 やっぱ聞いてみるもんだ。半日悩んだよw
594 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 23:05:10 ] CSVは読み書きできるモジュールがあるよ ttp://www.python.jp/doc/release/lib/csv-examples.html
595 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 09:54:39 ] >>594 トン。ダイレクトにCSVに書き込む奴もあるのか。 流石というか、誰もが使うようなものは標準としてあるもんなんだな。 車輪の再発明(しかも超低脳)してばっかだわ、俺。
596 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 04:52:34 ] バイトコードってどうやって、つくるの? python -O foo.pyでは、ダメなの?
597 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 12:37:00 ] compileall, py_compile
598 名前:デフォルトの名無しさん [2009/03/13(金) 18:41:39 ] >>> 'ほげ'.decode('cp932') u'\u307b\u3052' >>> ('%s' % 'ほげ').decode('cp932') u'\u307b\u3052' >>> (u'%s' % 'ほげ').decode('cp932') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 0: ordinal not in range(128) >>> (u'%s' % 'ほげ'.decode('cp932')) u'\u307b\u3052' >>> ('%s' % 'ほげ'.decode('cp932')) u'\u307b\u3052' >>> ('%s' % u'ほげ').decode('cp932') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128) >>> ('%s' % u'ほげ').encode('cp932') '\x82\xd9\x82\xb0' >>> (u'%s' % 'ほげ').encode('cp932') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 0: ordinal not in range(128) >>> (u'%s' % u'ほげ').encode('cp932') '\x82\xd9\x82\xb0' >>> ('%s' % u'ほげ'.encode('cp932')) '\x82\xd9\x82\xb0' >>> ('%s' % u'ほげ') u'\u307b\u3052' >>> type('%s' % u'ほげ') <type 'unicode'> >>>
599 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 19:51:26 ] py2exeで実行ファイルをつくってみたんですが、別のWindows 2000マシンで実行したらmsvcr90.dllを要求されました。 再配布パッケージを入れればよいようですが、そもそもこのDLLを要求されないようにすることはできないんでしょうか?
600 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 20:59:29 ] python26.dllを/MTでビルドすれば可能かも知れないけど 拡張モジュールとFILE*でやりとりしてるとことかあるから多分無理じゃね
601 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 22:04:55 ] ありがとうございます。 やっぱりダメですか。配布先にDLLのインストール要求できるならそもそもPythonインストールして貰えばいいし、py2exeって何なんでしょうね。 Vistaだと最初からDLL入ってるのかな。
602 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 00:09:47 ] >>601 インストールしないまでもexeとセットでdll配るんじゃダメなんだっけ? 同一フォルダにあれば動きそうだけど。
603 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 00:20:36 ] 同一フォルダでOKな気が。
604 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 00:52:26 ] 漏れは setup.py の data_files に書き足してる 最近の atom の net book とかだと msvcpXX.dll なんかも持っていかないと動かないみたいだし
605 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 07:14:24 ] msvcpってC++ランタイムだからいらないと思うよ どっちにしろmsvcのランタイムは配布条件が面倒くさい
606 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 09:17:20 ] Microsoft.VC90.CRT.manifestを添付するのだけ気をつけて exeと同一ファイルに配置するのはOKだから別に面倒くさくはないよ。
607 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 09:33:57 ] ファイル->フォルダ
608 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 09:57:33 ] >>605 が言ってるのは方法じゃなくて条件(ライセンス)でしょ 詳しいこと忘れたけど
609 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 12:00:27 ] >>605 無いと動かなかった そのファイル一個だけ追加したら動いた importしてるmoduleが要求してたの鴨試練
610 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 18:15:44 ] 調べてみたけどmsvcr90.dllをコピーして再配布していいかどうかわかりませんでした。 ユーザにMSのサイトからパッケージをダウンロードしてもらうなら問題なさそうですが、手間ですよね。残念。
611 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 18:15:52 ] >>609 もし面倒じゃなければ依存関係調べてみれば?
612 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 18:19:34 ] >>910 Microsoft Visual C++ 2008 Express Editionのredist.txtには C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT を手を加えずにディレクトリ名も変更しないでそのまま再頒布しろって書いてあると思う
613 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:05:10 ] >>610 py2exeにsetupツールも入れてexe化して MSのサイトからパッケージをダウンロードするように作っておけば?
614 名前:606 mailto:sage [2009/03/15(日) 01:19:17 ] 貴様らワシの言うことが信じられんと申すか……
615 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 02:48:09 ] >>614 素直にRuby使った方がよろしいのではないでしょうか。
616 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 03:31:43 ] Windows上でRubyとかまたご冗談を
617 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 06:14:42 ] rubyのexerbで実行ファイルつくるとDLLなしで動作するよ。 しかもどうやってるのかLinux上でつくれたりする。
618 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 08:09:23 ] >>617 あれは実行ファイルじゃないから 自己解凍圧縮ファイルみたいな発想
619 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 11:27:21 ] >>618
620 名前:デフォルトの名無しさん [2009/03/16(月) 18:36:56 ] pythonでTkinterを使用しGUIを勉強しています。 タブブラウザのようなインターフェイスにするにはどうすればいいでしょうか? 少しググったらmaya.cmdsをimportしてtablayoutうんぬん・・・というページがあったのですが、 mayaとか持ってませんし・・・
621 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 19:04:28 ] www.not-enough.org/abe/manual/maya-python-aa07/layout2.html このページにある画像みたいなインターフェイスを作りたいです
622 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 19:11:57 ] >>621 tkinter.unpythonic.net/wiki/NoteBook
623 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 19:46:17 ] >>622 ありがとうございます。 BWidgetはTcl/Tkの拡張用のようなのですが、Tcl/Tkも導入しなければなりませんか? DLしたのはBWidget1.7.0でした
624 名前:デフォルトの名無しさん [2009/03/16(月) 21:17:35 ] www.wxpython.org/screenshots.php
625 名前:デフォルトの名無しさん mailto:sage [2009/03/16(月) 21:27:53 ] >>623 つttp://tkinter.unpythonic.net/bwidget/
626 名前:>>620 >>621 >>623 mailto:sage [2009/03/17(火) 10:37:54 ] 解決というか>>622 さんのおっしゃられた tkinter.unpythonic.net/wiki/NoteBook のサンプルが表示されるようになりました。 原因はBWidget1.7を入れるフォルダを間違えていました。 bwidgetフォルダとsetup.py tabdemo.py test.pyはpythonのLibフォルダへ BWidget-1.7.0はpythonのtclフォルダに入れればよかったのですね。 レスくださったみなさまありがとうございました。
627 名前:>>626 mailto:sage [2009/03/17(火) 18:29:42 ] 連続で質問ばかりしてしまいすみません。 タブを選択(クリック)すると、そのGUIのページを表示するのにはどうすればいいでしょうか? 以下現在のコード(サンプルを修正したもの)です。 # -*- coding:UTF-8 -*- import bwidget, Tkinter, sys, os app = Tkinter.Tk(); app.wm_title("Tabs") notebook = bwidget.NoteBook(app, arcradius=2); notebook.pack() Tabs = ['a','b','c'] for i, f in enumerate(Tabs): page = notebook.insert(Tkinter.END, i, text=f) sw = bwidget.ScrolledWindow(page) text = Tkinter.Text(sw) #text.insert(Tkinter.END,f) sw.setwidget(text) sw.pack(side=Tkinter.TOP, fill=Tkinter.BOTH, expand=True) notebook.compute_size() app.mainloop() aタブを選択したら、Frameを表示して、ボタンを配置して、といういつものGUI作成 (または、それをすでに定義してある関数) を表示させたいのですが、bwidget.ScrolledWindow(page)ではもちろん表示されることはありません。 簡単なサンプルコードがのっているページや方法があれば教えてください。よろしくおねがいします。
628 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 00:14:29 ] つttp://tkinter.unpythonic.net/wiki/BWidgets
629 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 00:39:57 ] tabs = ['a', 'b', 'c'] for i, f in enumerate(tabs): page = notebook.insert(Tkinter.END, i, text=f) p = Tkinter.PanedWindow(page) p.pack(fill='both', expand='yes') b1 = Tkinter.Button(app, relief=Tkinter.SUNKEN, text='Quit-' + str(i), command=app.destroy) b1.pack() p.add(b1) b2 = Tkinter.Button(app, relief=Tkinter.SUNKEN, text='Quit-' + f, command=app.destroy) b2.pack() p.add(b2)
630 名前:>>627 mailto:sage [2009/03/18(水) 12:31:55 ] >>629 コードまでありがとうございます。 一応カタチにはなりました。ありがとうございました
631 名前:デフォルトの名無しさん [2009/03/18(水) 18:51:19 ] 質問です。 osはwindowsxp、 PythonのversionはPython 2.5.2を使っています。 subprocessモジュールを使ってコマンドプロンプトでの以下のような二行を実行したいと思っています。 C:\Python25>doskey mpc = "C:\Program Files\mplayerc_20080104_jpn_r3\mplayerc.exe" $* C:\Python25>mpc test.wav 一行目は subprocess.Popen('doskey mpc = \"C:\Program Files\mplayerc_20080104_jpn_r3\mplayerc.exe\" $*',shell = True) で解決できるのですが 続けて実行するように二行目(mpc test.wav)をどう書けばいいのかがわかりません。 どなたかわかる方お願いしますm(_ _)m
632 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 18:55:43 ] よくわからんがos.system()を使ってはどうかに?
633 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 12:12:49 ] >>631 目的は、単にmplayerc.exeで音楽を鳴らしたいの? ならdoskeyはいらんのじゃないか import subprocess mpc = 'C:/Program Files/mplayerc_20080104_jpn_r3/mplaeyrc.exe' subprocess.call([mpc, 'test.wav']) でできると思うが
634 名前:633 mailto:sage [2009/03/19(木) 12:24:38 ] - mpc = 'C:/Program Files/mplayerc_20080104_jpn_r3/mplaeyrc.exe' + mpc = 'C:/Program Files/mplayerc_20080104_jpn_r3/mplayerc.exe' typoってた 後は、test.wavのフルパスを指定していないので、そこがカレントディレクトリに なっていることを確認汁
635 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 16:55:34 ] popen2.popen3 使うのと subprocess 使うのはどっちがどのくらいいいの?
636 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 16:57:55 ] 今はsubprocess推奨で、他はレガシー扱いのはず
637 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 16:59:43 ] subprocessでいいんじゃない? キッチンシンク的だが、何かに不足することはない。 他の何かだと、ちょっとした設計変更で別の何かに書き換える必要が あったりしていろいろ面倒なことが多い。
638 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 17:09:41 ] ありがとう勉強になりました ちょっとためしてみたけど subprocess.Popen のあと stdout.read() すると非同期で動くんですね
639 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 23:35:23 ] tupleを戻す関数を呼ぶとき hoge, fuga = hage() と書くのか (hoge, fuga) = hage() と書くので何か違いはありますか? また return hage, fuga return (hage, fuga) でも違いはありますか?
640 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 00:44:27 ] まったく同じ。dis.disで調べろ
641 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 04:14:32 ] ありがとうございます
642 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 21:48:50 ] itertools.teeの使い道がいまいちよくわからないのですが どういった際に有用なのでしょうか?
643 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 22:06:11 ] >>642 俺も使ったことねー _1, _2 = tee(xs) _1の処理 _2の処理 みたいに逐次的に2-pass処理するんなら 結局リストと同様に全要素メモリに持っておかないといかんし、それならリストでいい なんかもう少し高級な場合に必要なのだろうと思った
644 名前:643 mailto:sage [2009/03/20(金) 22:10:54 ] あー多分あれだ、前後の要素みながらやる仕事にいいんじゃないか 全部は要素を持っておく必要が無いが、近傍のN個程度の要素が欲しい、という場合 tee使わんでも書けるけど使ったほうが綺麗に書けるのかもしれない
645 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 01:05:47 ] >>643-644 回答ありがとうございました。 具体的な例が今のところ思いつきませんが、そういうような処理を要する時に使ってみたいと思います。
646 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 23:28:10 ] python の正規表現で、以下のような条件をすべて満たす文字列はど のように表現すればいいのでしょうか。 o 英小文字を一字以上含む o 英大文字を一字以上含む o 数字を一字以上含む o ngword(case無視)をふくまない o 全体で6文字以上である ruby とか perl だと以下の正規表現でうまく動くみたいなのですが、 python の場合、どのように書けばいいのかがわかりません... /(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?i)(?!.*ngword)^[ -~]{6,}$/
647 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 23:34:51 ] 一つの正規表現でやらなきゃならない理由は?
648 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 23:39:14 ] 自己解決しました。(?i) が正規表現全体に効いてしまうのですね。 >>> re.compile(r'(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?i)(?!.*ngword)^[ -~]{6,}$').search("eka2d______") <_sre.SRE_Match object at 0xb7ef6870> # 英大文字が含まれていないのにマッチ ちょっと面倒ですが、以下のようにする事でうまく動くようになりました。 >>> re.compile(r'(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*[nN][gG][wW][oO][rR][dD])^[ -~]{6,}$').search("eka2d______") >>> re.compile(r'(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*[nN][gG][wW][oO][rR][dD])^[ -~]{6,}$').search("eka2dA______") <_sre.SRE_Match object at 0xb7f0cd78>
649 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 23:41:27 ] >>647 レスありがとうございます。正規表現で書ければ、コード本体をいじらなくて も済むという事情があったからです。
650 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 17:40:07 ] Pygameのインストールが上手くいかないので教えてください WindowsにPython2.5.4をいれ、pygame-1.8.1.win32-py2.5.msiでインストールして >>> import pygame と呼び出しているんですが、何度やっても Trackback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named pygame と出ます。 解決方法があれば教えてください
651 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 18:13:02 ] >>650 site-packageはみたか?
652 名前:デフォルトの名無しさん [2009/03/22(日) 20:08:25 ] >>651 site-packageを足がかりに調べてみたところ TracLight入れたときに環境変数が色々と書き換えられてたのが原因でした 元に戻したところ無事に動きました ありがとうございました
653 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 22:17:02 ] 質問させてください。 Pythonでsubstring(文字列の切り出し) を実装するには、どのような方法で実装するのが一般的 なのでしょうか? 普通にstrNew = strVal.substring(1,5) とかできるのかと思ってたらできなくてびっくりしてます。
654 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 22:20:54 ] strVal[1:5+1]
655 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 22:44:04 ] >>654 ありがとうございます。 末尾を指定せずに切り出すのもこれでいけるんですね。 助かりました。
656 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 00:15:59 ] こういうの知ってないとググり様がない気がする
657 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 00:16:41 ] と言っても .substring() が良いっていう意味じゃないからね
658 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 00:23:23 ] >>655 このページが結構役に立つ 0xcc.net/blog/archives/000137.html
659 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 00:59:58 ] >>656 Python 文字列 切り出し でぐぐればいい
660 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 01:11:05 ] >>659 おまい頭ええのう
661 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 02:32:02 ] リファレンス読めば書いてあるじゃない
662 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 03:48:30 ] リファレンスのどこにあるかを問題にしている訳で
663 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 10:59:15 ] >>662 シーケンス型と文字列型のところみたら乗ってるだろ。 最近のヤツは検索以外の方法で情報を探す能力無いのか。
664 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 11:09:40 ] Python初めて使うんなら、タダで読めて和訳もされてるチュートリアルぐらいは ざっと読んどくといいぞ 序盤の「形式ばらないPythonの紹介」って所に文字列スライスの例も 出てくる 基本中の基本だからな
665 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 11:57:44 ] もう少し読みやすくなってるといいよね 次のバージョンの日本語に期待
666 名前:デフォルトの名無しさん [2009/03/25(水) 14:08:40 ] プロセスは動かしっぱなしで定期的にメモリを食う処理をしているんですが Pythonで使わなくなったメモリはOSに返されて居るんでしょうか? インタプリタがヒーブとして握ったままとか無いですか? OSはWindows XPとLinuxです。インタプリタのバージョンは2.6です。
667 名前:デフォルトの名無しさん [2009/03/25(水) 23:59:16 ] enthoughtのETS-3.2.0使えてる人いますか? Enable-3.2.0のインストールで /private/tmp/easy_install-OkiW1r/Enable-3.1.0/build/docs/html/.doctrees/index.doctree が無いっておこられる…
668 名前:デフォルトの名無しさん mailto:sage [2009/03/26(木) 20:51:49 ] >>666 pure Python で、不必要なオブジェクトの参照を掴んだままだったらメモリは解放されない。 Javaとかと一緒。
669 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 00:37:36 ] >>668 えーとdelすればいいのかな?
670 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 00:41:51 ] >>669 それはやめといたほうがいい、やりたいというならよく調べてからだな Noneでも入れとけばいい
671 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 01:00:34 ] オブジェクトがGCで解放されるかどうかと「OSに返され」るかどうかは イコールじゃないよ Pythonは最終的にはlibcのmalloc()/free()を使っているから、どういう 戦略を採っているかはlibcの実装によるが、普通はOSにはいちいち返さないはずだ 解放された領域は、再確保時に使いまわせるようにプールされる
672 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 01:25:17 ] バッファとかキャッシュみたいなもんだね いちいちOSに伺い立ててたら遅いから 借りたものは死ぬまで返さない方針の方が速い
673 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 01:31:34 ] Rubyかどっかのスレで似たこと聞いてたひといたけど 同じひとかな
674 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 17:06:48 ] >>671 うん、ある程度はプールされる。 でも大幅にメモリが空いたらOSに返される。
675 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 18:40:09 ] Windows上ではCPythonとIronPythonがあるけどどっちがいいんだ? やれることに違いはあまりなさそうだが。
676 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 20:35:54 ] 普通はCPythonじゃねーか? 漏れの場合は仕事でJavaとかJythonもやるのでEclipse上であれこれソースをいじるし、 サーバーサイドも書くので互換性を意識してCPython使っている。 IronPythonはプライベートのお遊び用ってスタンスだけど。 普段の生活でWindowsしか触らないなら、どっちも違いはないかな。
677 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 23:10:38 ] なるほど。Ironの方でないと実現できないってケースにぶち当たるまではCPythonをやっとくか。 日本語資料の豊富さでもCPythonが上手のようだし。
678 名前:デフォルトの名無しさん mailto:sage [2009/03/27(金) 23:10:54 ] IronPythonはお遊び専用
679 名前:デフォルトの名無しさん mailto:sage [2009/03/28(土) 00:53:33 ] IronPythonかなり遊べるけど、やっぱ遊び専用だな。 使えないという意味ではまったくない。
680 名前:デフォルトの名無しさん mailto:sage [2009/03/28(土) 05:56:17 ] 遊びには使えるが 仕事には使えない
681 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 00:06:03 ] 620 :nobodyさん:2009/03/27(金) 23:54:31 ID:KMOu2qJC 「pygameでろくでなしブルース」 www.freepe.com/i.cgi?rokublues プログラマーはあなたでお願いします。 あと、BGM(効果音はくにおから取ってほしい)製作出来る方を募集します。 参加は俺のドット絵のセンスを認めて頂いた場合だけで構いません。 誰も乗らないならそれまでだと受け止めます。 ただ、やるなら夢はでっかく、 最終的に、ネット経由の多人数プレイで、 学園対抗の乱闘騒ぎが出来るゲームにしたいなあ。
682 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 05:31:42 ] >>681 死ね
683 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 05:42:18 ] >>681 とりあえずサーバー用意してくれよ
684 名前:デフォルトの名無しさん [2009/03/29(日) 06:37:34 ] pc11.2ch.net/test/read.cgi/php/1156612854/620 扇子無いから協力しない
685 名前:デフォルトの名無しさん [2009/03/29(日) 19:08:38 ] Pythonしか知らないのですがメンバ変数とかのメンバとはどういうものでしょうか?
686 名前:デフォルトの名無しさん mailto:sage [2009/03/29(日) 23:58:20 ] ここいくとおしえてもらえるよ pc12.2ch.net/test/read.cgi/tech/1235727504
687 名前:デフォルトの名無しさん mailto:sage [2009/03/30(月) 10:35:18 ] C/C++用語だろ
688 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 03:28:13 ] win上で走らせるスクリプトで、ファイルを削除じゃなくてゴミ箱に 入れるようにしたいんだけどどうすればいい?
689 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 04:07:09 ] >>688 Pythonのことは知らないが、Win32APIならSHFileOperation
690 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 18:10:05 ] >>689 なるほど、Pythonでやるなら拡張モジュール用意しなくちゃだめか。 さんくす。
691 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 19:59:11 ] >>690 標準ライブラリにある ctypes でできない?
692 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 04:37:22 ] できるよ
693 名前:デフォルトの名無しさん [2009/04/02(木) 08:27:09 ] おはようございます。 春からpythonで開発していくことになりましたが、全て英語で書いてるので全く理解できません。 日本語のマニュアルとか、本とかは出ていますか?
694 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 08:30:49 ] >>693 若干バージョンが古いけど www.python.jp/Zope/links/python_documents ちなみに本はたくさんある
695 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 08:32:58 ] >全て英語で書いてるので 理解してないのに良くかけるな
696 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 10:00:25 ] ttp://www.amazon.co.jp/dp/4797353953
697 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 10:30:24 ] 英語の勉強も並行したほうがいいのでは。 喋れないのは仕方ないが、ドキュメントも読めないレベルだと 転職も難しいぞ。
698 名前:デフォルトの名無しさん [2009/04/02(木) 10:50:23 ] ありがとうございます!
699 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 16:23:57 ] 日本語からやり直した方がいい
700 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 22:28:22 ] >>693 Python やめた方がいい。職業も変えたほうがいい。 もっと自分の能力にあった仕事を選んだ方が幸せだぞ。
701 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 22:44:45 ] >>700 ありがとうございます!
702 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 01:35:31 ] >>701 僕を師匠と呼びなさい
703 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 06:17:37 ] >>702 し、ししょおおおおおおおッ!
704 名前:デフォルトの名無しさん mailto: [2009/04/03(金) 18:06:18 ] whileを使って、足し算をするソース教えて。 <条件> ・inputで計算の回数を入力する。 〜例〜 Input any number :3 //計算回数 Input any number :5 //1つ目 Input any number :6 //2つ目 Input any number :4 //3つ目 15 ってなヤツ。
705 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 18:13:04 ] a=int(raw_input('Input any number :')) b = 0 for i in xrange(a): b+=int(raw_input('Input any number :')) print(b)
706 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 18:15:45 ] ごめんwhile使ってなかったわ
707 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 20:04:22 ] a = int(raw_input('Input any number :')) b = 0 i = 0 while i != a: b += int(raw_input('Input any number :')) i += 1 print b
708 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 23:59:29 ] while i < a: の方が自然。
709 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 00:29:07 ] a = [] while True: a.append(int(raw_input('Input any number:'))) if len(a[1:]) == a[0]: break print sum(a[1:])
710 名前:デフォルトの名無しさん mailto: [2009/04/04(土) 16:08:43 ] >>709 出来た。ありがとう。