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
43 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 13:10:44 ] 2.5.1とどう違うの?
44 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 13:32:18 ] Rubyの後継ってなでしこじゃなかったの?
45 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:02:14 ] >>43 バージョン番号が違います。ココ重要。
46 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:14:45 ] 質問ってここでいいんでしょうか? 書籍見ながらコード書いてるんですが、 File "dictest1.py", line 24 for (p, attr) in sorted(dic.keys()): ^ SyntaxError: invalid syntax ってエラーが出てしまいます。原因がわからないので教えてください。(半角スペース4つ分を"[_]"に置換しています) [dictest1.py] # encoding: Shift_JIS def prink(e): print eval('"""%s"""' % str(e)) f = open('prof.txt') x = f.read() # f.close() dic = {} person = '' lines = x.split('\n') for line in lines: [_]if line and line[0] == '*': [_][_]person = line[1:] [_]else: [_][_]kv = line.split(':', 1) [_][_]if len(kv) == 2: [_][_][_]if (person, kv[0]) not in dic: [_][_][_][_]dic[person, kv[0]] = [] [_][_][_]dic[person, kv[0].append(kv[1]) for (p, attr) in sorted(dic.keys()): [_]prink('%sさんの%sは: %s' % (p, attr, dic[p, attr]))
47 名前:46 mailto:sage [2008/02/23(土) 14:16:14 ] [prof.txt] *のび太 年齢:11 特技:昼寝 *マリオ 特徴:ヒゲ 特技:ジャンプ 職業:配管工 *ドラえもん 身長:129センチ 好物:どら焼き 嫌いなもの:ネズミ 特徴:ネコ型ロボット
48 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:19:46 ] 読みにくいので誰も答えてくれないだろう 書き直しておいてあげる [dictest1.py] # encoding: Shift_JIS def prink(e): print eval('"""%s"""' % str(e)) f = open('prof.txt') x = f.read() # f.close() dic = {} person = '' lines = x.split('\n') for line in lines: if line and line[0] == '*': person = line[1:] else: kv = line.split(':', 1) if len(kv) == 2: if (person, kv[0]) not in dic: dic[person, kv[0]] = [] dic[person, kv[0].append(kv[1]) for (p, attr) in sorted(dic.keys()): prink('%sさんの%sは: %s' % (p, attr, dic[p, attr]))
49 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:22:33 ] この程度で引っかかっているようでは先が思いやられる。 こういう輩は放置するのが一番。
50 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:27:56 ] dic[person, kv[0]].append(kv[1])
51 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:30:10 ] >>49-50 どうもすみませんでした・・・
52 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:31:20 ] prinkが激しく気になる どこか他の言語で使われていたりするのだろうか >>46 エラーが起きた箇所の前後、とくに手前をチェックするのは基本 あと差し支えなかったら書名を教えてくれ
53 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:37:10 ] >>52 肝に銘じておきます。 書名は「速効!Pythonプログラミング」です。
54 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:45:29 ] 書籍のせいなのか、それとも46の素養が悪いからなのか。。。
55 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:51:05 ] だめな人はだめな本を買っちゃうんだよ
56 名前:デフォルトの名無しさん [2008/02/23(土) 14:56:44 ] Pythonをはじめようとしているところです。 PythonにてCPANやRubyGemsのようなパッケージ、ライブラリ管理のシステムはどんなものがありますか?
57 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 14:58:45 ] Pythonにはパイパイがあるよ。
58 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:01:32 ] >>57 PyPy はパッケージ・ライブラリ管理のシステムじゃないよ...
59 名前:デフォルトの名無しさん [2008/02/23(土) 15:01:31 ] >>55 そうか。 ダメな人のためにダメな本は必要だったんだ。
60 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:03:21 ] easy_installはいつになったら本体に取り込まれるの?
61 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:03:46 ] >>58 PyPI じゃないのか?
62 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:05:11 ] >>61 今はCheese Shopって呼ばれてるんだよ。
63 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:05:52 ] 58の見事な釣られっぷりにはパパ脱帽だよ。
64 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:08:59 ] >>62 逆じゃなかったっけ
65 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:10:33 ] >>62 cheeseshop => pypi
66 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:12:02 ] >>64 ごめん、君の言うとおり逆だったよ。 首釣って出直してくるよ。。。
67 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:12:10 ] おまいらPerlのことどう思ってるの?
68 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:12:53 ] >>62 cheese shop てネーミングが謎だったが、Monty Python からなんだね
69 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:13:26 ] >>67 消えゆく言語。
70 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:14:20 ] >>67 変態文法言語
71 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:14:24 ] >>67 Perl4 までなら使ってたし悪くないと思う
72 名前:デフォルトの名無しさん [2008/02/23(土) 15:36:08 ] >>67 ありがとう さようなら
73 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 15:43:31 ] >>67 特別便利でもないシェルスクリプト
74 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 16:31:26 ] 能弁だな。
75 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 16:41:51 ] >>67 昔遊んで捨てたがいつまでも付きまとってくるしつこい女
76 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 16:45:58 ] >>67 軽量言語界のスィーツ(笑)
77 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 16:53:49 ] pychinkoもあるよ
78 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 16:55:40 ] # -*- coding: utf-8 -*- people = {} name = '' for line in open('prof.txt'): line = line.strip() if not line: continue if line.startswith('*'): name = line[1:] people[name] = {} else: key, val = line.split(':', 1) people[name][key] = val for name in sorted(people.keys()): for key, val in people[name].iteritems(): print "%sさんの%sは: %s" % (name, key, val)
79 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 16:59:30 ] 別物になってないか?
80 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 17:00:57 ] だってきもいんだもん
81 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 17:12:48 ] 78はコードレビューと称して部下のコードを全部書き換えてしまうようなタイプなのだろうか。。。
82 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 17:15:24 ] 趣味だからね。雇われプログラマは負け組
83 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 17:21:19 ] >>82 だとよ>おまいら
84 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 17:21:20 ] 「personの複数形ってpeopleなの!? personsとかやったら大恥!?」 >>78 を見てそんなふうにちょっとだけドキドキしちゃった俺様が来ましたよ
85 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 17:32:35 ] >>78 ありがとうございました
86 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 17:34:51 ] >>80 禿 ドカタ仕事が続くと こういうのを見たときに きもいと思える気持ちが薄れてくる
87 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 17:43:32 ] 独善的で協調性のない人はどんな仕事やってもダメだけどね。 プログラミング以前の問題ですよ。
88 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 18:15:37 ] >>78 根本的に直すんだったら、 まずデータ型を見直して、 for name, dict in eval(open('prof.txt').read()): for c, v in dict.items(): print '%sさんの%sは%s' % (name, c, v) とするのが一番いい。 悪いデータ型はプログラムを救いがたくダメにする。
89 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 18:36:12 ] ファイルからの入力をevalする神経が信じられない。 あなたも趣味の人ですか?
90 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 18:44:33 ] pythonではよくあること
91 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:05:39 ] おまえらの大好きなPytohn合宿の締め切りが28日まで延長されましたよっと
92 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:30:48 ] >>89 obj が、int str tuple list dict の組み合わせだけからなるオブジェクトなら、 obj = eval(repr(obj)) で、元に戻るので、strしたもんをそのままファイルに突っ込んどくのもそんなに悪くない。 少なくとも、>>47 みたいな3秒で思いついたような何の根拠もない データ型につられてコード本体がgdgdになるよりはまし。 もう少しまじめにやろうと思ったら、自分の好きなデータ構造表現の パーサを持ってくるなり書くなりする
93 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:37:29 ] とにかく、データを >>47 で保存して、 >>46 見たいに、復元することって言うのは、その場で作ったクソ言語を その場で作ったクソパーサで解釈してるようなことに相当する(言葉悪いけど・・・ わけで、ダメな車輪の再発明の典型みたいなもんだと思う。
94 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:39:16 ] >>92 オマエには__import__("os").system("rm -rf *")と書いたprof.txtをプレゼントしてやるよ
95 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:40:04 ] >>94 アッー!
96 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:41:59 ] 素直にpickle教えてやれよw
97 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:42:58 ] こういうときにyamlを使わないやつは才能がゼロだ。
98 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:43:43 ] YAMLかJSONつかえよ
99 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:45:02 ] 94の文字列をevalしてみて大惨事な88萌え〜
100 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:47:09 ] e v a l を な め る な by Matz
101 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:49:24 ] >>46 いま攻撃されてるのはおまいじゃないからな 気にせずコードを書きまくるんだぞ そういえばMatzは好きなメソッドも嫌いなメソッドもevalとか言ってたな Guidoはどうなんだろね
102 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:50:48 ] # -*- coding: utf-8 -*- from ConfigParser import ConfigParser cp = ConfigParser() cp.readfp(open('prof2.txt')) for name in cp.sections(): for key, val in cp.items(name): print "%sさんの%sは: %s" % (name, key, val)
103 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 19:56:55 ] (´-`).oO(選ぶ本がアレな時点でナニですよね)
104 名前:88 mailto:sage [2008/02/23(土) 20:37:54 ] >>94 prof.txt を好き勝手書き換えられてしまうような状況だったら すでに元の python スクリプトを __import__("os").system("rm -rf *") にされて 死ぬんじゃないの? >>89 自分の管理できる範囲内にあるはずのファイルすら危険すぎて 信用できないという感覚が理解できない。 まあ、趣味の人って言うのはあたってるけど、・・・ ところで、個人的には yml つかっとる
105 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 20:42:35 ] JSONとかYAMLのPython用パーサーで良いものはどれですか?
106 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 20:55:17 ] >>104 勝手に疎外感を感じてしまいがちなボクチムは 寂しい気持ちを慰めるためにキャバクラに通います 最近はお金がないので,もっぱらイケメンのあの人を思い浮かべながら 単三電池や角電池で自分を慰めているかもしれません そんな毎日なのでずっと万年厨房の日陰者です
107 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 20:58:04 ] 死ねよコピペ厨
108 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 21:36:26 ] アッー
109 名前:デフォルトの名無しさん [2008/02/23(土) 21:36:48 ] 合宿の話あたりからスレのクオリティが酷い件
110 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 21:38:55 ] >>105 ttp://undefined.org/python/#simplejson ttp://pyyaml.org/
111 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 21:41:34 ] >>109 そういうことにしたいのですね
112 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 22:25:00 ] >>109 合宿ってこれ? ttp://pyspa.org/
113 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 22:36:44 ] www.python.org/ftp/python/2.5.2/python-2.5.2.msi をインストールしたのに、 >python Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on win32 だおorz
114 名前:113 mailto:sage [2008/02/23(土) 22:38:54 ] 勘違いだったおorz
115 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 22:40:20 ] >>112 アッー!
116 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 22:45:16 ] ぶっちゃけ251->252でどうちがう?
117 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 22:47:43 ] >>116 www.python.org/download/releases/2.5.2/NEWS.txt
118 名前:56 [2008/02/24(日) 05:16:31 ] やあ、みんなありがとう。 GemsやCPAN相当は、 Cheese Shopでインストールのためのフロントエンドがeasy_installなのですね。 わかりました。 こちらも参考になりました。 morchin.sakura.ne.jp/effective_python/easy_install.html
119 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 08:11:48 ] gems.rubyforge.org/yaml
120 名前:デフォルトの名無しさん [2008/02/24(日) 13:14:47 ] 日本語入力環境 scripts.web.fc2.com/PythonEditing.htm 他にどんなのがある?
121 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 13:21:17 ] ねー print文で、文末に改行も空白も出さないことってできないんですか? print 'hoge', だと空白が入っちまうし。やっぱ sys.stdout.write('hoge') になるんでしょうか?
122 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 13:23:05 ] print 'hoge'
123 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 13:56:27 ] >>121 うん。print では無理。
124 名前:デフォルトの名無しさん [2008/02/24(日) 13:58:23 ] 2.5.2出たのか 気づかなかった
125 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 14:09:55 ] アンチスレに書いてあったけど print 'hoge', end='' じゃいかんの
126 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 14:12:07 ] python3000を常用してる変態さんですか
127 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:16:36 ] printlnと使い分けしなかったことを Guidoは公開している
128 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:20:03 ] 後悔していることを公開している
129 名前:デフォルトの名無しさん [2008/02/25(月) 15:38:05 ] みんパイ読めば、プログラミング初心者のニートでも 斬新なwebサービスは組めますか? それともせめて専門に行かないとだめです?
130 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:40:00 ] 才能とかセンスだろ
131 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:40:33 ] 才能とセンスと努力です
132 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:42:49 ] >129 君がニートやってる理由がよく分かるよ(wwwwwwwwwwwwwwwwwwwwwwwwwww
133 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:42:57 ] 斬新なウェブサービスのアイデアがあってそれを実装する方法がわからない状態なのならできるかも
134 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 15:49:54 ] >129 1億やるから斬新なWebサービスつくってみ。 そのかわり失敗したら倍返しな。
135 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 16:00:24 ] 円天?
136 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 16:17:13 ] > 斬新なウェブサービスのアイデア 自分の好きな女の子の画像(アニメとかも可)と、エロビデオをアップロードしたら、 そのエロビデオの女優が、自分の好きな女の子に置き換えられる。 というアイデアがあるのですが、どうしたら出来るのかわかりません。
137 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 16:19:24 ] 権利関係と収益モデルは?わからないなら高校くらいからやりなおせ
138 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 16:20:37 ] フォームに名前を書き込むと心臓発作で人を殺せるというウェブサービスのアイデアがあります。 どうやったらPythonで作れますか?
139 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 16:21:16 ] それがおまいの技術的に可能なら売り込みかければ引く手あまただぜwww
140 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 16:22:30 ] >>139 日本語でおk
141 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 17:00:35 ] いや、これはケチつけるほうがチョンだろ
142 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 17:34:03 ] >>136 そのシステムが3次元化出来るなら100億だす
143 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 17:37:44 ] たぶんフェミ婆どもが開発室ある建物囲むぞ PythonだろうがCだろうが政治的にもう無理無理 女受けのいい言語なんてものがあれば別だがなw