- 1 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:27:53 ]
- Python オフィシャルサイト
www.python.org/ 日本Pythonユーザ会 www.python.jp/Zope/ FrontPage - Pythonのお勉強 python.rdy.jp/ 前スレ pc11.2ch.net/test/read.cgi/tech/1201073019/l50 ◆関連スレッド Microsoft IronPython 1.0 pc11.2ch.net/test/read.cgi/tech/1157686822/ Python の宿題ここで答えます Part 1 pc11.2ch.net/test/read.cgi/tech/1153585095/ 2ch検索: [python] find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python ◆関連リンク Python 日本語ドキュメント - Pythonistaのお友達 www.python.jp/doc/release/ Pythonのバイブル的書籍 www.amazon.co.jp/dp/4797341815 その前編 www.amazon.co.jp/dp/4797341815
- 762 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 13:42:50 ]
- type() is じゃなくて isinstance 使えっていつも言ってんだろ
素直に unicodedata 使えよ
- 763 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 13:55:04 ]
- >>762
なんぞそれ
- 764 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 13:58:06 ]
- ininstanceのほうがいいね。しばらく使ってないと忘れるなあ
- 765 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 17:57:01 ]
- isinstanceなら継承関係も考慮してくれるしな
- 766 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 18:35:41 ]
- 「入門書も読めないゆとりが集まるスレ」に名前を変更した方がいいな
- 767 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 19:33:39 ]
- 「煽り一行書くだけしかできない生産性の無いゆとりが集まるスレ」に名前変えたほうがいいな
- 768 名前:デフォルトの名無しさん [2008/03/19(水) 19:43:08 ]
- 人間の頭なんて大差ないんだよ。
やるか、やらないか、それだけの違い。 毎日少しずつでも前進してる奴と、 毎日言い訳を考えて何もしない奴とでは差がついて当然。 たいしたことを思いつこうが、思いつくまいがそんなのどうでもいい。 出来ない奴を馬鹿にする奴はどうせたいした事無いから。 出来ない奴に対して自慢したいだけなんだよ。 やりたい事、目標を見つけて少しでも前進する事。 覚える事がさしあたって100あるなら1つずつ覚えていけばいいだけじゃないか。 一度に100覚えられないから漏れは駄目なんだと思ってるんじゃないのか? それは天才がやる事であって、凡人は1つずつやっていけば良いんだよ。 努力する癖を習得するんだ。
- 769 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:06:14 ]
- 挫折なんかしたことないなあ。分からなくなったことはあるが
色々試したりしてずっとやってたら分かったし。 挫折したとか言ってる人は自分で勝手に挫折したと決めている だけなのでは? 分かるまでずっとやってりゃそのうち分かるよ。 諦めなきゃ良いだけ。 いつまで経ってもできないという場合は本当は自分のやりたく ないことなのかも知れないけどな。そういう場合はやめてみれば いい。だがそれを「挫折」と呼んではいけない。それは単に やめただけだ。
- 770 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:19:24 ]
-
FizzBuzz問題 1から100までの数字を出力する。ただし、 3の倍数のときは数字のかわりにFizz 5の倍数のときは数字のかわりにBuzz 15の倍数のときは、FizzBuzzと出力する。 これはここの人にはどう捉えられるのかちょっと知りたいな。
- 771 名前:デフォルトの名無しさん [2008/03/19(水) 20:21:38 ]
- >>770
それ、問題か? hello, world と同じレベルじゃねえか。
- 772 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:21:43 ]
- >>770
ガイシュツ
- 773 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:24:04 ]
- >>768
1%の才能と99%の努力が大切なのですが その1%の才能すら持ち合わせていない人が大勢います あなたもそのうちのひとりであることはほぼ間違いありません
- 774 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:25:11 ]
- >>770
簡単すぎて素直な回答を出したら低能だと言われそうで怖い問題。 出題者がビット演算とかトリッキーな回答を要求してるのではないかと 勘繰ってドツボにはまる。
- 775 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:26:28 ]
- 普通に書いたあとググっていかに短くできるか考え続けるだけ
- 776 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:28:43 ]
- >>774
有名なプログラマーもどき除け問題だけどタイプ可能な文字数の制限があったり十進じゃなかったりすると面白いのかな
- 777 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:38:58 ]
- コード書くのが好きで飯もいらないときがある、
別にこれで食っていこうとかは思わないけど趣味の範疇ならほんと楽しい。 素人だし下手糞なりに人に教えもしたけど、大体の奴は途中で飽きてやめていく。 そういう奴らは、読解力とか理解力なんかが足りないというか、 自分で調べる気がないというか。 別に馬鹿にしてるわけじゃないけど、そういうこと好きじゃないなら 無理してプログラムなんてやらなくてもいいんじゃないかな?
- 778 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 20:48:30 ]
- プログラミングって、実行させてはエラー出して、その度に調べて、って
根気良く続けるのが重要だと思う。 ちょっと上達してきて、エラー出すのが恐くなって、実行させるのが 億劫になったとき、成長が少し止まった気がした。 「とにかくやってみる」ことは武器の一つだと、小学校のときの先生が言っていた。 何つーか、動くコードを知るだけじゃなくて、動かないコードを知ることも 実は重要なんだよな。 要はエラーを恐れるなってこと。
- 779 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:11:10 ]
- なんでID出ないんだろうこの板
- 780 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:13:05 ]
- 人間だもの
人間だもの 人間だもの へびお
- 781 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:49:38 ]
- [[i,'Fizz','Buzz','FizzBuzz\n'][[3,0,0,1,0,2,1,0,0,1,2,0,1,0,0][i%15]]for i in xrange(1,101)]
- 782 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:54:01 ]
- for n in [[i,'Fizz','Buzz','FizzBuzz\n'][[3,0,0,1,0,2,1,0,0,1,2,0,1,0,0][i%15]]for i in xrange(1,101)]: print n,
- 783 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 21:57:15 ]
- print open("answer.txt").read()
- 784 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 22:02:51 ]
- for i in range(100):print i%3/2*"Fizz"+i%5/4*"Buzz"or-~i
- 785 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 22:04:16 ]
- python -c "__import__('webbrowser').open('www.google.com/search?q=python+fizzbuzz&btnI=I%27m+Feeling+Lucky')"
- 786 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 22:49:43 ]
- 「入門書を読めない文盲のゆとりがポエムを貼り付けるスレ」に変更しませんか?
- 787 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 22:50:29 ]
- アンチスレと交換するだけでいいと思うよ
- 788 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 22:56:35 ]
- 早く恥パイの第3版の和訳だせボケ
もう2.6出てんのに。
- 789 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:03:21 ]
- >>788
だから出ないんだって。 ソースな↓ ttp://tinyurl.com/23y5e
- 790 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:06:42 ]
- >>770
応用編 「3の倍数と3の付く数字だけアホになり、8の倍数だけ気持ち良くなります」
- 791 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:10:57 ]
- >>789
これは信頼できるソースだな
- 792 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:16:23 ]
- >>790
俺も言おうと思っていたが先越された
- 793 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 23:18:58 ]
- >>> import urllib2
>>> urllib2.urlopen("tinyurl.com/23y5e").url 'www.bulldog.co.jp/'
- 794 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 01:01:25 ]
- >>792
やっぱり '3' in str(i) がキホン?
- 795 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 07:51:38 ]
- FizzBuzz問題って色んなバージョンあるんだね
ttp://ja.wikipedia.org/wiki/%E6%B8%A1%E8%BE%BA%E9%90%98
- 796 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 11:57:56 ]
- 問題をアレンジして
3の倍数および3がつく時、アホになる に変えてみると?
- 797 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 12:24:06 ]
- for i in range(100):print (i%3/2or(-~i/10==3)or(-~i%10==3))*'Aho'or-~i
- 798 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 12:28:04 ]
- -~i何度も使うならこっちの方が短いね
for i in range(1,101):print (i%3==0or(i/10==3)or(i%10==3))*'Aho'or i
- 799 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 12:40:04 ]
- しね
- 800 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 14:14:31 ]
- x%y==0 は、x%y<1の方が短い
あと、(i/10==3)or(i%10==3)だったら'3'in`i`が短い
- 801 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 14:20:56 ]
- for i in range(1,101):print(i%3<1or'3'in`i`)*'Aho'or i
- 802 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 14:23:20 ]
- for i in range(100):print(i%3/2or'3'in`-~i`)*'Aho'or-~i
- 803 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 15:10:14 ]
- ('3'in`-~i`) == ('3'in`~i`)
- 804 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 16:02:03 ]
- くだらね
- 805 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 16:06:33 ]
- strと``ってどう違うの?
測ると``の方がだいぶ速いみたいだけど。
- 806 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 16:27:25 ]
- UNARY_CONVERT と CALL_FUNCTION
- 807 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 16:32:14 ]
- strじゃなくてreprだな
- 808 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 16:57:31 ]
- str は、そのオブジェクトを表す適当な文字列
repr は、そのオブジェクトを表すpython 式 >>> `'a'` "'a'" >>> str('a') 'a' >>> `2**32` '4294967296L' >>> str(2**32) '4294967296'
- 809 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 18:48:30 ]
- >>> [u'ほげ',u'ふが']
[u'\u307b\u3052', u'\u3075\u304c'] >>> `[u'ほげ',u'ふが']` "[u'\\u307b\\u3052', u'\\u3075\\u304c']" >>> `[u'ほげ',u'ふが']`.decode('unicode-escape') u"[u'\u307b\u3052', u'\u3075\u304c']" >>> print `[u'ほげ',u'ふが']`.decode('unicode-escape') [u'ほげ', u'ふが'] 各行の動作の違いを教えてください
- 810 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 19:19:51 ]
- >>807>>808
なる、reprと同じだったね。 にしても不思議、何度測ってもrep()より``のが速い。
- 811 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 19:54:57 ]
- >>810
速度は>>806が書いてあるように `` が UNARY_CONVERT のバイトコードだけになるから
- 812 名前:デフォルトの名無しさん [2008/03/20(木) 20:23:06 ]
- IDLEって完全にPython自身で書かれているのか・・・
ってことは自分のプログラムの途中から IDLE を起動するなんてこともできるのか?
- 813 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 20:57:48 ]
- import wx
app = wx.PySimpleApp(0) frame = wx.Frame(None, -1, "Hello wxPython World!") app.SetTopWindow(frame) frame.Show(True) app.MainLoop() > AttributeError: 'module' object has no attribute 'PySimpleApp' 環境ubuntu7.10。wxPythonは入れたが上のエラーが出る。なぜ?
- 814 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 21:02:57 ]
- 他にwx.pyがあるんじゃないか?そのスクリプト自体がwx.pyとか
- 815 名前:813 mailto:sage [2008/03/20(木) 21:05:27 ]
- うわ本当だ。。。
その通りです。ありがとう。>>814
- 816 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 01:58:54 ]
- >>811
へー、バイトコードなんて調べた事無かったから>>806 は意味不明でしたw ようするに最終的にreprを呼ぶコードが出来るんだけど、 ``から出来たコードの方が速く処理が終わるのかな。
- 817 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 01:10:27 ]
- wxWidgets にはさ、GUI を XML で記述するってのがあるじゃん。あれと同じ理屈で Tk を YAML で記述するってのは無いかね。。。。yaml がなければせめて XML で。最初は自力で簡単なコーディングしてて
gui_yaml = """ frame1(Frame): text: "Hello tk!" button1(Button): text: Exit command: quit """ て感じの yaml 形式テキストをつくって import yaml dict_ = yaml.load(gui_yaml) すると、 {"frame1(Frame)": { "text": "Hello tk!", "button1(Button)": { "text": "Exit", "command": "quit" }}} ていう辞書になるので、これを適当に解析して name(base_class) という項目を見つけたら指定されたクラスインスタンスを生成して、 command って項目があったら値に対応するメソッドを関連づけて… みたいな感じで Tk GUI を構築しようとしたんだけど、辞書だと順番が保存されないんで、コントロールを生成する順番に依存する処理の場合に死ぬる事に気づいた。 packするとき、どの順番で pack する?とか。grid 使えば順番非依存になるのかも。 というわけで自分でつくるのあきらめたので、できあいのやつ教えてください。
- 818 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 01:19:17 ]
- もしマトモに yaml -> Tk ビルダ作ったら、みんな使ってくれるかい?
- 819 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 01:24:56 ]
- なんで今更Tkにこだわるのさ
- 820 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 01:35:39 ]
- だって標準ライブラリにくみこまれてるじゃん
- 821 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 01:46:29 ]
- 辞書にorder項目を追加するだけじゃね?
- 822 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 02:13:48 ]
- 順番を保存するならシーケンスにするしかないよね。
てか辞書じゃ重複できないから、その例ちと変な気が。 Tkだととても軽いというのなら意味は有ると思う。
- 823 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 02:56:18 ]
- import yaml # PyYAML from pyyaml.org/wiki/PyYAML
import Tkinter import re def build(parent, dic, commands): widget = None for key, val in dic.items(): o = re.match(r"(?P<name>\w+)\((?P<base>\w+)\)", key) if o: name, base = o.group("name", "base") klass = getattr(Tkinter, base) widget = klass(parent) #widget.pack() if parent: setattr(parent, name, widget) if isinstance(val, dict): build(widget, val, commands) elif key == "command": parent["command"] = commands[val] elif key == "pack": parent.pack(**val) if isinstance(val, dict) else parent.pack() elif key == "grid": parent.grid(**val) if isinstance(val, dict) else parent.grid() else: parent[key] = val return widget
- 824 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 02:59:55 ]
- # テストコード
if __name__ == "__main__": gui_dict = yaml.load(""" frame(Frame): button1(Button): grid: {column: 1, row: 2} text: OK button2(Button): grid: {column: 2, row: 2} text: Cancel ent1(Entry): grid: {column: 1, row: 1} ent2(Entry): grid: {column: 2, row: 1} memo1(Text): grid: """) commands = {} app = build(None, gui_dict, commands) app.mainloop()
- 825 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 03:03:13 ]
- 823-824をそのまま貼付けて実行してください。
Entry の textvariable の扱いをどうすればよいかがさっぱり思いつかん。 一貫性を持たせるという意味で "text" でアクセスできればいいんだけど。
- 826 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 03:35:59 ]
- 標準にこだわってるくせに
pickle使わずにYAML使う愚
- 827 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 03:52:49 ]
- だって xml より yaml のほうが編集しやすいじゃん。
まあ、たしかに yaml 表現が python の辞書リテラルとほとんど同じだから、 まんま python 式で書いてもいいんじゃ?と思ったのは事実。 だけど文字列を "" で囲まなくて良いのは地味に楽。
- 828 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 03:55:20 ]
- class TestClass(object):
def __init__(self, i_name): _name = i_name def __eq__(self, i_other): if not isinstance(i_other, TestClass): return False return self._name == i_other._name a_key = TestClass('test') a_dic = {} a_dic[a_key] = 0 --------------------------------------------------- 上のソースコードをPython 2.5.2で実行すると問題ないけど、 Python 2.6a1で実行すると、最後の行でエラーがでたよ。 TypeError: unhashable type: 'TestClass' Python 2.6以降だと、object.__hash__()は実装されてないものなん?
- 829 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 04:06:37 ]
- >>827
それならさ、 wxPythonのXRCedが吐き出すXMLをYAML化してよ
- 830 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 04:11:50 ]
- >>823
GJ!! インデント崩れてない?
- 831 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 04:46:11 ]
- # インデント修正+コメント加筆
def build(parent, dic, commands): widget = None for key, val in dic.items(): o = re.match(r"(?P<name>\w+)\((?P<base>\w+)\)", key) if o: # name(base_class_name) にマッチした場合は新規にウィジェット生成する name, base = o.group("name", "base") # 名前とクラス名を取り出す widget = getattr(Tkinter, base)(parent) # ウィジェット生成 if parent: setattr(parent, name, widget) # 親の属性としてウィジェットを追加 if isinstance(val, dict): build(widget, val, commands) # ウィジェットの設定 elif key == "command": parent["command"] = commands[val] # 呼び出し可能なオブジェクトをコマンドに指定 elif key == "pack": parent.pack(**val) if isinstance(val, dict) else parent.pack() elif key == "grid": parent.grid(**val) if isinstance(val, dict) else parent.grid() else: parent[key] = val return widget # 最後に生成したウィジェットを返す
- 832 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 04:50:23 ]
- # テストコード
gui_dict = yaml.load(""" frame(Frame): button1(Button): grid: {column: 1, row: 2} text: OK button2(Button): grid: {column: 2, row: 2} text: Cancel ent1(Entry): grid: {column: 1, row: 1} ent2(Entry): grid: {column: 2, row: 1} memo1(Text): grid: """) commands = {} app = build(None, gui_dict, commands) app.mainloop()
- 833 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 20:58:33 ]
- このまま進歩してって、数日したらちょっとしたフレームワークが出来上がってそうだ。
- 834 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 23:40:58 ]
- ____
/ \ / ─ ─ \ / (●) (●) \ ない ない | (__人__) | \ ` ⌒´ ,/ r、 r、/ ヘ ヽヾ 三 |:l1 ヽ \>ヽ/ |` } | | ヘ lノ `'ソ | | /´ / |. | \. ィ | | | | |
- 835 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 23:42:14 ]
- 思いつきだけで始めたことはたいてい早晩ポシャる
失敗するのはいいのだが、問題なのは、 一度や二度の失敗で学ばない人間がいかに多いかということだ
- 836 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 00:10:21 ]
- Pythonを選んだこと自体が失敗だからなぁ
- 837 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 00:13:51 ]
- 歴史から学べるのはただ一つ、
人は歴史から学ばないということだけ だとばっちゃが言ってた
- 838 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 01:22:16 ]
- つまり韓国に関わっていたら日本は不幸になるってことですね!
さすがばっちゃ!頭いいや!
- 839 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 01:47:02 ]
- >>835
一度や二度の失敗で投げてたら何も作れんぞ。 大事なのは、捨てて作り直す勇気だ。
- 840 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 03:04:52 ]
- 自作してる時点でTkの負けだと思いました><
xml使ってないけど。
- 841 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 03:22:33 ]
- 出来あがった物が思いの外ショボいと
モチベーションが続かないんだよなぁ
- 842 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 03:33:50 ]
- >>837
φ(..。 )メモシテオコウ
- 843 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 03:40:18 ]
- こういうのは衝動が肝心だと思うんだ。
ガーッと書いて結局没になる、そういう自己満足って大事よ。 あんまりはまるとPC恐怖症になるけど。
- 844 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 07:13:06 ]
- 何度やっても同じだよ。
そもそもセンスがないんだから。一生ドカタ暮らし。
- 845 名前:デフォルトの名無しさん [2008/03/23(日) 09:23:21 ]
- 一生ドカタできるならまだいいさ。
俺なんかすら干されそうだ。 マァ無能だから仕方ない。 結構なんてするんじゃなかった。 自殺すらできない。保険増額しておこう。
- 846 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 11:28:05 ]
- なんだこの流れ
- 847 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 11:39:22 ]
- 流れなのかこれは。
- 848 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 12:50:59 ]
- 春は色々湧く季節
- 849 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:28:31 ]
- PythonにRubyのPathnameみたいなクラスってないですか?
os.path.hoge(path); os.path.huga(path)が面倒なので p = Path(path)などとしておいて p.hoge(); p.huga()とできるような感じのものでいいんですが… 自分でつくるしかないですかね?
- 850 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:37:35 ]
- よく意味が分からんがimport os.path as pって意味ではなくて?
別にimport os.pathしてからp = os.pathでもいいけど。
- 851 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:47:44 ]
- すまん。Rubyしらんのに適当いうもんじゃなかった
- 852 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 13:57:32 ]
- >>849
標準ではないけど ttp://www.jorendorff.com/articles/python/path/ とか
- 853 名前:849 mailto:sage [2008/03/23(日) 14:19:38 ]
- >>850
>>852 いろいろ検索しても見つからなかったのでないのかと思っていましたが あるんですね。探し方が悪かっただけで。ありがとうございます!
- 854 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 14:27:19 ]
- >>853
今後もPythonと付き合っていくなら可能な限り標準モジュールを利用した方がいいよ
- 855 名前:850,851 mailto:sage [2008/03/23(日) 14:46:12 ]
- >>853
いや、俺のは違うから。スマン。 RubyのPathnameオブジェクトってのを知らなかったんで 勘違いしたんだよ。
- 856 名前:849 mailto:sage [2008/03/23(日) 15:07:30 ]
- >>854
そういうものなんですかね? os.pathは使うとき逐一引数にパス名指定しないといけないので面倒なんですよね… >>852さんに紹介していただいたようなクラスが標準に入ればいいのですが >>855 ああ、すいません。書き方が悪かったみたいです >>855さんの回答は今回はちょっと希望に沿うものではなかったのですが 質問したときは回答していただいた方全員にお礼を言いたいと思っているので…
- 857 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 18:13:25 ]
- 「できるだけ標準モジュールを使え」はGuideの言葉だっけ?
- 858 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 19:29:53 ]
- >>849
os.stat()を使えば解決しそうだけど
- 859 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 20:17:05 ]
- lambdaで逃げるって手も...ないか。
- 860 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 21:26:23 ]
- Guideって誰?
それどんな道案内?
- 861 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 22:15:43 ]
- >>860
かわいそうなPython使いを ジョセフ様に認められた清く正しい言語Rubyへの 改宗を促すGuideです。 Pythonを作られたGuidoさんとは別です。
- 862 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 22:20:26 ]
- カルト言語逝ってよし。
|

|