人生の敗北者でも使えるPythonのお勉強 Part9

このエントリーをはてなブックマークに追加
11
日本Pythonユーザ会
http://www.python.jp/Zope/
Python オフィシャルサイト
http://www.python.org/

前スレ
http://pc8.2ch.net/test/read.cgi/tech/1132805629/
2デフォルトの名無しさん:2006/03/10(金) 13:33:44
ムネオタン
ハァハァ
3デフォルトの名無しさん:2006/03/10(金) 13:42:49
俺Python使ったことないけど、MSのIronPythonBeta4出てたから宣伝しとくね
4デフォルトの名無しさん:2006/03/10(金) 14:06:35
じゃ、じゃあオレはサエバリョウ愛用のコルトパイソンを宣伝するもんね
5デフォルトの名無しさん:2006/03/10(金) 15:19:00
foreach (@file{
`rm-rf $_`
}
print "はにゃ〜ん"
6デフォルトの名無しさん:2006/03/10(金) 20:34:46
スレタイが微妙に間違ってる
7デフォルトの名無しさん:2006/03/10(金) 20:58:13
>>5
人生の敗北者では使えないperlはカエレ!
8デフォルトの名無しさん:2006/03/10(金) 20:59:39
しかも実行したら人生の敗北者になりそうだw
9デフォルトの名無しさん:2006/03/10(金) 21:11:32
こっちが本スレか?変なスレタイ嫌だなぁ・・・
10デフォルトの名無しさん:2006/03/10(金) 23:25:45
TABキーが壊れてお金が無くて新しいキーボードが変えない敗北者の俺はCOBOLer
11デフォルトの名無しさん:2006/03/10(金) 23:38:55
perl使いは人生の脱北者
12デフォルトの名無しさん:2006/03/10(金) 23:58:15
sage
13デフォルトの名無しさん:2006/03/11(土) 15:07:58
>>9
伝統あるこちらが本スレで。
14デフォルトの名無しさん:2006/03/11(土) 16:02:44
おっ、Pythonスレだ。
15デフォルトの名無しさん:2006/03/11(土) 23:30:38
放置してもdat落ちしづらいんだよなぁ、この板。
テンプレも張らねえでクソ垂れ逃げかよ。氏ね >>>1
16デフォルトの名無しさん:2006/03/12(日) 08:51:23
>>15
もともとここ以外が重複スレで、ここが本スレだと思うけどね。
17デフォルトの名無しさん:2006/03/12(日) 19:23:53
このスレはFUDですか?w
18デフォルトの名無しさん:2006/03/12(日) 19:27:01
sさんって unicode 信者なんですかね?

ML で大喧嘩するほどの話か? 妙に意固地だなぁ…
19デフォルトの名無しさん:2006/03/12(日) 19:42:35
ムネオタンはぁはぁ
20デフォルトの名無しさん:2006/03/12(日) 20:22:21
>>18
PEP-263の実装を手伝ったりコデックを書いたりしてきた人だからね。
相当の技術力と信念があって発言してるんだろーね。
相変わらず排他的というかトンガってるみたいだけど。
21デフォルトの名無しさん:2006/03/12(日) 20:49:32
locale周りはゆずれないのぢゃないかな
22デフォルトの名無しさん:2006/03/12(日) 21:46:12
たしかに功績は認めるけど…
とさかセンパイより、たわばセンパイより 偏ってる

にしても ML:3511 はウケタ
23デフォルトの名無しさん:2006/03/12(日) 23:09:59
ムネオタソ(*´Д`)ハァハァ/lァ/lァ/ヽァ/ヽァ ノ \ア ノ \ア / \ ア / \ ア
っていうかどう見ても基(ry
24デフォルトの名無しさん:2006/03/12(日) 23:13:01
MLの駄話専用隔離スレにするならいいが、まともに使う気があるなら
テンプレくらい貼ってくれ。俺はこのクソスレ使うの気が進まないんだが…。


Pythonについて0から教えてください
http://pc8.2ch.net/test/read.cgi/tech/1126073956/l50

【pygame】pythonでゲーム製作【ぱいがめ】
http://pc8.2ch.net/test/read.cgi/gamedev/1126605105/

人生の脱北者でも使えるPythonのお勉強
2 http://pc3.2ch.net/test/read.cgi/tech/1020682294/
3 http://pc2.2ch.net/test/read.cgi/tech/1053955472/
6 http://pc5.2ch.net/test/read.cgi/tech/1104156256/

Pythonお勉強スレッド
1 http://pc.2ch.net/tech/kako/965/965815778.html
2 http://pc3.2ch.net/tech/kako/1020/10207/1020718991.html
3 http://pc5.2ch.net/test/read.cgi/tech/1068824510/
4 http://pc5.2ch.net/test/read.cgi/tech/1081312810/
5 http://pc5.2ch.net/test/read.cgi/tech/1095684242/
6 http://pc8.2ch.net/test/read.cgi/tech/1104183124/
7 http://pc8.2ch.net/test/read.cgi/tech/1125159015/
8 http://pc8.2ch.net/test/read.cgi/tech/1132805629/(前スレ)

こうして見ると、半端にシリーズ名混ざってて腹が立つな。
25デフォルトの名無しさん:2006/03/13(月) 06:34:35
結局nkfかよ。ロケールはどこにいったんだ。
26デフォルトの名無しさん:2006/03/13(月) 08:41:16
(自分の思い通りに)自動化された方法以外は
python の中ではやって欲しくないってことかな > nkf

ちょいと独善がすぎやしませんか

ファビってしまって既にまともに議論できる状態じゃないね
27デフォルトの名無しさん:2006/03/13(月) 08:42:06
ムネオタンすごい。もうぼろぼろなのにまだ死んでないぜ!
28デフォルトの名無しさん:2006/03/13(月) 09:05:10
pythonを使い始めたばかりの初心者ですが、pythonの人って
あのような怖い人(いろんな意味で)ばかりなのでしょうか。
ちょっと使う気が失せてきているんですが。
29デフォルトの名無しさん:2006/03/13(月) 09:29:33
ハッカーは時に独善的になりやすい。
30デフォルトの名無しさん:2006/03/13(月) 09:30:22
>>28
あれはじゃれ合ってるだけだから。
いい歳のおっさん同士がじゃれ合ってるのは確かに怖いが。
31デフォルトの名無しさん:2006/03/13(月) 10:10:14
fj とかの時代に比べればあの程度の議論は丸い方だしな。
>27 氏みたいに観客として楽しめばいい。

あと全然 "pythonだから" って話じゃない。
他の言語の場だって殺伐とするときは殺伐とするし、
むしろ python はデムパは少ない方じゃないかな。

変な勘違い初心者が寄ってこない(寄ってきてくれない)ことによるんだけど。
32デフォルトの名無しさん:2006/03/13(月) 11:06:11
そのじゃれあいはどこで見られるのですか?
3328:2006/03/13(月) 11:13:03
>>31
じゃあ寄りつかないことにします。
34デフォルトの名無しさん:2006/03/13(月) 19:24:27
PSUテラコワスw
35デフォルトの名無しさん:2006/03/13(月) 19:39:14
間があいたとオモタらキモイメールが来たね。

どっちも引かないなら引かないで読んでて面白いけど、
あのセンスはイマイチだなぁ。

笑い声を文字で書いてもなんかさむいし。
36デフォルトの名無しさん:2006/03/13(月) 19:55:21
PSUってナニ?
37デフォルトの名無しさん:2006/03/13(月) 20:17:46
出て行け!宣言が出ました。
38デフォルトの名無しさん:2006/03/13(月) 20:31:21
でますたね
39デフォルトの名無しさん:2006/03/13(月) 21:12:26
昔、簡単なことで質問なげたことがあるけれど、今はとてもできないお(((( ;゚Д゚)))ガクガクブルブル
40デフォルトの名無しさん:2006/03/13(月) 21:22:36
t = threading.Thread( ほげ )
t.start()

で動かしてしまった sub thread って
sub thread 自身の意思で終了しないと
終了することはできないんでしょうか?

終了しろ通知って普通はどうやって伝えるんでしょうか?
41デフォルトの名無しさん:2006/03/13(月) 22:10:36
>>40
その問題は、複数のスレッドをどう管理するかという一般的な問題に含まれてる。
スレッドの管理方法(モデル)としてよく使われるのは master-worker モデル。
マスタは一つ、ワーカは複数で、マスタがワーカに仕事を与える。
仕事を与えるにはキュー(FIFO)を使うのが簡単。
マスタはキューに仕事を入れる。ワーカはキューから仕事を取り出して実行する。
ワーカの終了も仕事の一種。ワーカは終了指示を受け取って自ら終了する。

キューへの追加とキューからの取出しが同時に起きてキューが壊れないように、
キューに条件変数をつけて排他制御する必要がある。条件変数の使用例↓
http://www.python.jp/doc/nightly/lib/condition-objects.html

他にもモデルがあるらしーけど俺は使ったことない。
42デフォルトの名無しさん:2006/03/13(月) 22:14:34
追記:上記のリンク先では master-worker モデルを「生産者-消費者問題」と呼んでる。
マスタが(仕事の)生産者、ワーカが消費者ということ。
43デフォルトの名無しさん:2006/03/13(月) 22:26:31
>>40-42 スレ違いだお ヲチのみ推奨だお
44デフォルトの名無しさん:2006/03/13(月) 23:09:34
>>43
別にそんな使い分けをする必要はないと思うが。
で、PSUって何?
45デフォルトの名無しさん:2006/03/13(月) 23:12:03
pythonのソースを符号化または暗号化することが出来るソフトありますか?
46デフォルトの名無しさん:2006/03/13(月) 23:40:40
>>45
egg化する。ま、所詮はzipだが。
47デフォルトの名無しさん:2006/03/13(月) 23:56:50
>>44 だから謎の組織だろ?
48デフォルトの名無しさん:2006/03/14(火) 00:08:23
ムネオタン追い出したら、残るのはMLをサポセンだと信じてるおっさんとセンター職員だけになってしまうじゃないか!
49デフォルトの名無しさん:2006/03/14(火) 00:09:38
誰だよセンター職員て
50デフォルトの名無しさん:2006/03/14(火) 00:12:55
しかしnkfはないよなさすがに
51デフォルトの名無しさん:2006/03/14(火) 00:13:09
>>45
import すると天からバイトコードが降ってくる
52デフォルトの名無しさん:2006/03/14(火) 01:27:54
nkfに妥協してやるからnkf.pyを用意しろ
53デフォルトの名無しさん:2006/03/14(火) 01:40:51
>>52
っ[Python-ml-jp 3301]

[Python-ml-jp 2711](*´Д`)ハァハァ
[Python-ml-jp 3252](*´Д`)ハァハァ/lァ/lァ
54デフォルトの名無しさん:2006/03/14(火) 01:41:20
よーしパパ書いちゃうぞー

import os
os.system('nkf ' + option_str)
55デフォルトの名無しさん:2006/03/14(火) 01:42:06
何気なく >54 書いたけどこれ win とかでもぽーたぶる?
56デフォルトの名無しさん:2006/03/14(火) 14:35:51
>>49
MLで、まるでサポセンの人のごとく専ら回答役に徹し、それ以上のこと(話題の提供とか)はしない人たちのこと
して悪いってことはぜんぜんないけど、そんな人ばっかりなMLってなんか嫌じゃない?
57デフォルトの名無しさん:2006/03/14(火) 14:42:46
じゃ ネタ振りよろ
5840:2006/03/14(火) 16:43:37
>41-42
thx. Condition のマニュアル読んでみます
59デフォルトの名無しさん:2006/03/14(火) 18:30:55
>>56
失礼な奴だな
60デフォルトの名無しさん:2006/03/14(火) 20:26:38
「話題の提供」って何すればいいの?
「藻前らの使ってるIDE教えれ」とか?
「漏れのコード晒します。添削して」とか?
「最近亭主が浮気してるみたいなんです」とか?
61デフォルトの名無しさん:2006/03/14(火) 20:27:46
>>56 嫌だって人がでてきたな。
http://www.gembook.jp/tsum/page.pys?wiki=DiaryAndBBS
62デフォルトの名無しさん:2006/03/14(火) 20:31:03
>>61
いたいしと?電気屋で叫んでる
63デフォルトの名無しさん:2006/03/14(火) 23:46:12
>>62
PyJUGの実質的運営者
64デフォルトの名無しさん:2006/03/14(火) 23:56:44
>>60
やりたいことができないMLだと流量は減るんでは
「藻前らの使ってるIDE教えれ」
「漏れのコード晒します。添削して」
は悪くないとおもわれ。
そういう雑談からすばらしい物が生れたりもする
タバコ部屋で要件分析できるみたいな物かも

2chでいいじゃんて事は2chの放置運営が良いのだって事を認めているように読めた
放置できない運営がだめって事かもね
65デフォルトの名無しさん:2006/03/14(火) 23:59:06
俺はそのMLは読んでないから知らんが、そのML自身ではなくこんなところで
そういう議論している時点でもうそのMLは駄目なんじゃないのか?
66デフォルトの名無しさん:2006/03/15(水) 00:24:42
つまり>>61の人がMLじゃなくて>>61で書いてある時点で,
もうだめだってこと?
ML参加してないから良くわからないけど.
67デフォルトの名無しさん:2006/03/15(水) 00:43:46
MLも無い言語なんて塩の入っていないお汁粉のようなものだ。
68デフォルトの名無しさん:2006/03/15(水) 00:47:51
>>67
つまり、MLの有無はあまり大きな問題ではないということだな。
69デフォルトの名無しさん:2006/03/15(水) 01:10:48
俺はpython.jpが出来る前からのML(初代ML?)ユーザーだ。

何回も投稿した事あるけど、python自体が未完成っていう感じで
いろいろ話題には事欠かなかった気がするよ。
Rubyとの比較とか。

ちなみに、まつもとゆきひろにレスをもらった事もあって
ちょっとうれしかったかなw
70デフォルトの名無しさん:2006/03/15(水) 01:19:16
あのおっさんPythonのML参加してるのか。流石言語ヲタwww
71デフォルトの名無しさん:2006/03/15(水) 06:24:19
>>69
個人サイトから公共サイト化した時におかたい感じにしちゃったのが失敗の元

>>70
自分の言語の宣伝のためにあらゆるMLにいる

72デフォルトの名無しさん:2006/03/15(水) 07:24:35
>>64
問題はどの話題がいい悪いじゃなくて、そういう情報欲しい奴が
いるかどうかじゃないの。今はおらんと思う。皆2chに流れた。
73デフォルトの名無しさん:2006/03/15(水) 09:42:10
改行コードの問題もろくに扱えないような人が、
大きな顔をして文字コードについて語るなんて、
俺からしたらすげえ恥知らずだと思うんだが。

それを置いておいても、今のMLのやりとりって、
読んでてすごく不気味というか陰湿さを感じる。
74デフォルトの名無しさん:2006/03/15(水) 10:50:07
>読んでてすごく不気味というか陰湿さを感じる。

は? 単に笑い飛ばせばいい話じゃん?

初心者向け(も兼ねる)の ML で展開すべきケンカかどうかは
さておきとして、あの程度技術系 ML では
ごくごくマイルドな方だと思うけど。

別に >64 で挙げられているような話が ML で
出来ない訳じゃないし、時々そういう話は出てるでしょ。
そうあって欲しいと思う人が積極的にネタを晒してかないと。

>65
単に ML が沈静化するのを場外でダベって待ってるだけかと。
75デフォルトの名無しさん:2006/03/15(水) 10:53:04
locale 全般には詳しくないんですが、
print 文が "中途半端に" "write() とかと独立に" 余計な
機能を持っているってのが諸悪の根源な気がするのは俺だけ?

なぜ print = sys.stdout.write ではいけなかったのだろう。
76デフォルトの名無しさん:2006/03/15(水) 12:46:57
たぶん歴史的な理由があって print != sys.stdout.write なのだと思われ。
77デフォルトの名無しさん:2006/03/15(水) 14:48:34
森山さん ナイスタイミング!

(python ML がきっかけだったりしたら笑える)
78デフォルトの名無しさん:2006/03/15(水) 14:53:28
>76
んでもって
なぜ deprecated にしないんだろう
とか
なぜ xprint とかを導入して整合性を取ろうとしないんだろう
とかいろいろ
79デフォルトの名無しさん:2006/03/15(水) 16:37:03
二人とも出て行け!宣言が出ました。
80デフォルトの名無しさん:2006/03/15(水) 16:39:56
臭 議 in 解 散
81デフォルトの名無しさん:2006/03/15(水) 23:53:42
>>78
んー、print と sys.stdout.write は似て非なるものだからねえ。
82デフォルトの名無しさん:2006/03/16(木) 00:15:29
ようやく全部読んだ。余計なものをそぎ落としてみると

ムネオタン: ロケールを設定してprint unicode_strで万全

管理人:それ、foo.py | less がバケバケだ、ボケェ

ムネオタン: それはFUDだ!枝葉末節をあげつらってる。foo.py | nkf | less で無問題

管理人:それではロケールの意味が。ちゃんと print unicode_str.encode()って書けや

ムネオタン: それはFUDだ!FUDでないなら証明しろ!

ってことだよな。ムネオタンってリアルkittyとしか思えん。
83デフォルトの名無しさん:2006/03/16(木) 00:33:35
encode() って書くのキライなんだろうな。
84デフォルトの名無しさん:2006/03/16(木) 01:33:19
暗黙の変換が都合良く便利に働くこともある(うまく働かないこともある)という
単純な話なんだけどねえ。
85デフォルトの名無しさん:2006/03/16(木) 04:20:20
昔ニフティの某会議室で、
某「このソフトは(ある特殊な)ファイルをちゃんと処理できない、直せ!」

作者「そういうファイルはほとんどないですよ。あるならば、このフィルタを通してください」

某「そのまま、扱えた方が便利だろうが(゚Д゚)ゴルァ!! 不具合だ!使えねえ」

作者「仕様をかえるつもりはありません、不具合は酷いですよ。他から苦情もないですよ」

某「オレが使えねえっていってんだ(゚Д゚)ゴルァ!! ( ゚д゚)、ペッ」

その後しばらく我慢して付き合っていたが作者ついにキレる → 大げんか → 某氏逆ギレして退会
ってのを思い出した。
86デフォルトの名無しさん:2006/03/16(木) 04:23:26
言語はユーザを選ぶとは至言です。
87デフォルトの名無しさん:2006/03/16(木) 07:46:55
>>84 それはFUDです。うまく働かないことなんてありません。
88デフォルトの名無しさん:2006/03/16(木) 08:25:58
また「俺が正しい。なぜならば俺が正しいから」病が発症してんのな……。
何回目だよ、もう。

質問に答えるより印象操作の方を熱心にしてたら、
自分の信頼をドブに投げ捨ててるようなもんだと思うんだけどなぁ。
89デフォルトの名無しさん:2006/03/16(木) 09:46:15
>>88
多かれ少なかれ、ここにいる奴はみんなそう。
ムネオタンは極端すぎるが。
90デフォルトの名無しさん:2006/03/16(木) 10:39:51
スマンカッタ
91デフォルトの名無しさん:2006/03/16(木) 15:35:05
>82
まとめ乙

* ロケールでうまく行くこともありますよー(宣伝)
に留めておけばいいのに(実際最初のmさん指摘はそうだった)
* いやロケール万能 ロケールマンセー 世の中は全てロケールで出来ている
と言い出したところで暴走スイッチon、
管理人「ぶわぁはは」って感じだね。
92デフォルトの名無しさん:2006/03/16(木) 17:52:56
最後のメールの「煽りに乗らないように努めて」という段落に
この人の人格があらわれている
93デフォルトの名無しさん:2006/03/16(木) 18:09:16
「自分も同罪です」じゃなくて、おまえが主犯の一人だっつーの
94デフォルトの名無しさん:2006/03/16(木) 19:58:58
>>93
>主犯の一人
それは同罪で合ってるだろう…
95デフォルトの名無しさん:2006/03/16(木) 20:13:38
やっとで鎮火
96デフォルトの名無しさん:2006/03/16(木) 20:47:46
そして次の戦いがはじまる
97名無しさん@Linuxザウルス:2006/03/17(金) 08:23:16
君は生き残ることができるか?
98デフォルトの名無しさん:2006/03/17(金) 08:46:48
>>94
認めているのは「煽りにのった」点だけなんだよな。
自分の主張は絶対的に正しい
間違ったことをいっている人に煽られた
それに乗ってしまった
って言いたいらしい。
99デフォルトの名無しさん:2006/03/17(金) 10:24:57
ここで書いてあるようなこと、mlでも言っておかないとムネオタンの脅威は
いつまでも去らないんだろうな。でも、あんな電波ゆんゆんに意見する
なんて漏れにはとても無理。おまいら、がんばってください。
100デフォルトの名無しさん:2006/03/17(金) 10:54:34
電波ゆんゆんの中の人に関わると伝染るので放置するのが賢明
101デフォルトの名無しさん:2006/03/17(金) 11:09:47
ムネオタンは業務時間中にやることがないから釣ってるだけ。
相手をするだけ損。
102デフォルトの名無しさん:2006/03/18(土) 00:11:15
>>100-101 は根性なしのFUD野郎。お前はいけるな? >>103
103デフォルトの名無しさん:2006/03/18(土) 00:18:50


   『人生の敗北者でも使える』

104デフォルトの名無しさん:2006/03/18(土) 13:01:38
Pyny is a clone of Winny, which is the most popular P2P network in Japan.
ttp://sourceforge.net/projects/pyny/
64bitに対応したトリップ検索プログラムありますか?

TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?

106デフォルトの名無しさん:2006/03/18(土) 20:45:03
>>105
作った人、逮捕されないの?
107デフォルトの名無しさん:2006/03/18(土) 20:48:21
>>106
トリップ検索も命がけだな。
108デフォルトの名無しさん:2006/03/18(土) 22:31:36
105の名前おかしくね?なんでvectorじゃなくてMSよ
109デフォルトの名無しさん:2006/03/19(日) 02:53:43
>>105は新手のウイルスか何かか?
110デフォルトの名無しさん:2006/03/19(日) 17:46:11
>>109
どうも特定のスレを下げるためにやっているような気がするけど
考えすぎかなあ。
111デフォルトの名無しさん:2006/03/20(月) 01:02:58
RubyでCGIKitつくってたひとがPythonはじめたらしいっす。
112デフォルトの名無しさん:2006/03/20(月) 07:39:05
あっそ
113デフォルトの名無しさん:2006/03/20(月) 15:27:22
>>111
Railsに負けて敗北者になったわけですね。
114デフォルトの名無しさん:2006/03/20(月) 17:39:35
ぴちょん
115デフォルトの名無しさん:2006/03/21(火) 13:15:24
pythonなんで流行んないの?
116デフォルトの名無しさん:2006/03/21(火) 17:35:31
うがーわかんね。新参者です。
呼び出し元のファイル名を取得する方法が知りたいのですが?

 あるファイルから別のファイルの関数を呼んだとき、
 呼ばれた側が、読んだ側のファイル名を会得したい。

呼ぶ側が渡せ、が単純だが冗長でアンスマート;;
やはり、呼ばれた側が自動的に取得したい。戻れるんだから知ってるだろう、
というか。

それともtracebackですかね。。。
117デフォルトの名無しさん:2006/03/21(火) 17:36:44
もう少しわかりやすくお願いします
日本語でかまいません
118sage:2006/03/21(火) 18:09:49
116です。すみません。ではコードにて。

ファイル a.py
from b import *
print referer()

ファイル b.py
def referer():
return GET_REFERER()

としたとき、a.pyを実行したら、
'a.py'と表示されるような、GET_REFERER()関数みたいなもの。

cgiなどでpyを使う際に、呼び出し側のcgiプログラムが不特定多数の場合、
それらすべてに自分のファイル名を書いた引数を用意するのが冗長なのと
間違いも生まれるので出来れば自動化したいのです。

どうでしょうか。
119デフォルトの名無しさん:2006/03/21(火) 19:12:58
なぜ呼び出し元のファイル名が必要なの?(何に使うの?)
例えばンタプリタから呼び出したらファイル名は存在しないわけだけど。
120デフォルトの名無しさん:2006/03/21(火) 19:33:30
お手数をおかけします、116です。そうですか。。。
プログラムにしてみました。

a.shtml
<html><body>
<!--include virtual=b.py-->
</body></html>

b.py
#usr/bin/local/python
_refer_file = GET_REFERER()
print '<b>'+ _refer_file + '</b>'

いろいろ用途はあるのですが、簡単に書いてみました;;
a.htmlが太字で表示されます。
(書いているうちにファイル名が存在しなさそうな気がしてきました)

もうこう書くと、a.py?ref=a.htmlと書いて渡せ、という感じですね。
ただ、スマートにしたいのです。

上の例は cgiから呼び出しですが、これが、pyからの呼び出しでもダメでしょうか。。



121デフォルトの名無しさん:2006/03/21(火) 19:37:31
cgiじゃないし・・・ってツッコミは置いといて、
通常のpythonスクリプトファイルなら、自分自身のファイル名は
sys.argv[0]
にあるので呼び出し元で使うならなんとかなる。
122デフォルトの名無しさん:2006/03/21(火) 20:12:40
すんません、116です。

自身のファイル名取得はおっしゃるとおりで、


ファイル a.cgi(この拡張子でないとサーバが扱ってくれません..)
#!usr/local/bin/python
import sys

_html = '''
<html><body><!--#include virtual=%s?referer=%s--></body></html>
'''
CALL_FILE='a.py'
SELF_FILE=sys.argv[0]

print _html % (CALL_FILE , SELF_FILE )

みたいに自動的に混ぜる、とかやって呼べばよさそうですが、
例えば呼び出し側が100個あれば、この処理を100個やらないといけないので。。。

もちろんモジュール化して、冒頭import、
とやればスマートですが、それでも呼び出し側にオーバーヘッドが生じることに
変わりはなく、できれば、呼び出され側で呼び出し元のファイル名を取得できないか、
知りたく思っている次第です。。どうでしょうか。。。
123デフォルトの名無しさん:2006/03/21(火) 20:19:36
呼び出され側で呼び出し元のファイル名を取得して、
それをまた呼び出し元で処理するように100個のファイルを書き換える必要はあるんじゃないのか?
124デフォルトの名無しさん:2006/03/21(火) 20:42:34
116です。それはないです。。。
基本は呼び出し元で戻り値を処理しない使い方です。

120のように、呼び出しっぱなしという使い方と、
あとは、呼ばれた側が、呼び出し元のファイル名を溜めてリスト化して、
あとで総合的に使うサーバ的動作、といった感じを考えています。。。

sys.argv[0]、みたいに、簡単に取得できるものかと思ってはいたんですが、
意外にネットとかでもそれらしいものが見つからないんです。。。
125デフォルトの名無しさん:2006/03/21(火) 20:52:03
スクリプトの呼び出し元って、ファイルとは限らないじゃん。
126デフォルトの名無しさん:2006/03/21(火) 20:54:21
116が言ってるようなことができる言語ってあるの?
言語というより、環境のような気がするけど。
127デフォルトの名無しさん:2006/03/21(火) 21:05:48
>>115
日本で、と限定すると
わかりやすすぎるから。
多くの日本人は M

>>126
普通は不要だから無い
128デフォルトの名無しさん:2006/03/21(火) 22:25:00
>>122
> 呼び出され側で呼び出し元のファイル名を取得できないか

できない。Python 内で閉じた caller/callee 関係の取得じゃないから。
129デフォルトの名無しさん:2006/03/21(火) 23:43:49
>>128 は python 内に閉じた話ではないと書いているが、
こういうことではないのか? >>116

a.py
---
#! /usr/bin/python
import b
b.func()

b.py
---
#! /usr/bin/python
import traceback as tb
def func():
    print tb.extract_stack()
    return


$ python a.py
[('./a.py', 5, '?', 'b.func()'), ('/home/hoge/b.py', 6, 'func', 'print tb.extract_stack()')]

./a.py ?
130デフォルトの名無しさん:2006/03/21(火) 23:54:26
>>129
a.py ぢゃなくて a.shtml だよもん。
131デフォルトの名無しさん:2006/03/21(火) 23:55:47
mv a.py a.shtml
簡単ジャン
132デフォルトの名無しさん:2006/03/21(火) 23:57:29
>>127
はい、日本でです。
イラ◯チオ必須な私に向いているわけね。

それにしても日本語書籍ないよね。
まぁググレば解りやすい英語で書かれた
とこ蜜軽からいいでしょうけど。
133デフォルトの名無しさん:2006/03/21(火) 23:57:41
>>131
お前マジで頭いいな。
134129:2006/03/22(水) 00:57:55
>>130
>>116 のカキコを読んだ範囲では、
単に通常の cgi から .py を import する話のように読めたんだがな。

ちなみに、shtml から実行される場合は、
環境変数とかに呼び元含まれてたりせんのかね。
135デフォルトの名無しさん:2006/03/22(水) 01:46:14
2 ■テキストゲームから着想を得た共同プログラミング・ツール■
< http://hotwired.goo.ne.jp/news/20060320302.html >
1990年代に人気を博したテキストベースのアドベンチャーゲーム
の1種、マルチユーザー・ダンジョン(MUD)を基にした共同プログ
ラミング・ツール『プレイッシュ』が登場した。複数のプログラ
マーが同じ仮想環境にログインし、開発中のコードやそのコード
が使用するデータ、ハードウェアとやり取りして、コードを作成・
共有することができる。
136デフォルトの名無しさん:2006/03/22(水) 01:46:51
プレイッシュにログインすると、その部屋の基本的な説明と、
部屋にいる他のメンバーが表示される。現行版のプレイッシュは

『Python』(パイソン) [オープンソースのスクリプト言語]

で書かれており、各部屋には、部屋にいる人全員がアクセスできる
Pythonのインタープリターが組み込まれている。「冒険者」たちは、
その部屋のオブジェクトや他のメンバーと同時にやり取りしながら、
コードを作り上げていく。
137デフォルトの名無しさん:2006/03/22(水) 02:05:14
作られたフロンティアの中で模索する冒険者たちか。
138デフォルトの名無しさん:2006/03/22(水) 02:19:35
参加者は皆うわべだけの奴なんですね。

139デフォルトの名無しさん:2006/03/22(水) 03:16:26
プログラミング自体が、言語という作られたフロンティアで模索することだからなあ・・・
140デフォルトの名無しさん:2006/03/22(水) 11:51:25
プログラミング言語自体が、チューリングマシン等価という作られたフロンティアで模索することだからなあ・・・

………並列性は、普通のチューリングマシンには出てこないかね。
141デフォルトの名無しさん:2006/03/22(水) 11:56:46
この宇宙自体が観音様の掌の上で(ry
142デフォルトの名無しさん:2006/03/22(水) 14:54:15
セキュリティはどうなってんの?
143デフォルトの名無しさん:2006/03/22(水) 15:14:52
>>142
ValueError: too broad question.
144デフォルトの名無しさん:2006/03/22(水) 19:18:09
ちょっと説明しやすい例が、厨房ちっくな例しか見つからなくてあれなんだけど

pythonひとり匿名串チェッカーを作るとして、

1.渡されてくる環境変数を見るための疑似httpdをthreading.Threadで動かす
2.主スレッドで串経由で1に接続する

というのを作るとします。
チェックするものがなくなったら1のスッドレ終わらせたい。

これって、きれいに終わらす方法というか、動いてるThreadを終了さす方法ってないよね?
なにかおわりを表す特別なリクエストを決めて2が1にするぐらいですか?
145デフォルトの名無しさん:2006/03/22(水) 19:27:28
あ、いきなりsocket.accept()するとかでなく
poll/selectにすれば、httpdのほうでわかるか…
146デフォルトの名無しさん:2006/03/22(水) 22:07:58
From: Guidoパパ
Subject: [Python-Dev] Python 3000 Process
Date: Sun, 19 Mar 2006 20:30:13 -0800

私は、Python 3000 関連の増大した活動に気付いている。これは素晴らしいこと
だが、危険もある。そのいくつかは次の通り:開発者に負担をかけすぎる、成就
され得ることに対して非現実的な期待をする、保守的な利用者層を恐れさせる、
Python 3000 を待つべきか否か決められない開発者を立往生させる。

私はこれらの課題すべてに対処したいのだが、まずはより能率的な手順を立てる
ことに若干の時間を割くほうが良いだろう。あるいは、別個のメーリングリスト
(ML)を導入するときがついに来たのではないか。もし人々が同意するならその
ML を [email protected] と呼ぼう。多くの開発者にとっては大した違い
にはならないが (なぜなら両方の ML を購読するから)、Python 2.x にのみ関心
のある人々にオプトアウトの手段(購読しないという選択肢)を与える。また、
より大切なことは、この ML によって、ある特定の提案が Python 3000 向けの
つもりなのか、それとも Python 2.x 向けなのかがはっきりする。

Python 3000 にのみ関心のある人々に 2.5 を扱う python-dev メーリングリス
トのオプトアウトを勧めたくはない。というのは、Python 3000 の開発は孤立し
ていないからだ。Python 3000 は「より良い Python」でなければならないので
あり、このことは(この考え方が)python-dev で(そして c.l.py で!)再三
持ち上がる諸問題によって与えられていることを意味する。

この ML は新しい戦略の小部分に過ぎない。我々は、次のようなメタな重要課題
についての決定を始める必要がある:
147デフォルトの名無しさん:2006/03/22(水) 22:09:04
* スケジュールは? 私は、いまスケジュールを決めることになるとは思って
いないし、今後5年間それに固執するつもりもない。しかし我々は、いつ Python
3000 が期待できるのか、どのようにそこへ到達する予定かについて何か明解な
ものを待ち望んでいるすべての人々に責任を負っている。どれぐらい時間がかか
るかについては大幅に異なった見積りが複数あり、私はユーザを恐れさせること
も開発者に息をひそめて待機させることも望んでいない (私が想像することの一
部は Perl 6 に関して起こっている)。

* アップグレードの手順は? 我々は変換ツールまたは互換モード、またはそ
の両方を提供するのか? どんなものを? Python 2.x (x は十分大きな値) と
Python 3.0 の両方で動作するコードを書くことはそもそも可能なのか? これ
は Python 2.x と 3.x の並行リリースの問題にも関連している。個人的な予想
では (最近マーティンが語ったことには反するが)、3.0 が出たあとも 2.x 系列
のリリースが何回かある見込みだ。あるいは 3.0 と 2.6 は共存し、3.x が成熟
してゆく間に2.7〜2.9が 2.x 系列を発展させ続けるかも知れない。私は、この
方法が Perl (4→5) と Apache において首尾よく用いられたのを見てきている
し、Zope においてはさらに間近に見てきている。繰り返しになるが、このこと
は、移行が python-dev の外側の世界でどのように理解されるかという観点にお
いて重要だ。

* 我々はライブラリの全体的な改編を同時に行なうのか? 個人的にはこれは
全く別個の課題と見ている。標準入出力の再設計といったいくつかの特定の物事
は別にして、我々はライブラリの改編をエネルギーの多寡次第で 2.6 において、
あるいは 3.0 以降に始めることができよう。

* 実装の戦略は? 私はあるブランチに着手しており、そこでいくらかの取捨
を予定している。しかしながら、既存のコードの大半のおかげで取捨は困難であ
ることが既に分かっている。砂場モデルに切り替えて、新しいコード、または注
意深く現代化した古いコードだけを加えていくことに決めるかも知れない。
148デフォルトの名無しさん:2006/03/22(水) 22:10:23
* 新機能を提案するための手続きは? もっぱら Python 3000 に焦点を当て
た PEP の新シリーズを作りはじめる時かも知れない。3000〜3099番はメタ PEP
(例えば上記の問題を扱うもの)、3100〜3999番は機能に関する PEP のために予
約したいと思う。

これらの問題に対する回答をポストしないでほしい (それぞれに数スレッド分の
価値がある)。それよりも各問題を熟考し、python-3000 ML の作成について +1
か -1 で応じてほしい。その場で、あるいは ML を分けないことが総意ならこの
場で、これらの問題の議論を始めよう。


Date: Mon, 20 Mar 2006 20:06:28 -0800
From: Guidoパパ
Subject: Re: [Python-Dev] Python 3000 Process

Python 3000 メーリングリストができますた。今後、Python 3000 関連の議論は
すべてこの ML でやりましょう。以下の場所で購読するが (・∀・) イイ!

http://mail.python.org/mailman/listinfo/python-3000
149デフォルトの名無しさん:2006/03/22(水) 22:14:47
腐った機械翻訳貼るな。死ぬほど読みにくい。
150デフォルトの名無しさん:2006/03/23(木) 09:16:05
>>135
こういうのってセキュリティの問題はないの?
151デフォルトの名無しさん:2006/03/23(木) 10:07:28
>>142 >>150
ValueError: too broad question.
152デフォルトの名無しさん:2006/03/23(木) 11:33:23
誰かが危険なコードをまぜるとか。
153デフォルトの名無しさん:2006/03/23(木) 11:46:32
俺が冒険者なら、信頼できない仲間とダンジョンには潜らない。
154デフォルトの名無しさん:2006/03/23(木) 13:48:06
もちろん属性表示ありなんだろ。
155デフォルトの名無しさん:2006/03/23(木) 14:05:04
これってリモートのサーバでインタプリタを実行して、
自分の好きなコマンドを実行できるように読めるんだけど
違うの?
サーバ運営者にとってかなり危険なことが出来ると思うんだけど。
156デフォルトの名無しさん:2006/03/23(木) 14:46:59
>>155
だったら何なの?
157デフォルトの名無しさん:2006/03/23(木) 15:14:51
ほかの人と"同時に"プログラミングできるってのは、面白いと思うね。
158デフォルトの名無しさん:2006/03/23(木) 15:23:12
全員善人ばかりだったらな。

>>156のようなのーたりんで危機意識の無い平和ボケがいることが
信じられん。
159デフォルトの名無しさん:2006/03/23(木) 15:47:31
別に設定によってどうとでもなるじゃん

chroot/jail 下でほとんどなんの権限もないユーザーで実行
network 系もフィルタリングしちゃうとかすれば
ほぼ無問題じゃない?
160デフォルトの名無しさん:2006/03/23(木) 15:54:31
むしろ編集合戦とかの方が問題なんじゃないの
161156:2006/03/23(木) 16:10:43
>>158
運用の仕方の問題では?
不特定多数の匿名ユーザに開放されていたら、そりゃあ危ないに決まっている。
いま流行のWikiやブログも程度の違いはあれ同じ危険をはらんでいる。
逆に、特定少数のユーザのみが利用できるという運用の形もあり得る。
例えばISPが自社のユーザのみに公開するとかね。
規約でしばることもできるし違反者をサービスから追い出すこともできる。
ザルのようなシステムでも防火壁の中にあれば無問題なのと同じ。

2行目は無視してあげる。
162デフォルトの名無しさん:2006/03/23(木) 16:33:42
共同でできる=不特定多数でユーザ管理もしない と思ってる馬鹿が湧いてるようだな。
163デフォルトの名無しさん:2006/03/23(木) 18:14:06
イェイ イェイ イェイ 
ウォウ ウォウ ウォウ 
イェイ イェイ イェイ 敗北者ー
164デフォルトの名無しさん:2006/03/23(木) 22:28:00
pythonでのメモリー確保はどのようにすればいいのでしょうか?
165デフォルトの名無しさん:2006/03/23(木) 22:33:16
a="¥0"*おまえの好きなだけ

いらなくなるまで参照しとけ。
166デフォルトの名無しさん:2006/03/24(金) 00:24:53
threading.local()って意味わかんないんだけど、どういうとき使うの?
167デフォルトの名無しさん:2006/03/24(金) 01:31:26
同じ名前でもスレッド毎に独立して制御される値を作りたいときに使う
168デフォルトの名無しさん:2006/03/24(金) 02:07:25
同一インスタンスの別スレッドってこと?
169デフォルトの名無しさん:2006/03/24(金) 10:01:22
print __import__('_threading_local').__doc__
170デフォルトの名無しさん:2006/03/24(金) 12:38:20
あらゆるプログラム言語に敗北してきた私が、以下の仕様で初pythonしてみました。
ご批評いただければ幸いです。

<仕様>
拡張子(必須)、デイレクトリ名(任意)を渡し、該当するディレクトリ/ファイルの
タブをスペース4つに変換する。
171デフォルトの名無しさん:2006/03/24(金) 12:38:49
------------------------------------------------------------------
#!/usr/bin/env python

class TabToSpc:
def __init__(self, extension, dirName):
self.extension = extension
self.dirName = dirName

def fileAttach(self):
import glob
for file in glob.glob( self.dirName + '/*.' + self.extension ):
f = open(file, 'r+')
tempLines = self.substut(f.read())
f.seek(0)
f.writelines(tempLines)
f.close

def substut(self, inlines):
outlines = []
for line in inlines:
if line.startswith('¥t'):
outlines.append(line.expandtabs(4))
else:
outlines.append(line)
return outlines

172170:2006/03/24(金) 12:39:40
if __name__ == '__main__':
import sys
if len(sys.argv) < 2:
print "No parameter.¥n"
sys.exit()

if len(sys.argv) > 3:
print "Parameter is extension and directory only.¥n"
sys.exit()

if len(sys.argv) == 2:
dName = '.'
else:
dName = sys.argv[2]

extn = sys.argv[1]

tts = TabToSpc(extn, dName)
tts.fileAttach()
del tts

以上170-172
173170:2006/03/24(金) 13:14:52
あ〜すみません。インデントがくずれてる。
再度貼り直します。もうしわけありません。
174デフォルトの名無しさん:2006/03/24(金) 13:54:30
>>173
タブ1つまたはスペース4つを &nbsp; 4つに変換するオプションも付けると
こういうコピペのときに便利だと思われ。
175デフォルトの名無しさん:2006/03/24(金) 14:09:20
クラスは使わなくてもいいんじゃないの.

def replacetab_process(ext, dirname, expand_tabs=4, replace_char=" "):
  import glob,os
  for f in glob.glob(os.path.join(dirname,"*."+ext)):
    infile = file(f, "rb")
    indata = infile.read()
    infile.close()
    outfile = file(f, "wb")
    outfile.write(infile.replace("¥t", replace_char*expand_tabs))
    outfile.close()

if __name__=="__main__":
  import sys,os
  def usage():
    print >> sys.stderr, "usage: replacetab.py extention [directory]"
  argc = len(sys.argv)
  ext, dirname = (None, os.getcwd())
  if argc<2:
    raise SystemExit, "No parameters, "+usage()
  elif argc==2:
    ext = argc[1]
  elif argc==3:
    ext, dirname = argc[1:3]
  else:
    raise SystemExit, "Too much parameters, "+usage()
  replacetab_process(ext, dirname)
176デフォルトの名無しさん:2006/03/24(金) 20:13:53
>>173
さすが敗北者だ。
177170:2006/03/24(金) 20:27:56
先程は失礼いたしました。
170です。再度ハラせていただきます。
#!/usr/bin/env python

class TabToSpc:
  def __init__(self, extension, dirName):
    self.extension = extension
    self.dirName = dirName

  def fileAttach(self):
    import glob
    for file in glob.glob( self.dirName + '/*.' + self.extension ):
      f = open(file, 'r+')
      tempLines = self.substut(f.read())
      f.seek(0)
      f.writelines(tempLines)
      f.close

  def substut(self, inlines):
    outlines = []
    for line in inlines:
      if line.startswith('¥t'):
        outlines.append(line.expandtabs(4))
      else:
        outlines.append(line)
    return outlines
178170:2006/03/24(金) 20:33:32

if __name__ == '__main__':
  import sys
  if len(sys.argv) < 2:
    print "No parameter.¥n"
    sys.exit()

  if len(sys.argv) > 3:
    print "Parameter is extension and directory only.¥n"
    sys.exit()

  if len(sys.argv) == 2:
    dName = '.'
  else:
    dName = sys.argv[2]

  extn = sys.argv[1]

  tts = TabToSpc(extn, dName)
  tts.fileAttach()
  del tts

>174
>175
ご指導ありがとうございます。今後の参考にさせていただきます。
本来、クラスで行うような処理でないことは理解しております。
ただ、早めになれておこうと思い、oopで作成いたしました。
>176
ご指摘のとおりです。
179デフォルトの名無しさん:2006/03/24(金) 22:05:21
× f.close
○ f.close()
180170:2006/03/24(金) 22:23:08
>>179
ご指摘いただきありがとうございます。
エラーにならないんですね。気をつけなきゃ。
181デフォルトの名無しさん:2006/03/25(土) 01:33:26
細かいことをいうと,TabToSpcインスタンスを生成してからすぐにfileAttach()
するしかないのなら(つまりextensionやdirectoryを操作するチャンスはないのなら),
fileAttach()メソッドは不要だと思う(さらに言うとメソッド名も変えた方が良いと
思う).substutも同じで,メソッドにする利点がよくわからない.

def substitute(lines):
 ...
class TabToSpaceProcessor:
 def __init__(self, extension):
  self.extension = extension
 def process_directory(self, directory):
  ...
  outlines=(substitute(lines))
...
tts = TabToSpaceProcessor(extension)
tts.process_directory(dName)

のようにして,ttsを複数ディレクトリで使い回せるようにしておくのはどうだろう.

スコープから抜けるときに tts は自動的に解放されるので,del tts は特に気にしなくていいよ.
182170:2006/03/25(土) 16:54:18
>181
ご教授ありがとうございます。

>fileAttach()メソッドは不要だと思う・・・
>substutも同じで,メソッドにする利点がよくわからない.
この点に関しましては、>178で書きました通り「試しにoopで
作ってみたいな」と思いやってみました。
substut()も「同じクラス内のメソッドを呼べるのかな?」と
試しにやってみた次第です。
ですが、>181さんにご指摘いただいた点は、一応反映してみました。
(貼ろうかなと思いましたが、スレ消費を考慮し今回はやめておきます)

>ttsを複数ディレクトリで使い回せるようにしておくのはどうだろう
ありがとうございます。ついでにディレクトリを最下層まで辿る
処理も考えてみます。

>スコープから抜けるときに tts は自動的に解放されるので,del tts は特に気にしなくていいよ.
ガベージコレクション?

ちなみに、pythonだけに限った話ではないんですが、変数、クラス、メソッド等の
ネーミングで皆さんどのように決められているのでしょうか?
参考サイトとかあれば・・・。
183デフォルトの名無しさん:2006/03/25(土) 17:11:45
>>182
ttp://pc8.2ch.net/test/read.cgi/tech/1128266018/

↑ここで聞いた見たら?>ネーミング
184デフォルトの名無しさん:2006/03/25(土) 17:44:26
なんか敗北者っぽくない流れだな。
実に遺憾だ。
185170:2006/03/25(土) 18:48:54
>183
ご案内いただきありがとうございます。参考にしてみます。

>184
私は・・・
1. 半年前から無職。現在、再就職の面接結果待ち。
2. 結果が合格だとしても、一回り年下の上司にコキ使われる予定。
3. ここ6,7年ほどセクースなし。
これでも

  遺 憾 で す か ?
186デフォルトの名無しさん:2006/03/25(土) 19:03:24
なんだか泣きたくなってきた…
187デフォルトの名無しさん:2006/03/26(日) 13:26:41
神 ス レ の 予 感
188デフォルトの名無しさん:2006/03/26(日) 13:38:07
foreach (@tmp){
$_*=$_*$_;
}
189デフォルトの名無しさん:2006/03/26(日) 14:00:43
>>182
>>ttsを複数ディレクトリで使い回せるようにしておくのはどうだろう
>ありがとうございます。ついでにディレクトリを最下層まで辿る
>処理も考えてみます。

os.walk() を調べるといいよ.
190wxPython:2006/03/26(日) 14:27:03
http://www.videolan.org/vlc/
VLCという動画プレイヤーがあります。
これはwxWidgetsを利用してスキン機能を実装しているようです。
Windows版でもSkin2を選ぶとMacOSXのメタル風な概観になります。

このような芸当をwxPythonで再現するには
どういった業が必要になりますか?

まずは単純なリサイズ可能なメタルウィンドウを作れたらな、と考えています。
メタルっぽいビットマップ画像は自前で用意してあります。
当方wxPythonを使った簡単なGUIアプリケーションの作成経験はあります。
191デフォルトの名無しさん:2006/03/26(日) 14:36:57
おお >>190 よ、よくしらべもせず に しつもん する とは なさけない!
そなた が つぎの れべる に なるには、たぶん

VLCがオープンソースだってことに予め気づいておく注意深さ
ソースコードを自分でダウンロードして展開するだけの知識
wxWidgetsのコードを読むためのC++の知識

が ひつようじゃ!
192デフォルトの名無しさん:2006/03/26(日) 16:55:03
bashウザクてタマンねー。あんなの言語じゃね。く
つーことで、
pythonがdefaultシェルなdistroってないですか。
193まさかやる奴はいないと思うが:2006/03/26(日) 17:50:13
つ vipw
194デフォルトの名無しさん:2006/03/26(日) 23:45:41
pythonで二つのことを同時にやらせるにはどうすればいいのでしょうか?
195デフォルトの名無しさん:2006/03/27(月) 00:01:24
>>194
マルチスレッド → thread, threading
マルチプロセス → 2つ動かす、forkなど

socketならpoll/selectなどでひとつで間に合わせることもできる
196デフォルトの名無しさん:2006/03/27(月) 06:22:48
>>192
Shellにするならipythonを利用した方が良いよ

>>194
もっと具体的にやる事書いた方が良いかもよ。本当に同時にやらせる必要あるの?
197デフォルトの名無しさん:2006/03/27(月) 10:25:48
$ python やりたいことA.py &
$ python やりたいことB.py &
198デフォルトの名無しさん:2006/03/27(月) 23:31:19
shが使えない人とか論外
199デフォルトの名無しさん:2006/03/27(月) 23:39:12
rm *.py
200wxPython:2006/03/28(火) 02:58:22
>>191 けちんぼ!
C++は読めないから質問したんです。
wxPythonで簡単な実装例をご存知の方教えてくださいませんか。
201デフォルトの名無しさん:2006/03/28(火) 09:36:41
第二次locale大戦 の予感
202デフォルトの名無しさん:2006/03/28(火) 10:25:49
第二次大戦なんて遥か昔に終結したよ
203デフォルトの名無しさん:2006/03/28(火) 11:31:04
鈴木さん、それは違うと思いますよ。
204170:2006/03/28(火) 12:07:52
>>189
ご指導ありがとうございます。
遅レスで申し訳ありません。

#walk( top[, topdown=True [, onerror=None]])
# walk() は、ディレクトリツリー以下のファイル名を、ツリーを
#トップダウンとボトムアップの両方向に歩行することで生成します。
#ディレクトリ top を根に持つディレクトリツリーに含まれる、各デ
#ィレクトリ(top 自身を含む) から、タプル (dirpath, dirnames, file
#names) を生成します。
(ライブラリリファレンス@python.jpより引用)

とても便利そうです。path.walk()よりこっちかなと。

オライリー、2.3対応のクイックリファレンスなら
ちゃんとコレ載せとけ。
205デフォルトの名無しさん:2006/03/28(火) 16:30:51
>>200
wxPythonにはサンプルプログラムの類は付いてないのか?
206デフォルトの名無しさん:2006/03/28(火) 16:36:32
サンプルは付いてるけど、Windowsでメタルアピアランスにするといった
特定のプラットフォームのは無いんじゃないかな。
C++のソース読めといっても、クラスやメソッドの名前を見つけるくらいで
特別な文法とかは理解しなくていいだろ。
207デフォルトの名無しさん:2006/03/28(火) 20:48:23
人がやった事が無いような事やる場合は結局ソース読まないとだめだね
208デフォルトの名無しさん:2006/03/29(水) 00:00:01
SWIGの日本語ページどこいっちゃた?
209デフォルトの名無しさん:2006/03/30(木) 01:34:35
バイナリデータを加工したいのですが、論理演算の部分がうまくいきません。

バイナリデータ自体の取得はできているのですが、そこから
b2a_hexで16進数に変換したのですがこれは文字列が返ってくるらしく、
演算が行えませんでした。atoiでintにしようとやってみたのですが、
 invalid literal for int():というようなエラーがでてしまいました。

バイナリから簡単に演算を行える形式にし、再びバイナリに戻す
方法はないでしょうか?
210デフォルトの名無しさん:2006/03/30(木) 01:41:59
ord() <-> chr() じゃいかんの?
211デフォルトの名無しさん:2006/03/30(木) 02:03:53
8ビットを超えているのでだめでした。しかし先ほどのやり方で一応解決しました。
単に文字列を数値に変換するときに16進指定されていないというだけでした。
212デフォルトの名無しさん:2006/03/30(木) 02:11:12
struct
pack
unpack
213デフォルトの名無しさん:2006/03/30(木) 06:41:28
バイナリデータから値を取り出すのに、わざわざ文字列に変換してからint()するのはアホだよ。
>> 212のようにstructやarrayを使わなきゃ。
214211:2006/03/30(木) 14:34:29
なるほど、それを使うのですね。ありがとうございます。
215デフォルトの名無しさん:2006/03/30(木) 17:22:11
PythonでMPIプログラム作ってる使徒いる?
216デフォルトの名無しさん:2006/03/30(木) 23:55:08
import os
opt=['tar', 'cxvf', 'hoge.tgz', 'hoge']
os.spawnvp(os.P_WAIT, 'tar', opt)

ってやると、hoge.tgzに書き込み権限ない場合、
sciriptが途中で止まって動かなくなります。
tarはhoge.tgzがpermission deniedのときにBroken pipeを返すんですが、
こういうときも対処させるには3行目をどのように変更すればいいんでしょうか。

それと、tarの標準出力を画面に表示させたいときはどうすればいいのでしょうか。
217デフォルトの名無しさん:2006/03/31(金) 00:10:22
>>216
r, w, e = popen2.popen3("tar ztf hoge.tar.gz")
218216:2006/03/31(金) 00:39:40
>>217
どもっす
219デフォルトの名無しさん:2006/03/31(金) 01:09:15
subprocessとかいう変なモジュールができてる
220デフォルトの名無しさん:2006/03/31(金) 05:40:07
import tarfile
try:
 tar = tarfile.open("hoge.tgz", "w:gz")
 tar.addfile(tarfile.gettarinfo("hoge"))
 tar.close()
except TarError:
 print u"tarできまへん"

しないのは理由があるんだよね、きっと
221デフォルトの名無しさん:2006/03/31(金) 16:18:33
Python2.4.3とか
IronPythonβ5とか出てる
Python2.5α1もすぐのはず
222デフォルトの名無しさん:2006/03/32(土) 17:00:33
>>220
それだとホームのtar (rm -rf *もどき)が出来ませんので却下します。
223デフォルトの名無しさん:2006/03/32(土) 17:07:09
>>222
walkすりゃいいじゃんって話じゃなくて?
224デフォルトの名無しさん:2006/04/03(月) 13:26:47
いまからPTYHONの勉強をはじまるプログラム初心者なんですけど
どうやったらいいかわかりません
やっぱり入門書を買わないと行けないのですか?リファレンス書をかわないといけないのですか?
どこかで全部教えてくれるサイトないんですか?
225デフォルトの名無しさん:2006/04/03(月) 13:33:28
>>224
とりあえず公式チュートリアルだな
http://www.python.jp/doc/release/tut/tut.html
226デフォルトの名無しさん:2006/04/03(月) 13:50:26
ありがとうございます!そこよんでやってみます!
227デフォルトの名無しさん:2006/04/03(月) 15:17:28
>> 226
行ってみたけどPTYHONじゃなくてPYTHONでした!!
PTYHONはやっぱり入(ry
228デフォルトの名無しさん:2006/04/03(月) 15:50:33
プチホン?
229デフォルトの名無しさん:2006/04/03(月) 20:00:31
ちょっとチラシの裏かわりに使わせてくれ。
どうしても思うように実行できないスクリプトがあったんだ。
エラーも出ないんで原因がわからなかったんだが、
4時間くらい格闘してやっと見つけた理由は
__init__ が __int__
になってたんだ。
230デフォルトの名無しさん:2006/04/03(月) 21:22:38
doctestじゃ発見できなかっただろうな。
231デフォルトの名無しさん:2006/04/04(火) 15:31:10
ちょっとお聞きしたいんですが、
なんで sys.argc がないんですか?
len(sys.argv) てやれば良いんだけど、
そんなこと言ったら必ずしも必要でないメソッドって
いっぱいありますよね
C にも perl にもある argc を入れなかった理由はなんでしょうか
232デフォルトの名無しさん:2006/04/04(火) 15:34:27
perにargcなんてあったか?
いつも $#ARGV か scalar @ARGV だから気付かなかったよ。
233デフォルトの名無しさん:2006/04/04(火) 15:41:26
>>232
すみません。勘違いです。
@ARGV と $ARGV で、分りやすい、かな…
len() と似たようなもんですかね
234デフォルトの名無しさん:2006/04/04(火) 16:47:22
12 年前に戻れ。
http://python.mirror.at.stealer.net/search/hypermail/python-1994q2/1031.html


引数リストは引数の「文字列のリスト」だ。じゃあわざわざ「引数リスト型」
みたいな無駄な型定義しなくてもPythonのリスト型でいいよねー。

ところで、リストの長さを調べるといったらlen()だよねー。
それに、sys.argcを追加すると、sys.argv(の長さ)という情報にアクセスする
二通りの方法ができる。これって冗長だよねー。


というわけ。
235デフォルトの名無しさん:2006/04/04(火) 18:16:53
>>234
94年ですか…。

勿論 argv はリスト型、argc は整数型のつもりでしたが、
それを単に別々にストアしていて欲しい、ということだったんです。

なるほど、C では argc はmain 関数の引数ですが、
Python では argv は最初はシステムが持っているものを
ユーザが陽にオブジェクトとして引っぱってくる、と。
また sys はどこでも import でき、しかも read-only value ではない。
つまり、argv の長さは変わることがあり
それが argc(定義されたとして)と同じとは限らない、
ということなんですね。

納得しました。ありがとうございました。
236デフォルトの名無しさん:2006/04/04(火) 19:22:13
Cは配列の長さを知る方法がないからargcが必要なだけ。
別々にストアしておく利点なんて何もない。
237デフォルトの名無しさん:2006/04/04(火) 20:31:17
>>236
sizeof(hoge)/sizeof(int) とかは?

と思ったけど、リスト型の話だから
可変長配列(<list>とか)の配列の長さ、か。
あれ? やっぱり無理?
238デフォルトの名無しさん:2006/04/04(火) 21:11:23
>>237
無理。ただ、多くの場合 argv[argc] はNULLだからこれで判定する手もある。
239デフォルトの名無しさん:2006/04/04(火) 23:11:01
>>237
その書き方で配列の長さが得られるのは
例えば int hoge[10]; と定義された配列のように
配列のサイズがコンパイラにとって既知の場合だけだよ。
sizeof() の値は実行時ではなくコンパイル時に決まる。
240デフォルトの名無しさん:2006/04/05(水) 10:13:45
科学計算に使われるライブラリって
NumPy、Numeric、NumArray、SciPy、ScientificPython
とかがあるみたいだけど、
NumericとNumArrayはNumPyに吸収されてるっぽいけど、
SciPyとScientificPythonにも上下関係があるのですかいな?
241デフォルトの名無しさん:2006/04/05(水) 10:54:48
うーん、どうでしょう
242デフォルトの名無しさん:2006/04/05(水) 11:00:19
名前だけで,ないんじゃないの?

Numeric...老舗.開発資金が切れて解散を宣言.ボランティア開発に移行して
まだ積極的に使われている.NumPyといったら普通これのことで,numpyと
は別物.
numarray...Numericの開発停止後主役になると思われたが,乗り換えが進ま
ず分裂.開発資金は近々切れる,ボランティア開発に移行する.まだ積極的に
使われている.画像処理とかオブジェクトアレイが売り.
SciPy...コア部分でNumericとnumarrayを使っている.コアの一本化のために
独自にscipy_coreを開発していた(numpyに名前を変えた).最終的には
numpyを使う予定.多分Enthoughtの寄付とかnumpyの有償マニュアルを資金
源にしてる.それなりに使われている.
numpy...Numeric/numarrayの置き換えを狙ったscipy_coreが名前を変えた
もの.ライブラリをまとめたい向きには好評だが,numpyのマニュアルが有
償なことにユーザが反発.資金あつまってんの?苦しみながらも開発進行中.
Numericの7-8割くらいの機能サポート.numarray独自のライブラリはあまり
取り入れられてない.
ScientificPython...このプロジェクト生きてんの?中ではNumericを使ってるはず.
243デフォルトの名無しさん:2006/04/05(水) 11:03:27
ちなみに大分前numpyのマニュアル買ったが,中身がNumTut+αで激萎えた.
今は良くなってるかもしれんが.
244デフォルトの名無しさん:2006/04/05(水) 14:18:41
乙。俺は追っかけが面倒なので一番古いNumericを使っている。
245デフォルトの名無しさん:2006/04/05(水) 16:51:40
そんなに死にかけだったのか...

何か大組織で採用 => 機能拡張の必要 => 資金流入

みたいなのがないとだめなんかねぇ
246デフォルトの名無しさん:2006/04/05(水) 23:57:33
Python Workshop the Edge 2006
age
247デフォルトの名無しさん:2006/04/06(木) 12:57:43
2.5a1 age
248デフォルトの名無しさん:2006/04/07(金) 11:26:17
workshopの詳細メールが着ません
249デフォルトの名無しさん:2006/04/07(金) 11:53:13
迷惑メールに着てた
250デフォルトの名無しさん:2006/04/10(月) 15:22:50
Rubyの方が良いのかなぁ
251デフォルトの名無しさん:2006/04/10(月) 15:26:55
>>250
気になるなら両方学んで好きなほうを使えばいいじゃん。
その経験は決して無駄にはならんよ。
252デフォルトの名無しさん:2006/04/10(月) 22:17:10
>>246
行けなかったけど、プレゼン資料は公開されてるからありがたく拝見した。


……IronPython……MSは本気だ!と思った。
あとDjangoかTurboGearsは手を出してみたい。
253デフォルトの名無しさん:2006/04/11(火) 00:41:30
ttp://boa-constructor.sourceforge.net/
これ日本語化してよ
254デフォルトの名無しさん:2006/04/11(火) 01:37:59
名前聞くと、あの漫画思い出すw
255デフォルトの名無しさん:2006/04/11(火) 03:51:13
boa-constructorってもともと星の王子様でしょ?
256デフォルトの名無しさん:2006/04/11(火) 03:59:29
ごめん、別に星の王子様限定ってわけでもなかった。
一般名詞の「boa constrictor」が元ネタだった。
257デフォルトの名無しさん:2006/04/11(火) 06:25:20
>>252
会場でIronPythonの発表聞いたら、MS日本はやる気全然ないのがバレバレ。
もっさり感あふれるプレゼン。質問にも噛み合ない答え。
258デフォルトの名無しさん:2006/04/11(火) 06:30:56
IDが出ると訊いて飛んできました
259デフォルトの名無しさん:2006/04/11(火) 10:16:07
>>257
そうだったのか……
資料だけ見るならいろいろいいこと書いてあるのに

もったいないなぁ>MS日本
260デフォルトの名無しさん:2006/04/11(火) 13:37:00
MSの日本の考えなんてどうでもいいよ。本国さえやる気ならあいつら嫌々でもやる。w
261デフォルトの名無しさん:2006/04/13(木) 11:23:14
オライリーのPython DevCenterは3月中旬以来更新が止まってるね。このまま朽ち果てるのか…
262デフォルトの名無しさん:2006/04/13(木) 16:26:59
Pythonの連中は本買わないから商売にならないんじゃないか? >>261
263デフォルトの名無しさん:2006/04/13(木) 23:37:29
はじぱいかったお
264261:2006/04/14(金) 09:45:04
PerlやJavaのサイトも1ヶ月近く更新されてないな。Pythonだけが見限られたんじゃなくてよかったー。
265デフォルトの名無しさん:2006/04/15(土) 09:16:24
むなしいRubyとツンデレPythonにわろた。

http://seibun.nosv.org/?p=Ruby
http://seibun.nosv.org/?p=Python
266デフォルトの名無しさん:2006/04/15(土) 19:05:15
Rubyむなしすぎ
267デフォルトの名無しさん:2006/04/15(土) 21:16:10
結城先生、これはもうツンデレPythonをマヂで書かないとw
268デフォルトの名無しさん:2006/04/16(日) 07:16:41
えーと、osモジュールのimportね。
それじゃ sysモジュールをimportして、と・・・・・。
何よ!あなたのためにimportしたんじゃないからねっ!
__main__モジュールから参照したって見せてあげないんだからっ!
ほらっ、ボケッとしてないでさっさと次の命令よこしなさいよ。
あっ、あっ、別に命令して欲しいとかじゃないんだからねっ!

ああ、もう。ほら、ValueError だよ。
except 節でキャッチしてあげるから・・・・。
・・・な、何よ、その目は。
勘違いしないでよっ!
仕事よ仕事っ!
あんたを喜ばせようなんてこれっぽっちも思ってないんだからねっ!
269デフォルトの名無しさん:2006/04/16(日) 09:51:30
ごめん.キモイ.
270デフォルトの名無しさん:2006/04/16(日) 13:31:58
読みづらい。幽鬼ならもっとうまく書いてくれるだろうな。
271デフォルトの名無しさん:2006/04/16(日) 18:28:21
Pythonは素直じゃない女の子か?違うよな?
272デフォルトの名無しさん:2006/04/16(日) 18:59:17
タプルたんは素直な娘
273デフォルトの名無しさん:2006/04/17(月) 13:56:00
超ツマンネ('A`)
274デフォルトの名無しさん:2006/04/19(水) 22:44:11
pyrex 0.9.4 age
275デフォルトの名無しさん:2006/04/22(土) 10:45:42
http://www.plone.jp/
Ploneの公式ホームページの中の、
デモサーバー
http://demo.plone.org/

これをクリックしても、
Site Error

An error was encountered while publishing this resource.

Resource not found
Sorry, the requested resource does not exist.

Check the URL and try again.

Resource: demo.plone.org GET

Troubleshooting Suggestions

* The URL may be incorrect.
* The parameters passed to this resource may be incorrect.
* A resource that this resource relies on may be encountering an error.

For more detailed information about the error, please refer to error log.

If the error persists please contact the site maintainer. Thank you for your patience.
となってしまう。
なんで?
276デフォルトの名無しさん:2006/04/23(日) 01:19:49
ようするにmojix市ね。
277デフォルトの名無しさん:2006/04/23(日) 04:48:14
英語くらい読めよ。
そんなに難しいことは書いてないぞ。
278デフォルトの名無しさん:2006/04/23(日) 10:53:15
>>277
ふんぞりかえってないで
さっさと教えろよキモヲタ
279デフォルトの名無しさん:2006/04/23(日) 11:41:31
そのサイト無いみたいだよ。
280デフォルトの名無しさん:2006/04/23(日) 15:14:37
まんまじゃねーか。
281デフォルトの名無しさん:2006/04/23(日) 17:24:49
何で誰も

> 公式ホームページ

に突っ込まないの?
282デフォルトの名無しさん:2006/04/24(月) 01:04:03
全くだな。
公式ウェブサイトと言うべき。
283デフォルトの名無しさん:2006/04/24(月) 04:26:19
- dict.keys()/range()/zip() はイテレータを返す
- 文字列は unicode 型に統合,バイト列は可変の str 型に統合
 - str から upper(), lower(), lfill() など「文字列的」操作関数を除去
 - バイナリとテキストデータを区別し,ファイル入出力 API も別にする
- C stdio より高水準な入出力 API を提供する
- old-style クラス除去
- 整数除算は整数でなく浮動小数点数を返す
- int と long integer 統合
- sys.exc_* 除去
- dict.has_key(), file.xreadlines(), xrange(), itertools.izip(), apply(), input(), buffer(), coerce() 除去
- deprecated モジュール除去
- exec, print は関数になる
- `x` 表現除去
- except 節に修飾語 as 追加
- 内包表記は実質 list(ジェネレータ式) になる
- raise Exc, exc_arg 形式を除去
- lambda は残す
- <, > を使った比較が id() 値の比較にフォールバックしなくなる
- 呼び出しシグネチャに応じて振る舞いを変える generic/overloaded function 追加
284デフォルトの名無しさん:2006/04/24(月) 20:55:29
dict.has_keyはマジで困る。えー、どうしよう…。
285デフォルトの名無しさん:2006/04/24(月) 21:17:38
>>284
in じゃ駄目なのか?
286デフォルトの名無しさん:2006/04/24(月) 22:47:25
> - <, > を使った比較が id() 値の比較にフォールバックしなくなる

これって現状ではフォールバックするってこと?
287デフォルトの名無しさん:2006/04/25(火) 04:09:36
>>284
Python3000 を使わないか, in や get を使う
>>286
ttp://www.python.jp/doc/release/ref/comparisons.html
288デフォルトの名無しさん:2006/04/25(火) 05:42:12
Python3000 とか
はっきりいって厨房臭いwwww
289デフォルトの名無しさん:2006/04/25(火) 15:57:33
>>287
> ttp://www.python.jp/doc/release/ref/comparisons.html

「一貫してはいるが規定されていない方法」のことか。サンクス
290デフォルトの名無しさん:2006/04/26(水) 19:31:17
key1 in dict1 だとdict1.has_key(key1)よりwhileで使いにくくなるような気がしただけ。
291デフォルトの名無しさん:2006/04/26(水) 20:18:08
なんで?
292デフォルトの名無しさん:2006/04/27(木) 01:16:41
慣れか?応用の効かん奴だw 俺もgetを使うのは、使い方が思いつかんが。
まあ、英語ならis inにしたいもんで、inに判定機能が入ってるとみなすのが
気持ち悪いってのは、一度通った道のような気がするけど
話は変わるが、世間的にVer3で一番ショックな改悪ってなんだろうな。
293デフォルトの名無しさん:2006/04/27(木) 01:42:24
>>292
別にないよ。Python3000大歓迎。
294デフォルトの名無しさん:2006/04/27(木) 07:58:31
>>292
改悪とは言わないが俺的には
「整数除算は整数でなく浮動小数点数を返す」ってのはショックかも。
多分すくなくとも一度はハマると思う。
295デフォルトの名無しさん:2006/04/27(木) 08:03:02
generic/overloaded?
つーことは引数の型宣言かなんかの仕組みでも入れるの?
296デフォルトの名無しさん:2006/04/27(木) 08:11:35
>>292
名前。あと機能を削るとか無くすってのは勘弁…
297デフォルトの名無しさん:2006/04/27(木) 09:22:31
>>296
>名前。あと機能を削るとか無くすってのは勘弁…
あと3年くらいは2.X系列を使えるから心配するな。
298デフォルトの名無しさん:2006/04/27(木) 09:37:18
>>295
interface と思われ
299デフォルトの名無しさん:2006/04/28(金) 01:41:49
ファイル名のプロンプト部に、argvの代用でraw_input使えるかな。
300デフォルトの名無しさん:2006/04/28(金) 19:52:25
カレーを作り置いて、母親が家を出た日。
301デフォルトの名無しさん:2006/04/28(金) 21:21:28
fn = raw_input("Input filename? ")
in_file = file(fn, 'r')
...
302デフォルトの名無しさん:2006/04/29(土) 00:18:59
ちとイミフだが食わせるファイルを入力したいんなら、シェルプロンプトの
引数(argv)にしてしまうか、スクリプト開始後に自前でプロンプト出して、
シェルの引数にはしないか(raw_input)ってってだけのことなんでは。
カレー泣けるな。
303デフォルトの名無しさん:2006/04/29(土) 10:24:41
http://www.python.jp/doc/release/tut/tut.htmlを使ってpythonの勉強をしています
今↑の9.クラスを読んでいるのですが9.3.4のx.f()を実行するとエラーになります。
具体的には以下のようになるのですが、なぜエラーになるのわからないので教えてほしいです。
よろしくおねがいします。
Python 2.4.2 (#2, Mar 28 2006, 11:50:43)
[GCC 3.4.4 [FreeBSD] 20050518] on freebsd6
Type "help", "copyright", "credits" or "license" for more information.
>>> class MyClass:
... "A simple example class"
... i = 12345
... def f(self):
... return 'hello world'
...
>>> x = MyClass
>>> x.f()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: unbound method f() must be called with MyClass instance as first argument (got nothing instead)
>>>
304デフォルトの名無しさん:2006/04/29(土) 10:51:26
うまくインデントしていなかったみたいです。すみません
http://www.python.jp/doc/release/tut/node11.html#SECTION0011320000000000000000
の一番最初のコードを写しました
305デフォルトの名無しさん:2006/04/29(土) 11:28:44
x = MyClass()
306デフォルトの名無しさん:2006/04/29(土) 21:21:58
流れを完全に無視して質問。
Windowsで使うPythonのIDEってどれが良い感じ?
探したところ、
(1) IDLE
(2) PythonWin
(3) Eric3
(4) EclipseのPlug-in

Windowsで日本語環境バリバリなコードを書きたいんだけど、(1)(2)はいまいち。
(3)はQtのインストールでなぜかこけて試せていない。
(4)は良い感じだったけど微妙。

誰か情報PLZ
307デフォルトの名無しさん:2006/04/29(土) 23:46:01
>>306
Eclipseのpluginは何種類かあるけど使用したのはどれですか?
最後はEmacsのpython-modeになる気がする
308デフォルトの名無しさん:2006/04/29(土) 23:49:00
(5) Meadow + python-mode
309306:2006/04/30(日) 00:44:18
>>307
PyDEVです。現在はこれを使っています。

>>307,>>308
Emacs移行は…考えておきます。当方viで辛うじてファイル編集ができる程度なので。
310デフォルトの名無しさん:2006/04/30(日) 01:12:03
>>306
emacsにpython-mode.el, py-ext-mode.el, py-complete.el, pylint.el, ipython.el
を突っ込めば必要にして十分っぽい
311303:2006/04/30(日) 08:47:11
>>305
もっとしっかり確かめるべきでした。すみません・・・
ありがとうございました
312デフォルトの名無しさん:2006/04/30(日) 10:54:27
Emacs 使いだけど C# だけは VisualStudio を使う。
VisualStudio が Python 対応したら Emacs 使わないかも…。
IronPython もあることだし VS 対応しないかんぁ。
313デフォルトの名無しさん:2006/04/30(日) 17:08:25
Pythonプログラムの外部スクリプトとしてPythonを使用したいと思っています。
但しbuildinのexecfileで一気に実行を行うのではなく、外部スクリプトの
実行の中断などの制御を特定のメソッドのコールをトリガーに行いたいです。
この場合、Python言語サービスのparserを使用して実行コードを独自にまとめる
しか方法はないのでしょうか。

現在は外部スクリプトを単一スレッドで管理して、ロックをかけることで制御をしています。
314デフォルトの名無しさん:2006/04/30(日) 21:33:54
subprocess にして通信するのはダメなんですか。
315313:2006/04/30(日) 22:16:50
>>314
スレッド管理する以上のメリットがあれば、選択肢に入るのですが…。
316デフォルトの名無しさん:2006/04/30(日) 23:59:34
>>306
SPE (Stani's Python Editor) も候補に入れてみてください
でも自分は Emacs の python-mode で編集が楽だなあ
317デフォルトの名無しさん:2006/05/01(月) 21:59:34
>>313
bdbモジュールで1行ずつステップ実行するインタプリタを作ったらどうかな。
1行実行するたびに制御状態を確認して、継続するなり終了すればよいかと。
長時間ブロックする外部スクリプトは制御不能だけどね。
318313:2006/05/02(火) 11:28:03
>>317
Pythonを外部スクリプトでそのまま使える、って事を「売り」にしたかったり・・・(^^;
流石にPythonと同等のインタプリタを作る技量も時間もありませんので。

Pythonを外部スクリプトとして採用しているF/Wは多いんですが、同期を取って
キューイングで処理させたい需要って無いんでしょうかね。
319デフォルトの名無しさん:2006/05/02(火) 12:20:21
>>318
317だけど、誤解させたみたい。例えばこーゆーこと↓です。

import bdb
class Debugger(bdb.Bdb):
    def user_line(self, frame):
        print frame
def foo():
    a = 1
    b = 2
    return a + b
db = Debugger()
db.run("foo()")

つまり実行を1行ずつトラップする仕組みがbdbモジュールにあるってこと。
313さんの要求に合うかどうかは分からないけど参考までに。
320313:2006/05/02(火) 20:57:35
>>319
こちらが勝手に誤解していたようです。
試したところ、行単位の制御やロック、本体の資源へのアクセスが確認できました。
多少ロック処理がややこしくなりましたが、良い感じです。
ご教示ありがとうございます。
321デフォルトの名無しさん:2006/05/05(金) 12:36:53
ゲ製作技術板のpygameスレで見つけた。
pygame学習テキスト。

「pygameでゲーム作ろう」
ttp://pygamebegin.web.fc2.com

最近Python関連のドキュメント書くひと増えてきたね。
なんかうれしいよ。

# 欲を言うと reStructuredText で書いてくれれば便利なんだけど。
# PDFとかできれいな印刷版つくれるし。
322デフォルトの名無しさん:2006/05/05(金) 23:01:01
323デフォルトの名無しさん:2006/05/07(日) 16:30:12
MP3ファイルに埋め込まれているID3タグの文字化けを直すために
エンコードをUTF-8に統一しようと思って
eyeD3と言うライブラリでID3タグを読み込んで、nkfでUTF-8に変換して、eyeD3でファイルに書き戻す
ということをしようと思ったのですが、
eyeD3がタグを読み込むと実際にはUnicodeではない文字列を
Unicode文字列で返してくるのでnkfにそのままでは渡せなくて困っています。

from nkf import nkf
import eyeD3
tag = eyeD3.Tag()
tag.link('test.mp3')
converted = nkf('-w', tag.getArtist())
とすると当然ながらUnicode文字列を普通の文字列に変更しようとしてしまい
UnicUnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
とエラーがでてしまいます。
Unicode文字列を無変換のままで普通の文字列に変換することはできないでしょうか?
324デフォルトの名無しさん:2006/05/07(日) 16:42:37
>>323
「無変換のままで」というのが意味不明だけど、UTF-8にしたいのなら
encode('utf-8')
325323:2006/05/07(日) 17:05:35
>>324
レスありがとうございます.

例えば、Shift_JISでエンコードされている'ここにしか'というタイトルを読み込むと
>>> tag.getTitle()
u'\xb1\xb1\xa2'
となります。
eyeD3が実際はShift_JISな文字列をUnicode文字列として返してくるのです。
なのでこれをtag.getTitle().encode('utf-8')としてももとのShift_JISな文字列に戻すことはできないのです。
これを強制的にencodeなどでの変換を全くしないで普通の文字列型にしたい(=nkfに渡したい)のです。

そのためにはどうすればよいのでしょうか?
326デフォルトの名無しさん:2006/05/07(日) 17:14:47
>>325
> 例えば、Shift_JISでエンコードされている'ここにしか'というタイトルを読み込むと
> >>> tag.getTitle()
> u'\xb1\xb1\xa2'
> となります。

その時点で既に情報が欠落しているように見えるんだけど。
327323:2006/05/07(日) 17:35:19
解決しました。
Googleで検索したところ、同じことで困っているひとがいたようで、対策も書かれていました。

def fix_str(s):
try:
#utf-8のunicode文字列を通常文字列に変換
buf = "".join([chr(ord(x)) for x in s])
except ValueError:
#utf-16のunicode文字列が来たときはencodeで変換
buf = s.encode("mbcs")
return buf

tag = eyeD3.Tag()
tag.link('test.mp3')
title = fix_str(tag.getTitle())
converted = nkf('-w', title)
print converted

できちんと動作いたしました。
おつきあいくださったかた、御迷惑をお掛けしてもうしわけございませんでした。
328デフォルトの名無しさん:2006/05/08(月) 14:13:29
>323
一応解決したらしいが...

使いたい ID3 は v1? v2? (v2 でもいくつかあるよ?)

で v2 以降は(独自流儀を貫きたいのでなければ)
UTF-8 でもなく UTF16 を使うことになっている。
ID3 v2.4 だと UTF8 も OK らしいが...
329デフォルトの名無しさん:2006/05/08(月) 23:37:22
後からコードに追加を行うと
インデントが崩れます.
テラカナシッス
330デフォルトの名無しさん:2006/05/09(火) 02:14:13
331デフォルトの名無しさん:2006/05/10(水) 11:27:36
今日からTracプラグインを作る為にPythonを触ることになったもんです。

setuptoolsを手動でインストールしたいのですが
どうやるのか教えてもらえませんか?

http://www.python.org/pypi/setuptools
から
何を落として、どう実行すればよいのでしょう?

※ez_setup.pyはProxyを通過できずエラーになるので手動で入れたいのです
332デフォルトの名無しさん:2006/05/10(水) 17:28:43
イージーセットアップはプロキシ使えるはずだよ
環境変数を設定してみたら?

windowsならDOS窓開いて

SET HTTP_PROXY=http://プロキシ:ポート

だったかな?
333デフォルトの名無しさん:2006/05/10(水) 20:01:01
>>331
zipを落として解凍してどこかにおいて
> python setup.py install
で出来ないかな
334デフォルトの名無しさん:2006/05/10(水) 21:09:37
>>331
自分も認証付きプロキシをうまく通すことが出来なくて、
ttp://peak.telecommunity.com/DevCenter/EasyInstall#installing-easy-install
の「setuptools PyPI page」ってリンクからZipやEggを入手して使った…と思った。
ttp://cheeseshop.python.org/pypi/setuptools

Tracのプラグイン、楽しみにしてます。
335334:2006/05/10(水) 21:12:43
あ、Eggのページまでたどり着いてたのか。ボケててすまん。
だったら、eggをダウンロードして、site-packages/ に入れたような気がする。
336デフォルトの名無しさん:2006/05/10(水) 21:33:54
eggファイルがあるなら、適当なところ(site-packagesがモアベター)
に置いて、パスをsys.pathに追加すれば使えるようになるよ。
337デフォルトの名無しさん:2006/05/10(水) 21:36:16
微妙にtracネタってことで便乗・・・・。
apacheのpython-bindings for win32 の2.4用ってのは作られてもいないんですか?
338デフォルトの名無しさん:2006/05/10(水) 22:07:08
なんでコイツは検索できないんだろう?
339デフォルトの名無しさん:2006/05/10(水) 22:59:37
340デフォルトの名無しさん:2006/05/10(水) 23:01:19
しょうもない質問ですが egg って何?
trac で唐突に出てきて、前から疑問だったんで。
341デフォルトの名無しさん:2006/05/10(水) 23:04:44
一言で言うと、Javaのjar、RubyのGEMSみたいなもの。
342デフォルトの名無しさん:2006/05/10(水) 23:17:58
>>341
pythonの仕組み?それともtrac固有?
343デフォルトの名無しさん:2006/05/10(水) 23:25:49
chickenからきてんの?
344デフォルトの名無しさん:2006/05/11(木) 07:23:06
>>342
Pythonの仕組み。eggはzipファイルの拡張子変えただけ。
だからzipimport機能を使ってる。

>>343
たぶんMonty PythonのSPAMのスケッチ
「エッグ・ベーコン」、「エッグ・ソーセージ・ベーコン」、「エッグ・スパム」、「エッグ・ベーコン・スパム」、
「スパム・エッグ・ソーセージ・スパム」、「スパム・ベーコン・ソーセージ・スパム」、
「スパム・エッグ・スパム・スパム・ベーコン・スパム」、「スパム・スパム・スパム・エッグ・スパム」、
「スパム・スパム・スパム・スパム・スパム・スパム・ベイクドビーンズ・スパム・スパム・スパム・スパム」、
「モルネー・ソースのロブスター・テルミドールと子えび、トリュフ・パテとフライド・エッグ、スパム添え」
345デフォルトの名無しさん:2006/05/11(木) 16:13:32
>>336は小森のおばちゃま
346デフォルトの名無しさん:2006/05/11(木) 18:21:15
ポストン相変わらずだな
人にバグ鳥させんなっつーの
347デフォルトの名無しさん:2006/05/12(金) 09:54:12
>283

Python3000ってPython2.1(つーかjython)と両方で動くコード書くの難しそうだなぁ。


348デフォルトの名無しさん:2006/05/12(金) 12:25:08
>>347
Jythonもそのうち3000になるんじゃない?
349デフォルトの名無しさん:2006/05/12(金) 12:41:44
Jythonなんてもう死んでるだら
350デフォルトの名無しさん:2006/05/12(金) 21:48:38
joinがぁぁぁ
splitがぁぁぁ
消えてしまうっなんじゃこりゃぁぁぁ
351デフォルトの名無しさん:2006/05/12(金) 22:53:18
pythonは好きなんだが
低解像度のコンソールでviを使っての編集はキツイゼ

いやまあviもいいんだが。いかんのは低解像度のコンソールか。
352デフォルトの名無しさん:2006/05/13(土) 00:10:43
せめてemacsにしようぜ。
353デフォルトの名無しさん:2006/05/13(土) 01:22:09
edで充分だろ
354デフォルトの名無しさん:2006/05/13(土) 01:24:48
edでインデントをちゃんと管理できる自信はないなぁ‥‥‥。
355デフォルトの名無しさん:2006/05/14(日) 20:48:46
ここが本スレに昇格しました。
今後は敗北者じゃない人も来るので粗相の無いようにしましょう。
356デフォルトの名無しさん:2006/05/14(日) 21:05:08
合併元スレ
Pythonについて0から教えてください
http://pc8.2ch.net/test/read.cgi/tech/1126073956/
357デフォルトの名無しさん:2006/05/14(日) 21:18:39
Google と NASA が Python で開発しているという事実だけで俺も Python を贔屓に使っている。
358デフォルトの名無しさん:2006/05/14(日) 21:25:51
>>355
昇格も何も、ここが本スレの後継スレだったような気が。
359デフォルトの名無しさん:2006/05/14(日) 21:54:15
Pyスレ住人はスレタイなんて気にしないよ
360デフォルトの名無しさん:2006/05/14(日) 23:50:32
python -m SimpleHTTPServer
とやると、授業中に隣の人にデータを渡すのが簡単
361デフォルトの名無しさん:2006/05/15(月) 08:29:42
Bluetoothも使えないなんて哀れな。
362デフォルトの名無しさん:2006/05/15(月) 10:58:45
環境は linux + python2.4 です
ファイルを作る時にファイルが存在したらエラー、
存在しなかったら作ってオープンしたいのですが
os.openなどの低レベルな関数を使わずにatomicにtest and createする方法はありますか?
363デフォルトの名無しさん:2006/05/16(火) 00:54:27
>>362
こういうこと望むアプリは
大抵ダメダメ

そんなことをしなくてもいいような設計をすべきだよ
364デフォルトの名無しさん:2006/05/16(火) 02:19:24
>>362
そういう機能はOS自体にも無いような・・・。
tempfileモジュールはどうよ。
365デフォルトの名無しさん:2006/05/16(火) 08:40:40
開いてロックしてファイルサイズが 0 かどうか調べたらいいんじゃね?
366デフォルトの名無しさん:2006/05/16(火) 10:03:51
>>362
どうしてもアトミックじゃなきゃだめってことなら、threadingのLock系オブジェクトと、os.stat組み合わせて
ファイルを開く関数作って、それ使うしかないかも。
367デフォルトの名無しさん:2006/05/16(火) 10:54:27
>>364
open(2) で O_CREAT | O_EXCL ってことだろ
368デフォルトの名無しさん:2006/05/16(火) 23:47:41
原則から外れてたり、応用が利かないなど悪い面を分かっちゃいる。
分かっちゃあいるんだけど便利だからと、つい欠点には目をつぶって使ってしまう。
Pythonは言語仕様からしてあんまり数がなさそうだけど、
そんな丸暗記してたりするバッドノウハウって何かありますか?
369デフォルトの名無しさん:2006/05/17(水) 00:50:36
_ClassName__privateあれこれ をそとからいじっちゃう。
370デフォルトの名無しさん:2006/05/17(水) 00:52:45
日本語で書いて頂けばいいですよ
371デフォルトの名無しさん:2006/05/17(水) 07:58:10
ブロックコメントアウトに """ を使う
372デフォルトの名無しさん:2006/05/17(水) 18:58:13
使い捨てだからと書きなぐったものが後に使いまわしたくなり
もともと糞なものを吸収するための糞関数軍を作って糞クラスの出来上がり。
373デフォルトの名無しさん:2006/05/17(水) 19:02:11
複雑なデータ構造で動的に生成すべきものを人間が決め打ちしたりとか。
374デフォルトの名無しさん:2006/05/18(木) 01:21:46
/xHH形式でエスケープされたUTF-8文字列をエスケープ解除して見たい場合どのようにしたらよいのでしょうか?
decUtf8.py \x8e\xc0\x8ds\x8c\x8e\xae\x82\xaa
のように使用したいです。

apache2.2でerror_logがエスケープされていたのでそれを見るために、ふと作ろうと思ったのですが、はまってしまいました。
スクリプトに渡って来たものをそのままunicodeに渡しているのですが、うまくいきません。
import sys;
argv = sys.argv[1:];
inputText = argv[0];

print inputText;##入力がわたってきていることは確認
print unicode(inputText, 'utf-8');##入力がそのまま出力されてしまう。
375デフォルトの名無しさん:2006/05/18(木) 01:58:56
うは、釣られた
sの位置がおかしいと思ったらsjisじゃねーか
376デフォルトの名無しさん:2006/05/18(木) 02:07:11
>>374
>>> a=r"\x8e\xc0\x8ds\x8c\x8e\xae\x82\xaa"
>>> a
'\\x8e\\xc0\\x8ds\\x8c\\x8e\\xae\\x82\\xaa'
>>> import re
>>> re_hex = re.compile(r"\\x([0-9A-Fa-f][0-9A-Fa-f])")
>>> b, n = re_hex.subn(lambda m: chr(int(m.group(1), 16)), a)
>>> b
'\x8e\xc0\x8ds\x8c\x8e\xae\x82\xaa'
>>>
377デフォルトの名無しさん:2006/05/18(木) 02:19:52
>>371
それ、なんかまずいの?俺ふつーにやってるんだが…。
ベターとか正着な方法があるなら、やめた方がいいのか。
378デフォルトの名無しさん:2006/05/18(木) 02:24:49
すいません、実行環境が変わってしまったため、SJISになってました。
例えば、'\xe5\xae\x9f\xe8\xa1\x8c'
(/xHH)が並んでいる文字列表現を渡して、utf-8でデコードして出力したいだけなんですが
379デフォルトの名無しさん:2006/05/18(木) 02:52:14
これじゃだめなの?
import sys
print eval('"' + sys.argv[1] + '"')
380デフォルトの名無しさん:2006/05/18(木) 03:22:55
cgiとか、なんでもかんでもブチこむとしたらevalはあぶないかもしれんね

eval("os.system('ls')")
381デフォルトの名無しさん:2006/05/18(木) 06:52:36
>>374

string_escape codec を使えばいいよ.

http://www.python.jp/doc/release/lib/standard-encodings.html

>>> a = r'¥x8e¥xc0¥x8ds¥x8c¥x8e¥xae¥x82¥xaa'
>>> print a.decode('string_escape').decode('sjis').encode('euc-jp')
実行月ョが

>>> print a.decode('string_escape').decode('utf-8').encode('euc-jp')
実行
382374:2006/05/18(木) 08:25:20
ありがとうございます。
いろいろ参考になりました。
string_escape codecが楽そうですね。
383デフォルトの名無しさん:2006/05/18(木) 19:17:51
すみません

Pythonを2.3から2.4に変えたら、コマンドプロンプト上でTabとCtrl+Zが使えなくなってしまいました。
これは仕様なんですか?

OSはWinXPです。
384デフォルトの名無しさん:2006/05/18(木) 22:27:28
>>383
2.3はどこのバイナリで2.4はどこのバイナリよ?
環境は?
385デフォルトの名無しさん:2006/05/18(木) 22:29:26
環境は書いてあった orz
2.3でsite-packageにあるもの確認すれば良いと思うよ
2.4にない物がなんかあるのかもね
386デフォルトの名無しさん:2006/05/18(木) 22:30:44
cygwin python updates 2.4.1 to 2.4.3 !!
387デフォルトの名無しさん:2006/05/18(木) 23:20:41
                      ''';;';';;'';;;,.,    ザッザッザ・・・
                       ''';;';'';';''';;'';;;,.,   ザッザッザ・・・
                        ;;''';;';'';';';;;'';;'';;;
                        ;;'';';';;'';;';'';';';;;'';;'';;;
                        vy;vy;v:yy;vy;v;yv;y
            ウンコー!    λVv vλ v;y v Vv vλv;   
                    λ Λ __ λ_ Λ _ヘ λ λ ヘ__   ウンコー!  
   ウンコー!          人 人 λ 人  人 人 __λ人  人 
               人   人 人  人  人  人   人 人  人          ウンコー!
            人(__人(_人 ) 人 (人.人__).人___) 人( 人
           (__)__(__)_(__)(__)(__)__) (__)__(__)(__)  ウンコー!
 ウンコー!     (__)(__(__)___(__)__)(__)(__)__) 
          ( ・∀・ ( ・∀( ・∀・ )∀( ・∀・ )・( ・∀・ ) ・∀・ )∀・ )
「ウンコから来ますた」「うんこから来ますた」「ウンコから来ますた」「うんこから来ますた」
388デフォルトの名無しさん:2006/05/20(土) 07:50:01
>>386
its good sound!!
389デフォルトの名無しさん:2006/05/20(土) 08:54:57
>>377
"""はドキュメンテーションのために使われることを期待されてるからでは?
390デフォルトの名無しさん:2006/05/20(土) 11:33:25
別にドキュメンテーションのためと限定されているわけではないと思われ。
391デフォルトの名無しさん:2006/05/20(土) 17:10:39
ただ、どっからどこまでがコメントなのか判りづらいよね。

def hoge():
"""
hanya
"""
i = 10
"""
i += 1
"""
return i

392デフォルトの名無しさん:2006/05/20(土) 17:13:37
2chみたいにtabが無くなる掲示板に貼ると最悪だよね。
393デフォルトの名無しさん:2006/05/20(土) 17:52:29
spaceはなくならないよ
394デフォルトの名無しさん:2006/05/20(土) 17:57:48
>391
python editor の類いで highlight して見れば
十分はっきりと分かるけどな
395デフォルトの名無しさん:2006/05/20(土) 18:04:26
というか、なんでブロックコメントないんだろ。
396デフォルトの名無しさん:2006/05/20(土) 18:16:34
ブロックのコメントに """ だけでなく ''' も許して欲しい。コメントの開始と終了を区別できる記述を認めるべき

397デフォルトの名無しさん:2006/05/20(土) 19:58:27
>>395
Pythonではブロック=インデントだから。
398デフォルトの名無しさん:2006/05/20(土) 23:25:41
>396
気持はわからんでもないが、今更 べき というほどか?
399デフォルトの名無しさん:2006/05/20(土) 23:42:11
後からインデントの必要なコードとか追加すると、
前から在ったインデントが崩れるんだけど…
python-modeのあるエディタなら大丈夫なの?
400デフォルトの名無しさん:2006/05/21(日) 00:21:21
エディタがPythonのSyntaxをサポートしてれば、
インデント崩れを直すのがエディタの支援でちょっと楽になるという程度。
本質的な部分は変わらないよ。
401デフォルトの名無しさん:2006/05/21(日) 00:35:43
>399
状況が良く分からない。

部分コードを追加するときは
ブロックのインデントを合わせる程度で
特に問題は感じないけど...
402399:2006/05/21(日) 00:48:41
まだまだ始めたばかりなので申し訳ないんですけど、

for ___:
a
b
c

みたいなところで例えばaの下にfor文入れるとしますよね。
for ___:
a
for ___:
d
e
b
あれ?大丈夫か
403デフォルトの名無しさん:2006/05/21(日) 02:14:02
まあ四の五の言わずにPythonをサポートしたエディタを使いなよ。
IDLEならALT+[ で複数行インデント、ALT+3 で複数行コメントアウトだ。
404デフォルトの名無しさん:2006/05/21(日) 06:17:57
pythonのメソッドとかをtab補完したいんですが、emacsでやるやり方を教えてちょ
405デフォルトの名無しさん:2006/05/21(日) 13:24:50
python-modeだと勝手にtab補完されるけど?

python-modeで何が出来るか分からんのなら
ttp://tnt.math.metro-u.ac.jp/~tetsushi/nzmath/emacs-python-mode.html
406デフォルトの名無しさん:2006/05/21(日) 21:25:15
Python for PocketPcっていうのダウソしたけどこれどうやって使うの?
importもexportもなにもないけど
407デフォルトの名無しさん:2006/05/22(月) 09:00:10
メンテしてるときにインデントされてる部分に挿入するとき
インデント変え忘れて訳わからなくなることってないですか?
408デフォルトの名無しさん:2006/05/22(月) 13:21:09
ないないw
409デフォルトの名無しさん:2006/05/22(月) 22:24:25
>>405 TAB補完されないんですけど。どうやればいいんですか?
410デフォルトの名無しさん:2006/05/22(月) 22:36:53
そもそもTAB補完がTABインデントの補完なのか、文字列の補完なのか。どっちやねん。
411デフォルトの名無しさん:2006/05/22(月) 23:47:37
「TAB補完」とか言っているのは文字列補完な気がしてきた。
確かにTABキーで補完を呼出すのもあったかもしれない。
M-/ でも撃てば?(ちょっと違うけど)


412デフォルトの名無しさん:2006/05/23(火) 10:38:15
tab completionといえばふつう文字列の補完だろ。素直に間違えた、そんな機能ないって言えよ。
413デフォルトの名無しさん:2006/05/23(火) 10:53:15
PythonではTAB補完というとTABの補完だからな。
文字列補完はM-/か適当なキーにdabbrev-expandでも割り当てれ。
414デフォルトの名無しさん:2006/05/23(火) 14:24:06
> PythonではTAB補完というとTABの補完だからな。

どこのPythonよ。そんなのしらね。
415デフォルトの名無しさん:2006/05/23(火) 14:51:19
416デフォルトの名無しさん:2006/05/23(火) 17:54:22
>>362
f = file("test.txt","a")
417デフォルトの名無しさん:2006/05/23(火) 18:15:31
>>416
要求に合うことを確かめてから書き込むようにしましょう。
418デフォルトの名無しさん:2006/05/23(火) 20:48:24
低レベルだな
419デフォルトの名無しさん:2006/05/23(火) 23:02:12
敗北者ですから。
420デフォルトの名無しさん:2006/05/24(水) 00:13:44
  ::::::::::::::::::::                        ::::::::::/ ):::::::::
:::::(\:::::::                _人           / / ):::::::::::
:::::/\\             ノ⌒ 丿        /  / /ヽ::::::::::::
:::: ヽ \\         _/   ::(        /  / / /::::::::::::::::
:::: ( \ \\      /     :::::::\      l  三 / / ):::::::::::::::
:::::::ヽ ヽ . ミヽヽ     (     :::::::;;;;;;;)    /   二 / /::::::::::::::::::
::::::: ( \ ヽミ ヽヽ    \_―― ̄ ̄::::::::::  /    二 ___/ヽ ...:::::::::::::: 帰ってきたよ〜☆
::::... /ヽ ヽ ニ ヽヽ  ノ ̄     :::::::::::::: //   ニ _______/   ...:::::::::
:::.   ヽ____  ニ ヽ (     .::::::::::::::;;;;//    ニ ____ノ     .....::::::::::
      ヽ___,  ニ/ ̄――――― ̄ ̄::::::::\ ニ ___ノ +   + ....:::::::::
        ヽニ -‐(        :::::::::::::::::::::::::::::::::≡ __ノ+ ┼ *:::::::::
         ヽ---\__::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;ノ_ +  ┼  .::::::::::
 :::::...     + ┼ +   +    ー-、___~'''''ー-、   :....::::::::::::
  :::::::....     + ┼    *+     +~~'''ヽ ..:...::::::::::::::::::::
   :::::::::::::::::.....    +   * .   ┼  :....:::::::::::::::::
    ::::::::::::::::::::....: + *     +   .....:::::::::::::::::
421デフォルトの名無しさん:2006/05/24(水) 01:45:04
なんかcgi.FieldStorage()何回も参照すると値が消えるんですが・・・
422デフォルトの名無しさん:2006/05/24(水) 03:44:13
kwsk
423デフォルトの名無しさん:2006/05/24(水) 22:08:46
どっかの出版社、ハンドブック作ってくれないかな。無理ですか。
ナツメ社のUNIXとかでよくあるアレとか。需要ありませんか。
それはともかく、splitが無くなったらおじさん困っちゃう。
424デフォルトの名無しさん:2006/05/24(水) 22:58:31
おらいりー のじゃだめ? デカすぎ?
425デフォルトの名無しさん:2006/05/25(木) 09:24:50
あれって、ハンドブックってサイズじゃなくない?
初め大きくてハンドブックだって気がつかなかった(´∀`)
426デフォルトの名無しさん:2006/05/25(木) 09:51:38
うちに古いのだけど「デスクトップリファレンス」ってペナペナなのあるよ。
これのことかな? ぜんぜん使ってないけど。

ISBN4-900900-96-6 \900
Python デスクトップリファレンス
発行所 オライリージャパン
発売元 オーム社

427424:2006/05/25(木) 16:27:15
>426 のいっているのはペナペナの文法だけ書いてあるような
クイックレファレンスのやつね。しかも 1.5.x 時代位のもの。
こいつはさすがに使う場面はあまりない。

>424,425 のはライブラリ関連も含めた辞書みたいなもの。
"PYTHON クイックリファレンス" ってもので python2.3時代のもの。
一応それなりに使ってる。
428デフォルトの名無しさん:2006/05/25(木) 17:16:03
すまんこ

Pythonを常駐させて、スクリプトの起動を高速化する方法ってない?
429デフォルトの名無しさん:2006/05/25(木) 17:36:35
秀和システムで逆引き大全を出してくれないかな
430デフォルトの名無しさん:2006/05/25(木) 17:43:28
人生の敗北者が何を大逆転するのかと思った。
431デフォルトの名無しさん:2006/05/25(木) 17:55:04
>>428
常駐は無理だが、事前にコンパイルしとけば少しはマシになる程度。
432デフォルトの名無しさん:2006/05/25(木) 18:44:28
>>428
GUIで作っといてボタンを押したら実行みたいなのは?
433デフォルトの名無しさん:2006/05/25(木) 20:40:22
ブサイコクラッシャーアタック
434デフォルトの名無しさん:2006/05/25(木) 21:28:37
435デフォルトの名無しさん:2006/05/25(木) 23:26:40
Pythonで拡張できるエディタが欲しい
436デフォルトの名無しさん:2006/05/25(木) 23:29:31
eric3
437デフォルトの名無しさん:2006/05/26(金) 07:43:25
emacs+pymacs
438デフォルトの名無しさん:2006/05/26(金) 08:30:13
scribes は python で書かれてる
439デフォルトの名無しさん:2006/05/26(金) 11:31:40
拡張ってのには物足りないと思うけれど、
EmEditorが、マクロをPythonで書けるお( ^ω^)
440デフォルトの名無しさん:2006/05/27(土) 00:22:39
ActivePythonならサクラエディタのマクロも書けると思われ
試したことないが
441デフォルトの名無しさん:2006/05/27(土) 00:24:46
初心者です。ZOPEのコードを読んでいるのでいます。
~/Zope-3.2.1/Dependencies/zope.app.server-Zope-3.2.1/zope.app.server/main.py
の96行目にあるsys.setcheckinterval(option.check_interval)のcheck_intervalが良くわかりません。

ググッても
How often to check for thread switches or signals (measured in number of virtual machine instructions)
という説明しか見つかりません。コレはいったい何をしているのでしょうか?
442デフォルトの名無しさん:2006/05/27(土) 00:29:08
そこのソース見たわけじゃないが、その英文のとおりの意味ではないのか?
443デフォルトの名無しさん:2006/05/27(土) 01:12:49
>>441
How often to check for thread switches or signals (measured in number of virtual machine instructions)

適当に意訳すると

どのぐらいの頻度でスレッドスイッチやシグナルをチェックするか
(単位は仮想マシンに対する指示の数)

指示って要するに仮想マシンCPUに対する命令の事かな
444441:2006/05/27(土) 01:18:40
>>442ありがとうございます

http://www.python.jp/doc/release/lib/module-sys.htmlを読むと
sys.setcheckinterval(interval)はintervalには適当な値が入るようなことが書いてあるのですが。

check_intervalの説明の
How often to check for thread switches or signals
(スレッドスイッチやシグナルをどれくらいチェックするか)では
適当な値が返されないような気がして混乱しています。
445441:2006/05/27(土) 01:27:08
>>443check_intervalがどういうものか少しわかった気がします。
でも>>444で書いたようにoption.check_intervalでは適当な値が返ってこないような気がするのです。

やっぱりわかってないのかもorg
446441:2006/05/27(土) 01:27:43
あ、org→orz
447デフォルトの名無しさん:2006/05/27(土) 01:33:29
具体的に、どういう値が返ってきているの?
448441:2006/05/27(土) 01:49:12
>>447すみません。わかりません・・・
確かめる方法もわかりません。
449デフォルトの名無しさん:2006/05/27(土) 01:54:00
Zopeは知らんが、単にoption.check_intervalってとこに設定読み込んであって、それを
VMにセットしてるだけなんじゃないのかい?
450デフォルトの名無しさん:2006/05/27(土) 01:57:57
>>449
同意。そうとしか読めない。
451441:2006/05/27(土) 02:04:48
>>449ということはどこかにoption.check_intervalという値(?)が定義されているということでしょうか?
探してみようと思います。

ちなみに
/Zope-3.2.1/Dependencies/zdaemon-Zope-3.2.1/zdaemon/xdoptions.py
の222行目にself.options = []というやつがありました。
452デフォルトの名無しさん:2006/05/27(土) 02:09:19
そんな説明されたって、誰もわざわざソース見ないってば。w
その self は何だとか書かなきゃ質問の体をなさないってことに気がつけよ。
453441:2006/05/27(土) 02:21:04
>>452そうですね。自分で解決してみたいと思います。
selfはたぶんrealizeだと思います。
454デフォルトの名無しさん:2006/05/27(土) 02:49:14
何が分からないのかが分かってないのでは?
455デフォルトの名無しさん:2006/05/27(土) 03:12:38
もっと簡単な、1ファイルだけで完結してるソースを読むことから始めた方が良さそうだな。
456441:2006/05/27(土) 03:20:47
粘着ですみません。
本当に何がわからないのかわかっていなかったみたいです。
もう一回本を最初から読み返してみます。
お騒がせしました。
457デフォルトの名無しさん:2006/05/27(土) 03:38:36
粘着などと卑下することはないが、
何かしら目的意識を持ってコードを読む必要があるだろう。
人が書いたコードを読むのはPythonに限らずプログラミング言語の最良の勉強法だ。
しかし、漫然と読んでも得るものは少ない。
例えば、特定のソフトウェアの特定の機能に焦点を当てて、
何をどのようにすればその機能が実現できるのかを追いかけてみる。
あるいは、入力データがどういう過程を経て出力データとなるのかを調べてみる。
そういう起点と終点を自分で設定して読むとよい。
読みたい、理解したいという強い動機があると理想的だ。
458デフォルトの名無しさん:2006/05/27(土) 07:49:09
Python使うといやでもインデントの大切さを身に着けることが出来る
459441:2006/05/27(土) 08:18:30
絶対馬鹿にされていると思っていましたが、朝読んでみて泣けてきました。
ネットワーク関係に興味があるのでそういった簡単なソフトか
Zopeのプロトコル関係の部分だけを読んでみたいと思います。
でも最初はhttp://aspn.activestate.com/ASPN/からはじめようとおもいます
460デフォルトの名無しさん:2006/05/27(土) 08:53:25
Python自身のコードも楽しいよ ^^
461デフォルトの名無しさん:2006/05/27(土) 14:01:08
>>441
ソースコードの読み方について、このページに方針が書いてあるので参考にしては。
すでに知っていたらスマン。
-ソースコードを読むための技術
ttp://i.loveruby.net/ja/misc/readingcode.html
462デフォルトの名無しさん:2006/05/28(日) 20:44:16
くされruby厨のページなんか紹介するなよ。
463デフォルトの名無しさん:2006/05/28(日) 20:48:57
書いてあることが良ければ別に紹介しても良いと思いますが

あなたはfusianasanですか?
464デフォルトの名無しさん:2006/05/28(日) 23:29:18
python 的にはソースコードの読み方なんてのは PEP 通読で会得するものなのだが。
465デフォルトの名無しさん:2006/05/29(月) 01:05:55
kwsk
466デフォルトの名無しさん:2006/05/29(月) 01:22:57
8だけは読んだ。
467sage:2006/05/29(月) 06:18:40
正直機材の横に貸し出しノートでいいと思うんだが。
468デフォルトの名無しさん:2006/05/29(月) 20:06:46
>>463
なにfusianasanって?
469デフォルトの名無しさん:2006/05/29(月) 20:45:51
>>468
入れるところが違う。名前欄だ。
470デフォルトの名無しさん:2006/05/29(月) 21:29:22
それは467では?
471デフォルトの名無しさん:2006/05/29(月) 21:54:02
新スタイルクラスで __slots__ 属性を指定し、その中に __dicts__ を含めた場合、__slots__ 属性を定義しない場合とはどのように異なるのでしょうか?
472デフォルトの名無しさん:2006/05/30(火) 00:53:51
print
473デフォルトの名無しさん:2006/05/30(火) 00:57:18
print "%X" % -1475490169
の結果は-57F23179になるのですが、
期待しているのはA80DCE87です。

print "%X" % 928778465 などは期待通りに
375C08E1になります。

あまり10進数、16進数というものを理解してないのですが、
先頭にマイナスがある場合はどうやったらよいのでしょうか?
474デフォルトの名無しさん:2006/05/30(火) 02:38:06
>>473
変な期待すんな
-1475490169 % (2**32)
475デフォルトの名無しさん:2006/05/30(火) 10:36:25
>>441
zope.confで設定する python-check-interval
(pythonのスレッド切り替えやシグナルハンドラの検知間隔を指定する。)
の値を設定しているだけじゃないだろうか。500がデフォルトみたい。
476デフォルトの名無しさん:2006/05/30(火) 18:12:50
10進数を理解していないというのは日常生活にさまざまな支障が出るのではないかと心配になるが
477デフォルトの名無しさん:2006/05/30(火) 21:57:11
>>474
ありがとうございます。
うまくいました。

>476
なぜ % (2**32)でこうなるのか理解できないので、教えてください。。
でも理解しなくても支障なく使えるので、やっぱいいです。
478デフォルトの名無しさん:2006/05/30(火) 22:00:10
つ[整数は32ビットだが1ビットは符号ビット]
479デフォルトの名無しさん:2006/05/30(火) 22:32:59
480デフォルトの名無しさん:2006/05/31(水) 06:19:23
test
481デフォルトの名無しさん:2006/05/31(水) 19:49:21
772の補数ってすごいな
482デフォルトの名無しさん:2006/05/31(水) 22:45:11
ただの4772進数だろ
483デフォルトの名無しさん:2006/06/03(土) 02:31:53
あの
python勉強しようと思うんですけど
就職の役に立ちますか?
本はもう買っちゃいました3800JPYもしました。
484デフォルトの名無しさん:2006/06/03(土) 02:40:43
IDLEをランチャに登録したいのですが、本体ファイルが見つかりません。
IDLE自体の実行ファイルって無いんでしょうか?
485デフォルトの名無しさん:2006/06/03(土) 09:18:13
>>483
pythonが直接就職の役に立ちそうなのはMicrosoftとGoogle、pixarあたりかw

まあそういう即時的な効果より、プログラミングのセンスが良くなるという事で
仕事には役立つと思われ。
486デフォルトの名無しさん:2006/06/03(土) 09:19:37
>>484
スタートメニュー上で右クリック→プロパティ→リンク先
を見る事を勧める。
487デフォルトの名無しさん:2006/06/03(土) 09:34:19
pythonが就職の役に立つか、なんて言っている時点で敗北者決定 :-)
pythonを就職の役に立てる、じゃぁないの?
488デフォルトの名無しさん:2006/06/03(土) 10:35:10
就職した後に
自分の仕事でPythonが役に立つときはあるけど…

Pythonでしかできない仕事なんてないしなぁ。
489484:2006/06/03(土) 10:56:03
>>486
もちろん見ましたが、変なファイルでした。
490デフォルトの名無しさん:2006/06/03(土) 10:57:33
>>483
必要な資格、技能なら就職してから身に付ければいいんでない?
中小企業でOffice使えます、HP作れます、とかは有効かもしれないけど、
Pythonが小手先程度使えても…。

と、いうのは来春(今秋)からの就活に向けて本読んだりしてる学生の意見だけど、
483さんはおっさん?
491デフォルトの名無しさん:2006/06/03(土) 11:16:35
おれはオッサンだけど
HP作れますっつって入ってくる新入社員にロクなのはいない
492デフォルトの名無しさん:2006/06/03(土) 11:18:18
>中小企業でOffice使えます、HP作れます、とかは有効かもしれないけど、

技能的には「車乗れます」以下だ
493デフォルトの名無しさん:2006/06/03(土) 12:27:40
>485
CやJavaみたいなプログラミング言語もあるていど扱えるけど、
よりセンスが良くなりたいと思ってOCamlやSchemeを勉強したよ。
確かに実になった。良かった。
494デフォルトの名無しさん:2006/06/03(土) 12:51:18
どうして1//3.0が0.3じゃなく0.0になりますか。
495デフォルトの名無しさん:2006/06/03(土) 13:01:58
>>494
そう定義されているから
496デフォルトの名無しさん:2006/06/03(土) 13:05:47
>>483
最近はGoogle効果で、IT関連企業のお偉い様もPythonの名前だけは知ってたりする。
そういう企業に就職するのなら面接で多少は役に立つかもしれないね。w

もちろん就職後の仕事に役立てるかどうかは君次第。勉強すること自体は決して
無駄にはならないと思うよ。
497デフォルトの名無しさん:2006/06/03(土) 13:16:54
SI業界で使われている言語はJavaが多いから
就職のことだけ考えるならJavaのほうがいいんじゃね?
つかPythonできますなんて言ってもへーって言われて終わりだろ。

あとPythonはあまりオブジェクト指向していないから
そのへんのセンスを磨きたいならSmalltalkみたいなオブジェクト指向し過ぎな
言語で遊んだ方が良い。
498デフォルトの名無しさん:2006/06/03(土) 13:21:54
>>497
いまどきJavaなんてできて当然でしょ。オブジェクト指向も必修科目。
それらを知った上での余興としてPythonでライバルに差を付けるのだよ。w
499デフォルトの名無しさん:2006/06/03(土) 13:36:28
余興かよ
500デフォルトの名無しさん:2006/06/03(土) 13:40:21
余興なら「なでしこ」とかにしとけよ
501483:2006/06/03(土) 14:30:35
python勉強するのやめました。
ありがとうございました。
スロットうちにいってきます。
502483:2006/06/03(土) 14:42:01
>>490
21歳の専門中退です
>>492
officeもhtmlも使えないのでまずそっちを勉強します
>>496
意見どうもです
>>497
Javaですねはい。
まずこうします。
Office勉強します・c勉強します・Java勉強します・就職します・python勉強します
python勉強する時期になったらまたお力かりたいと思います。
どうもありがとうがざいました。
503デフォルトの名無しさん:2006/06/03(土) 14:45:05
>>502
順序としては悪くないね(敗北者としては)
504デフォルトの名無しさん:2006/06/03(土) 15:22:35
自分のプロジェクトでPythonつかったけど
生産性の高さと保守のやりやすさで、助かりました。

人の仕事をお預かりしてる身分の人々には
ちょっと、もてあますかもね。> Python
505デフォルトの名無しさん:2006/06/03(土) 20:21:40
>>483
なんでPythonを学ぼうと思ったのかな?
プログラミング言語,スクリプト言語なら他にもあるのに
何か理由があって
特にその中でPythonを選んだの?
506デフォルトの名無しさん:2006/06/03(土) 20:46:35
消去法なんじゃないのかな?
507デフォルトの名無しさん:2006/06/03(土) 21:18:47
すぐに就職したいのならともかく、もうちょっと時間に余裕があるのならJavaやCよりもPythonから入った方が良いような気がするんだけどね。
508デフォルトの名無しさん:2006/06/03(土) 21:30:15
これってパイソンで作ってるんだってよ!すごいね!
http://www.schtuff.com/technology_used


Schtuff.com runs on:

Python
Python is an interpreted, interactive, object-oriented programming language.
509デフォルトの名無しさん:2006/06/03(土) 21:33:07
んー、まぁ就職したいのであれば
ACCESS/EXCEL→VB→VC++→就職→IronPython
ってのが鉄板かなぁ。

htmlなんか書けても無駄。

510デフォルトの名無しさん:2006/06/03(土) 21:33:54
>508

すごいか?
511483:2006/06/03(土) 21:44:32
>>503
ありがとう
>>505
Eric S. Raymond氏がまずpythonから始めたほうが良いとおっしゃっていたから。
>>506
違いますはい
>>507
なぜpythonから始めた方が良いかおしえてください
>>509
参考になりました。ACCESSちょっとやってみます。
512デフォルトの名無しさん:2006/06/03(土) 22:18:08
はじめてのpythonは厚くて,
今大体半分くらい読んで演習問題を解いたりしているのですが
疲れてきました.
何かこう,こんなのできるよーとかエサがあれば…お願いいたします.
気分転換になるようなものでかまわないので!
513デフォルトの名無しさん:2006/06/03(土) 22:27:12
>>512
英語はできる?
 
 
ちょっと難しいかも知れないけど,日本語で読めるものなら

http://d.hatena.ne.jp/coze/

なんかはどうだろう。
514デフォルトの名無しさん:2006/06/03(土) 22:37:03
>>511
>Eric S. Raymond氏がまずpythonから始めたほうが良いとおっしゃっていたから。

"How to become a hacker" ですね。
私もあれを読んでPythonに興味を持ち、使って見て惚れたクチです。

最近はlispもやってみようかと思ってるところです。
515デフォルトの名無しさん:2006/06/03(土) 22:39:29
>>513
一応大学生です.
ありがとうございます,風呂上がったら読んでみます.
516デフォルトの名無しさん:2006/06/03(土) 22:56:09
>>512

Pythonの機能を使ってクイズを解いていくうちにPythonが学べる、というもの
頭の体操になる。
http://www.pythonchallenge.com/
517デフォルトの名無しさん:2006/06/04(日) 00:04:14
>>516
2個目の暗号を解くためのプログラムを今作っているところです!
へへへ…ありがとうございます.
518デフォルトの名無しさん:2006/06/04(日) 00:27:28
>>516
なつかしいなそれ。10問目くらいでギブアップした。
519デフォルトの名無しさん:2006/06/04(日) 03:25:11
たまにレベルというか発想の難しいのがあって、止まっちゃうアレですか。
520デフォルトの名無しさん:2006/06/04(日) 03:35:52
pythonやプログラミングに関係ない問題あるよね
あと、英語の知識がないと難しいのとか
521デフォルトの名無しさん:2006/06/04(日) 05:29:11
おまえらもうすこし前向きになれよ(WWWWW
 
 
 
 
 
 
 
 
 
 
 
 
 
負け組根性丸出しだぞ(WWW
522デフォルトの名無しさん:2006/06/04(日) 07:37:35
>>521
空気読めよ
523デフォルトの名無しさん:2006/06/04(日) 07:59:37
>>516
やっべここやっべ ハマったw 面白すぎw
>>512じゃないけど教えてくれてありがとう><
524デフォルトの名無しさん:2006/06/04(日) 12:51:51
>521

あとスレタイも読めよ
525デフォルトの名無しさん:2006/06/04(日) 22:31:43
>>498
Python ごときでライバルに差を付けられると思ってるバカ発見
526デフォルトの名無しさん:2006/06/04(日) 22:58:29
こういう週末を楽しくさせる煽りは、土曜のうちに仕込んでおくべきだと思う…。次回の健闘を期待。
527デフォルトの名無しさん:2006/06/04(日) 23:00:30
>>525
w 付きにマジレス乙
528デフォルトの名無しさん:2006/06/04(日) 23:07:17
w 付いてたらネタなのか?

知らなかったよ w
529デフォルトの名無しさん:2006/06/04(日) 23:08:10
内容で判断できるわな w
530デフォルトの名無しさん:2006/06/04(日) 23:35:04
俺もw
531デフォルトの名無しさん:2006/06/04(日) 23:38:44
>>527

>>522
>>524
乙(w
532デフォルトの名無しさん:2006/06/04(日) 23:47:31
ところで、最近は人生の敗北者でもPCぐらい持っててあたりまえなのな。
20年前には考えられなかったyo.
533デフォルトの名無しさん:2006/06/05(月) 00:31:50
国内でPython使ってる人は、趣味でやってる人が多いと思ってたけど違うのかな。
色々言語勉強してきたけど、Pythonはなかなか楽しいよ。
>>516とかやると実感できるなぁ。17でつまったけど……。
534デフォルトの名無しさん:2006/06/05(月) 00:35:00
これのRuby版ってある?
535デフォルトの名無しさん:2006/06/05(月) 00:35:42
>>533
自分の裁量で自由に言語を選択できるケースでは仕事で使ってるよ。
めんどいからあまり布教はしてない。
536デフォルトの名無しさん:2006/06/05(月) 01:16:46
というか宗教論争に疲れたひと多くない?
537デフォルトの名無しさん:2006/06/05(月) 01:29:22
年寄りはそうかもしれんが
新人は常に製造され流入してくるからな
宗教戦争に終わりはない
538デフォルトの名無しさん:2006/06/05(月) 03:11:00
要するに、原義通りなのさ…@職場
539デフォルトの名無しさん:2006/06/05(月) 06:48:23
>>534
前にこれの話題が出たときは、RubyやPerlで解いた人もいたはず。
540デフォルトの名無しさん:2006/06/05(月) 09:41:29
おやじ
デヴ
リュックしょってる

2つ以上該当する人はPythonやらなくていいです
541デフォルトの名無しさん:2006/06/05(月) 10:59:35
>>540
まあ全角英数使う人のがよっぽどダサいけどな
542デフォルトの名無しさん:2006/06/05(月) 13:55:53
ハイフンにー使う人も多いし
543デフォルトの名無しさん:2006/06/05(月) 14:43:50
>>541
全角英数を使う妻夫木聡と
全角英数を使わないリュック背負ったデブオヤジ

どっちがダサイですか?
544デフォルトの名無しさん:2006/06/05(月) 14:50:30
なぜ外見の話になるのかが分からない
545デフォルトの名無しさん:2006/06/05(月) 17:13:44
ディレクトリ内のファイル一覧を取得するような関数はあるでしょうか?
546デフォルトの名無しさん:2006/06/05(月) 17:14:38
>>545
あります
547デフォルトの名無しさん:2006/06/05(月) 17:19:01
>>546
教えてください!
548デフォルトの名無しさん:2006/06/05(月) 17:21:08
import os
os.listdir()
549デフォルトの名無しさん:2006/06/05(月) 17:21:29
>>548
ありがとうございます!
550デフォルトの名無しさん:2006/06/05(月) 17:33:07
>>543
つまぶき
551デフォルトの名無しさん:2006/06/05(月) 18:05:18
何にでもdir/help/getattr/setattr/list辺りを適用する年頃になりました
552デフォルトの名無しさん:2006/06/05(月) 20:29:11
Python信者に見せかけて荒らしてるやつがいるな 意味ないのに
553デフォルトの名無しさん:2006/06/05(月) 21:41:48
なんで2.5リリースが延期になったのか理由知ってる人いる?
554デフォルトの名無しさん:2006/06/05(月) 22:21:08
555デフォルトの名無しさん:2006/06/05(月) 22:27:30
要するに「速くなりそうだからちょっと待ってね」でしょうか?
556デフォルトの名無しさん:2006/06/06(火) 00:08:12
新種の荒らし?
557デフォルトの名無しさん:2006/06/06(火) 02:14:30
よろしくお願いします。Python2.4.3です。
readlines()は「一行ずつ読み込んでリストにする」というのを読んだんですが、

123
abc
あいう

という3行のテキストファイルを

for line in open("C:\text.txt").readlines():print line

で読み込んでline[0]とすると



が帰ってきます。

テキストファイルから['123', 'abc', 'あいう']というリストを作るにはどうしたら良いのでしょうか?
558デフォルトの名無しさん:2006/06/06(火) 02:21:09
lines = open("C:\text.txt").readlines()
559デフォルトの名無しさん:2006/06/06(火) 02:23:51
>>558
即レスありがとうございます。やってみます。
560デフォルトの名無しさん:2006/06/06(火) 21:02:32
2.4xを入れてたらJapaneseCodecsいらないですか?
561デフォルトの名無しさん:2006/06/06(火) 21:08:42
はい、いりません。
562デフォルトの名無しさん:2006/06/06(火) 21:16:59
質問なんですが >>557-558 で open したファイルオブジェクトって
close しなくていいんですか? ガベージコレクト時とか終了時とかに自動的に閉じられます?
563デフォルトの名無しさん:2006/06/06(火) 21:22:01
>>562
> ガベージコレクト時とか終了時とかに自動的に閉じられます?

Yes
564デフォルトの名無しさん:2006/06/06(火) 22:40:14
仕事でPython使ってる人いますか?
565デフォルトの名無しさん:2006/06/06(火) 22:58:35
>>564
ノシ
566デフォルトの名無しさん:2006/06/06(火) 23:14:53
>>564
俺だけ使ってる
567デフォルトの名無しさん:2006/06/06(火) 23:18:36
使ってるヨ。
客の作ったデータの整合性チェックとか変換とか
納品不要なツール扱いの奴はほとんどPythonだ。

一度納品要求されたんでAS ISを条件に提供したら、
検収担当もPython使いだったりして驚いたことがあるw
568デフォルトの名無しさん:2006/06/06(火) 23:31:48


569デフォルトの名無しさん:2006/06/06(火) 23:43:01
>>564
もち
570デフォルトの名無しさん:2006/06/06(火) 23:45:48
> 客の作ったデータの整合性チェックとか変換とか
> 納品不要なツール扱いの奴はほとんどPythonだ。
俺もこんなかんじだな。
周りに蛇遣いどころか知ってる奴すらいないのでしょんぼりだけど。
571デフォルトの名無しさん:2006/06/07(水) 00:09:17
いいなぁ…ソフト作れるとかすごいよ.
私ははじパイ全然進まないレベル.
572デフォルトの名無しさん:2006/06/07(水) 00:32:14
仕事の小道具として使ってます。
でも、はじぱい買ってません。
573デフォルトの名無しさん:2006/06/07(水) 00:53:06
仕事ではないけどワンライナーをクラスまで育てることができるのでワンライナーはほどんどpythonで書くようになった
574デフォルトの名無しさん:2006/06/07(水) 02:08:12
>>573
日本語で書いて頂けば結構ですよ。
575564:2006/06/07(水) 06:31:08
おおっ、結構使ってる人いるんですね。
自分は最近Python勉強し始めて書きやすさに感動しています。
Pythonのプログラムをそのまま納品できる仕事ではないので、納品不要のツールをPythonで書いてます。
ちなみに周りにはPythonのこと知ってる人いませんorz 話してみたら「何それ?」って感じでした。
今はwxWidgetsのドキュメントを読みながらwxPythonの勉強してます。英語苦手なんで大変です(でも楽しいからおk)。

仕事として使ってみたいと思う今日この頃です。
576デフォルトの名無しさん:2006/06/07(水) 20:58:33
>>575
ヒント:Googleに入社
577デフォルトの名無しさん:2006/06/07(水) 22:15:33
他の人は知らなくていいんです。
自分の仕事だけスラスラすすめば。
578デフォルトの名無しさん:2006/06/08(木) 00:13:12
wxPythonってWinCEで使えますか?
あるいはpy2exeのWinCE版ってないですかね?

海外のサイトでpygameやらtkinter?やらと一緒になったものを
見つけたんですが、20MB以上あったのでちょっと・・・

それ以外にwxPythonは見つけられませんでした・・・
579デフォルトの名無しさん:2006/06/08(木) 13:17:22
yumってモンティパイソンに出てくるものなんですか?
580デフォルトの名無しさん:2006/06/08(木) 22:52:04
「一階層上のフォルダのパス」って、書き方ありますか?
今、こんなふうに求めてます。

<Path=任意のフォルダパス>
Path[0:-(len(os.path.basename(Path)) + 1)]

こんなわけないですよね?
581デフォルトの名無しさん:2006/06/08(木) 23:03:30
os.path.dirname(Path)
582デフォルトの名無しさん:2006/06/08(木) 23:58:28
>>581
やはり書き方があるんですね…ありがとうございました。
583デフォルトの名無しさん:2006/06/09(金) 01:50:27
>>564

感覚的には自分も>567と似たような感じだなぁ
納品することは無いから微妙な違いはあるけど。

で、ワンライナーで済むようなものはawk使ってる。pythonにはあまり向かないと思うし。


>>580
os.path.split はどう?
os.path.normpath, os.getcwd と組み合わせれば相対パスの場合とかでも一通り指定できそう。
584デフォルトの名無しさん:2006/06/09(金) 01:53:48
って、dirnameと変わらないか>os.path.split

失礼
585デフォルトの名無しさん:2006/06/09(金) 02:00:04
そういう欲しい機能に対応するメソッド(?)、モジュールって
調べて覚えるの大変そう。
でも、どっかのサイトに「逆引きリファレンスでプログラム覚える奴は云々」って
書いてあって、逆引きサイトはダメになるようで怖くて見られない初心者が居たり。
586デフォルトの名無しさん:2006/06/09(金) 02:06:19
基礎を覚えずに「こういう時はこう書く」って暗記するだけで思考停止しちゃってる人はどうかと思うけど
逆引き自体が悪いって事では決して無いと思うよ。
587デフォルトの名無しさん:2006/06/09(金) 02:07:50
>>585
スマンが言ってる意味がわからん?
逆引きサイトが身につかないから引かないってのが特にな

普通は習うよりも倣って慣れろだし、目前の問題解決が優先だから、
みすみすリファレンス例を引かないってのが俺には理解できんのだが、
憶えるのが大変だからと定石を身に付けずに何ができるのだろうか?
588デフォルトの名無しさん:2006/06/09(金) 02:15:08
>>585
プログラミングを暗記科目か何かと勘違いしてる奴が居るようだな
589デフォルトの名無しさん:2006/06/09(金) 02:24:02
ハートで感じろよ
590デフォルトの名無しさん:2006/06/09(金) 12:10:10
立派なマニュアルのPDFがダウンロードできるんだし。
あと、他にPythonでかかれたソースもたくさん落ちてるし…
メーリングリストも検索できるし…

コピペだけで8割解決するでしょうに。
591デフォルトの名無しさん:2006/06/09(金) 12:36:00
>>590
最後の一行で墓穴を掘っている例。
592デフォルトの名無しさん:2006/06/09(金) 13:00:57
ほとんどコピペでも一応動く物はできるけど、
新機能の勉強しなくなっちゃうんだよなあ
593sage:2006/06/09(金) 13:56:42
勉強好きな人は、フルスクラッチでどうぞ。

努力と根性がすきな日本人的プログラマ気質だね…
594デフォルトの名無しさん:2006/06/09(金) 14:31:29
努力が嫌いで、コピペで済むような仕事しか与えられない953の人生に幸あれ。
595デフォルトの名無しさん:2006/06/09(金) 15:33:38
バカがまた湧いてるなw
ニヤニヤ( ・∀・)
596デフォルトの名無しさん:2006/06/09(金) 16:31:54
ばかばっか。
597デフォルトの名無しさん:2006/06/09(金) 17:24:17
はい、

文字列置換の連想配列かリストのリストか、そういうのを渡して、
ファイル中の文言を置換する python スクリプトを書きたいのですが、
馬鹿単純に考えると、こんな感じ。
replist={"x" : "X", "foo", "bar" }
f=open("file","r").readlists()
nl=[]
for x in f:
for r in replist.items():
nstr = x.replace(r, v)
x = nstr
nl.append(nstr)
print nl

もっと短くカッコよくしたいんです。
あと、replist も外部ファイルにして eval するようなのってできますか。

598デフォルトの名無しさん:2006/06/09(金) 17:25:52
for r in replist.items():

for r,v in replist.items():
でした。他にもいろいろケアレスありそうですが、そこは replace in your brain で
599デフォルトの名無しさん:2006/06/09(金) 18:24:51
import sys, re
replist = re.findall(r'^(¥w+)(.*)$', open(sys.argv[2], 'r').read(), re.M)
sys.stdout.writelines(reduce(lambda x, y: x.replace(x, *y), replist, line) for line in open(sys.argv[1], 'r'))
600デフォルトの名無しさん:2006/06/09(金) 18:33:17
>>599
>replist = re.findall(r'^(¥w+)(.*)$', open(sys.argv[2], 'r').read(), re.M)
replist = re.findall(r'^(¥w+) (.*)$', open(sys.argv[2], 'r').read(), re.M)
601デフォルトの名無しさん:2006/06/09(金) 18:34:28
一行野郎ktkr
602デフォルトの名無しさん:2006/06/09(金) 18:35:26
すまん、python ってどう読むんだ?
ふ・ふ・ふ・・・ ふぃぞん じゃぁないのか?
603デフォルトの名無しさん:2006/06/09(金) 18:56:29
(lambda replist: sys.stdout.writelines([reduce(lambda x, y: x.replace(x, *y), replist, line) for line in open(sys.argv[1], 'r')]))(re.findall(r'^(\w+)(.*)$', open(sys.argv[2], 'r').read(), re.M))
604デフォルトの名無しさん:2006/06/09(金) 19:09:27
ちょ、誰がワンライナーで書けとww
605デフォルトの名無しさん:2006/06/09(金) 19:26:27
>>603
やりすぎ
606デフォルトの名無しさん:2006/06/09(金) 19:33:09
話はかわるが、FirefoxのJavascript1.7が激しくPythonインスパイヤな件について

Python式のイテレータ・プロトコル
yieldを用いたジェネレータ
リストの内包表記
607デフォルトの名無しさん:2006/06/09(金) 19:37:20
>>606
そんな再発明するくらいなら、素直に <script language="Python3000"> とかを提案するほうが
百万倍好ましいのだけどな。
608603:2006/06/09(金) 19:39:36
どうしても一行で書かなければならないときだけこんなやり方をする
でもそんな状況でも可能な限り回避する努力をすべき
有り体に言って糞だな
609デフォルトの名無しさん:2006/06/09(金) 20:00:17
lambdaって廃止の方向じゃなかったっけ?
610デフォルトの名無しさん:2006/06/09(金) 20:23:46
んだ
611デフォルトの名無しさん:2006/06/09(金) 20:45:09
>>609
それはすごく困る
2.5ってどうなっていくの?
612デフォルトの名無しさん:2006/06/09(金) 21:26:43
>>609
廃止されないよ
613デフォルトの名無しさん:2006/06/09(金) 21:57:03
最近、Guidoが「複数行になるlambdaは入れない」って決定を下した
ってやつと勘違いしたんじゃない?
614デフォルトの名無しさん:2006/06/09(金) 22:37:09
eggって何なの?
615デフォルトの名無しさん:2006/06/09(金) 22:37:34
Python の RubyGems
616デフォルトの名無しさん:2006/06/09(金) 23:04:15
>>614
spam, egg, sausage and apam!!の25%の成分
617デフォルトの名無しさん:2006/06/09(金) 23:35:52
>>613
lambda廃止の議論は確かにあったんだけど
廃止されないことになったんだよ
618デフォルトの名無しさん:2006/06/10(土) 00:31:52
IronPythonってバージョンいくつがベースなんだろう。
import string できないんだけど、はやばやと消されてるのかな。
619デフォルトの名無しさん:2006/06/10(土) 00:48:51
stringモジュールなんてここしばらくimportしてないな
文字列メソッド使えばいいんじゃね?
620デフォルトの名無しさん:2006/06/10(土) 01:46:21
>>617
> 廃止されないことになったんだよ
ソース所望
621デフォルトの名無しさん:2006/06/10(土) 03:03:58
http://www.python.org/dev/summary/2006-02-01_2006-02-15/

#rumors-of-lambda-s-death-have-been-greatly-exaggerated

Python 3.0でも残るらしいよ。
622デフォルトの名無しさん:2006/06/10(土) 11:36:10
boost.pythonを使って拡張モジュールを作ろうとしていますがうまくいきませ
ん。vc2003でdllをつくりimportしても、パスは通っているのにImportError:
DLL load failedになります。
623デフォルトの名無しさん:2006/06/10(土) 11:59:32
そりゃ大変だね。
624デフォルトの名無しさん:2006/06/10(土) 18:47:44
愚かな妄想は小人物に憑いたおばけである
lambda廃止論者の妄想につきあわされるGuidoも大変だな
625デフォルトの名無しさん:2006/06/10(土) 20:22:30
なにをいまさらry
626デフォルトの名無しさん:2006/06/10(土) 21:58:57
まぁlambdaを廃止して、この世から完全に消しちまえと
思うほどの害があるように思えんから
そのままにしとくってのが現実的解なんじゃねーの?

古いソースで使えるものもあるから、バックワード
コンパチビリティーは残しといて欲しいな
627デフォルトの名無しさん:2006/06/10(土) 22:29:34
どんな疑問や要望にも
独りよがりにならず
理にかなった解答ができるのがGuodoの素晴らしさ

機能の追加や廃止をするとき
愚かな一貫性に凝り固まらず
ベストチョイスができるのがPythonの素晴らしさ
628デフォルトの名無しさん:2006/06/10(土) 22:32:46
>>627
>理にかなった解答ができるのがGuodoの素晴らしさ
guidoがバスに轢かれたらどうしようと考えると夜も眠れませんよ!?
629デフォルトの名無しさん:2006/06/10(土) 22:50:51
Python-Dev読めば不安は消えるよ
Python開発陣の層は厚い

仮にGuidoが亡き者になっても
Pythonの開発は続くと思う
630デフォルトの名無しさん:2006/06/10(土) 23:07:51
層の厚さが問題じゃないと思うがな。
単に沢山いてもうまくまとめれる人がいないと
ゴテゴテと無駄に沢山機能がある趣味の悪い言語になったりしそう。
631デフォルトの名無しさん:2006/06/10(土) 23:21:29
Dev嫁
それから妄想しろ
632デフォルトの名無しさん:2006/06/10(土) 23:27:06
matz:
  鳴かぬなら 自分で鳴くよ ホトトギス
 
larry:
  鳴かぬなら アニメを見るよ ホトトギス
 
zendの人:
  バグ出して 自分が泣いた ホトトギス
633デフォルトの名無しさん:2006/06/10(土) 23:40:23
Larryってアニヲタだったのか?
634デフォルトの名無しさん:2006/06/11(日) 01:49:59
ヒント:Pythonという名前の由来
635デフォルトの名無しさん:2006/06/11(日) 01:50:29
ああごめんLarryか・・・Perlの中の人の事はしらね
636デフォルトの名無しさん:2006/06/11(日) 03:50:01
Pythons はアニメと関係ないだろ。アニメな部分もあるけど。
637デフォルトの名無しさん:2006/06/11(日) 12:00:59
634が何に対してのヒントなのか
Guidoに聞いてみよう
638デフォルトの名無しさん:2006/06/11(日) 15:16:04
なんか荒らしなのか知ったかなのかわけわかめな状況だな
639デフォルトの名無しさん:2006/06/11(日) 15:30:27
わかめ わかめ
640デフォルトの名無しさん:2006/06/11(日) 16:58:49
IronPython のページは CodePlex てとこに引越ししたのか?
http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython
641デフォルトの名無しさん:2006/06/12(月) 00:36:00
テキスト中から回文を検出するワンライナー希望
642デフォルトの名無しさん:2006/06/12(月) 00:44:02
処理が終わるまでにビッククランチが起こる説
643デフォルトの名無しさん:2006/06/12(月) 00:49:05
>>641
BIP2004にそんな問題があったな
644デフォルトの名無しさん:2006/06/12(月) 11:01:00
>>641
漢字の読みが入ると無理じゃね?
645デフォルトの名無しさん:2006/06/12(月) 18:45:46
http://itpro.nikkeibp.co.jp/article/NEWS/20060612/240617/
http://www2a.biglobe.ne.jp/〜seki/ruby/druby.html

↑を斜め読みしてなんだが、
drubyみたいに、他リソースの常駐プロセスに処理させる、ってできる?

djangoでDB介さずに複数サーバで分散しようとしてるんだけど、
こういうのができると裏で面倒なことしなくても良さげなので。
646デフォルトの名無しさん:2006/06/12(月) 20:08:45
ZEOとかじゃないの?
マシン分けて処理したいだけならプロトコル作って話せってことになるし
つか負荷分散とプロセス間通信ごっちゃになってない?
647645:2006/06/12(月) 21:28:38
chatアプリを複数台で走らせて、datデータで同期を取りつつ、どれが落ちても無傷、ってなのをDBもストレージも使わないで、できないかなと。
サーバアプリもP2Pで、みたいな

手っ取り早くサーバ間でもhttpで叩くか、dpython書けってことでしょうか?

(プロセス間通信をNW越しにできるのが、drubyと思ったんだけど、違った?)
648デフォルトの名無しさん:2006/06/12(月) 21:28:41
Distributed Objects Python あたりでぐぐればいくらでも出てくる。
649645:2006/06/12(月) 21:30:27
>>648
サンクスコ コレっぽいです
650デフォルトの名無しさん:2006/06/12(月) 21:36:22
すごい人いっぱいいるな
651デフォルトの名無しさん:2006/06/12(月) 22:04:43
あんまり詳しくないんだけど、いろいろあるPythonの分散オブジェクト
モジュールの中で(実現までの手順がシンプルという意味で)一番drubyっぽい
のはDOPYかな
652デフォルトの名無しさん:2006/06/13(火) 03:56:20
>>647
つ skypeインタフェース
653デフォルトの名無しさん:2006/06/13(火) 10:32:43
それだ!
654デフォルトの名無しさん:2006/06/13(火) 12:59:18
import foo.py のように、簡単外部の.pyファイルを取り込む方法ありますか?
引数で .py ファイルを指定したいので、import が使えないのです。

open で 読み込んで eval に渡せばいいのかなぁ・・と試してはいるのですが、
もっといい方法があれば教えてください。
655デフォルトの名無しさん:2006/06/13(火) 13:02:18
日本語でおk
656デフォルトの名無しさん:2006/06/13(火) 13:36:55
>>654
動的に import しなきゃいけないってどんな状況かね。
657デフォルトの名無しさん:2006/06/13(火) 13:46:22
imp.load_source('yourmodulename', '/home/you/yourmodulename.py')
658デフォルトの名無しさん:2006/06/13(火) 13:50:20
for i, plugin_file in enumerate(os.listdir(PLUGIN_PATH)):
 mod = imp.load_source('mod%d' %(i), plugin_file)
 plugin_modules[mod.plugin_name] = mod
659デフォルトの名無しさん:2006/06/13(火) 16:08:01
>>656
状況依存情報の設定ファイル中に python の命令で値を取らせると
いいなぁと思う情報があるんですが、たぶん考え方自体が間違ってる
のかなぁという気がしなくもありません。
本体のコードを汎用化したいあまり、オプションファイルが複雑に
なったというところでしょうか・・・。

>>657
imp でできたっぽいんですが、読み込んだであろう.pyの変数に
アクセスできないんですが、これはどう指定すればいいのでしょう・・

# main.py
imort imp
imp.load_source('*', sys.argv[1])

print test


# setting.py (引数で指定したファイル)
test='a'


実行

global name 'test' is not defined

orz
660デフォルトの名無しさん:2006/06/13(火) 16:10:50
設定ファイルならConfigParserつかわないの?
661デフォルトの名無しさん:2006/06/13(火) 16:20:24
手がかりをもらったらちょっとくらい調べなよ。
662デフォルトの名無しさん:2006/06/13(火) 16:38:20
toolkit 自動判別みたいなモジュールって無いですかね?
tk があったら tk 使う、gtk があったら gtk 使う、qt があったら qt 使う、
全部あったら任意の優先順位で一つあるいは複数を使う、みたいな SQLObjectの UI 版ぽいのを。
663デフォルトの名無しさん:2006/06/13(火) 16:47:23
そんな悪夢にとりつかれてないでさっさとどれか一つに魂を売りなさい。
664デフォルトの名無しさん:2006/06/13(火) 17:31:31
それくらいならtryを繰り返せばいいだろ
665デフォルトの名無しさん:2006/06/13(火) 17:44:34
>>662
ttp://anygui.sourceforge.net/
開発終了しちゃったみたいだが。

最大公約数を取らざるを得ず、どの GUI ライブラリについても
個性的な機能を活かせないであろうことは容易に想像できる。
まあ俺だったら最初から(以下略)
666デフォルトの名無しさん:2006/06/13(火) 17:50:15
>>654
いまいち何がしたいのか全然伝わってこないのだが
execfile("foo.py")
じゃあかんのけ?
667デフォルトの名無しさん:2006/06/13(火) 18:01:00
>>666
ダミアンさん、それです!
どうもありがとうございました。

といいつつ、ConfigParser と shlex でも試してみます。

668デフォルトの名無しさん:2006/06/13(火) 18:35:10
667に悪魔が取り憑きますように
669デフォルトの名無しさん:2006/06/13(火) 19:18:04
アーメン
670デフォルトの名無しさん:2006/06/13(火) 22:21:04
>>667
mod = imp.load_source("*", sys.argv[1])
print mod.test
print sys.modules["*"].test
で出来たよ。
671デフォルトの名無しさん:2006/06/13(火) 23:39:54
boost.pythonを使おうとしています。VC++2003で作ったDLLファイルを
importすると"dynamic module does not define init function (initBoostPython)"
と言われます。言われたとおりinitBoostPythonを定義しても同じことを言われ
ます。なぜでしょうか?
672デフォルトの名無しさん:2006/06/13(火) 23:42:26
DLLEXPORT
673671:2006/06/13(火) 23:44:20
Pythonのバージョンは2.4です。
674デフォルトの名無しさん:2006/06/14(水) 14:18:20
フィナボッチ数列の100項目までを表示する
プログラムが作りたいんですけど
100項ってどうやってプログラムしたら数えられますか?
教えてください
675デフォルトの名無しさん:2006/06/14(水) 14:32:40
フィナボッチってなんだか知らんが

確かフィボナッチ数列であれば
n項を直接求める計算式があるから
(√5とか入ってる香具師ね)
それ使えば数える必要ないよ

676デフォルトの名無しさん:2006/06/14(水) 16:43:50
>>675
その方は車輪発明家です。もっと敬ってください。
677デフォルトの名無しさん:2006/06/14(水) 17:13:25
100項目「まで」を表示するんだから数える必要があるんじゃない?
でも、宿題なら指導教官に聞いて欲しいな。
678デフォルトの名無しさん:2006/06/14(水) 17:36:41
for x in range(100):
  フィボナッチを求める式とそれを格納するリスト
679デフォルトの名無しさん:2006/06/14(水) 17:44:18
宿題乙
680デフォルトの名無しさん:2006/06/14(水) 18:48:17
Pythonチュートリアルを読んでいて カウンターを使いたくなったと想定して
Pythonチュートリアル「4.6 関数を定義する」の例を使った

n項目まで求めるに変更する為に カウンターc(現在何項目かを数えている)を追加
これにともない cの初期化を追加

def fib(n):
    a, b = 0, 1
    c = 0
    while c < n:
        print b,
        a, b = b, a+b
        c = c+1

初期化部分をまとめろよ!とか思ったらまとめればいい
c = c+1 が気に入らない!とか思ったら変える
681デフォルトの名無しさん:2006/06/14(水) 19:10:41
682デフォルトの名無しさん:2006/06/14(水) 23:08:32
スマンフィナボッチで吹いた。
年かな…
683デフォルトの名無しさん:2006/06/14(水) 23:15:52
>>682
ずっとレス読んでたが、今初めて気がついた。
だいだらぼっちみたいだな。
684デフォルトの名無しさん:2006/06/14(水) 23:58:19
>>677
Pythonの宿題なんかある?
685デフォルトの名無しさん:2006/06/15(木) 00:37:23
pythonの宿題いいな〜。
今どきのプログラミング演習って何でやるんだろうな〜。
我が母校は昔はCだったが、今はJava らしい‥‥、
686デフォルトの名無しさん:2006/06/15(木) 00:42:30
Rubyもあるんだな
687デフォルトの名無しさん:2006/06/15(木) 00:58:38
文系の余技でやらされる情報実習ではVBだった。

10年前だけど。
688デフォルトの名無しさん:2006/06/15(木) 01:21:58
教養部の講義でプログラミング基礎って何やるのかとwktkで受けたら

FORTRANやった……(やはり10年前)
689デフォルトの名無しさん:2006/06/15(木) 01:30:51
俺はasmだった。しかも8086系コードではなかった。今ではいい思い出
690デフォルトの名無しさん:2006/06/15(木) 15:06:35
perlやってるよ。。

講義は最初のガイダンスだけなんだから、
言語は自由でいいと思うんだがな。

教授は課題出して、院生が採点。
顔見たの一回だけだw
691デフォルトの名無しさん:2006/06/15(木) 17:28:57
2.5beta遅いね
692デフォルトの名無しさん:2006/06/15(木) 22:26:34
2.5で一番ワクテカなのはSQLite搭載だったりする。
693デフォルトの名無しさん:2006/06/15(木) 22:39:15
ふと思ったんだけどさ、Guidoパパってものすんごい勉強家だよな。
Pythonに新しい機能なりモジュールを取り入れるのに何も知らないじゃ
話にならないわけで。当然知らなかった部分は自習して補ってるはずだ。
幅広く知っているだけじゃなく、機能の過不足や実装の善し悪しまで
判断できるように相当深く知らないといけない。なんつーか、想像するだに
常人の域を超えてる。
694デフォルトの名無しさん:2006/06/15(木) 22:40:37
それが本当のハッカーっちゅうもんだがね
695デフォルトの名無しさん:2006/06/15(木) 23:00:26
基本的な変数と構造に、オブジェクトのメソッドによる操作は分かった。けど、クラスの概念が理解できねえ。
インスタンスとかコンストラクタとか、「車」クラスの「カローラ」とか何なんだ。別にPyじゃなくても、JavaほかOOPなら
全部こいつに阻まれる。
これを分からないとPy語りで頻出のイテレータとか、独特のラムダ式とか、秘密の呪文に挑戦する資格がもらえねえー。
早く俺も内包とかなんとか、訳知り顔に口走りたいz
696デフォルトの名無しさん:2006/06/15(木) 23:07:48
ピーソンの勉強オワタ\(^o^)/  ← 訳知り顔
697デフォルトの名無しさん:2006/06/15(木) 23:29:11
イテレータとかラムダ式は、暇つぶしか遊びにしか使わないし
なくても、普通の表現方法でかけるので、あんまり心配しなくていいとおもうけど。
(いろんなPythonのソースをgrepして、どのくらい利用されているか見てみましょう)

クラスの概念って、配列ー>構造体ー>クラス
と、順番ずつに理解していけば、分かるはず。
プログラミングは、たくさん自分でソースを書いてデバッグしたら
理解できてきますよ
698デフォルトの名無しさん:2006/06/15(木) 23:50:58
>>695
自分で必要性を感じなければ急がなくてもいいと思うよ。

クラスは、例えば文字列型とか、すでに用意されてる物を参考にすればわかりやすいんじゃないかな。
Text='Python'
っておけば、文字列オブジェクトが出来る。
見た目のデータとしては「Python」だけなんだけど、その裏に
replace, split, upper といったメソッド(関数)が用意されてるでしょ。
699デフォルトの名無しさん:2006/06/16(金) 00:37:56
便乗して質問。クラスって、メソッドを(で)使うためのテンプレみたいなもの?
700デフォルトの名無しさん:2006/06/16(金) 00:53:07
クラス = データ + メソッド
701デフォルトの名無しさん:2006/06/16(金) 02:22:26
a == bで、かつc != dの時
というif文を一行で書く方法はありますか?
702デフォルトの名無しさん:2006/06/16(金) 02:23:00
if a == b and c != d:
703701:2006/06/16(金) 02:25:33
>>702
あれ、単純にand でいいんでしたか。失礼しました。
704デフォルトの名無しさん:2006/06/16(金) 03:42:25
&だといけたっけPython?Perlは記号なら&&だったような。体育座り2人
705デフォルトの名無しさん:2006/06/16(金) 09:31:28
データ構造を直感的に理解できない人は
クラスも理解できない
706デフォルトの名無しさん:2006/06/16(金) 10:06:13
           ,.-‐───-、、,
        ,r'"´ , ;:, ;: ,:;, ;:, :,;:;:;:;;\
       /      ; .; .:.:; .; .; .;: ;;:::ヾ
       /         .; ;: ;:;: :; :; :;:;:;:;:゙,
     / ,,..__  ,, ...      .: .: .: .: ;; ;:;;;!
    l ,,,,_  -ーー─ - 、、 .: .:. :; ; :; ;:;|
    ,'     '"´ ̄  ̄ ``'''  . :.: :.::;::;:;;;;!
    j、、、,,  、,,、zニニ'''ー-,、       _,,, ィ⌒ヽ
   r'⌒ヾー.イYニ、ヽ、,,、、z=='''"´  .:;;< 7 〉
   {{`=ン}='リr゙ー'-`i|"´    .:.:.:.::::j_ソ/ /
    >‐ イ   ヾ_,,ノ    .:.:.:::::.:.:ーイソ
    i  il   ,,,.;;:;;:.: .、   .:.:.:::::::::/^Y´
     \ゞ=''iiiii!!!!!:; ;:`ヾ  .:.:.:.:./ .:.:::!
      V>---‐ ''"⌒ヾ!.:.:.:./ .:.:.:.:.:.| ̄`¨`ー-
      ゙,`二ニニ´  /.::/ .:.:.:.:.:.:.:./\
      ハ      ノ/ .:.:.:.:.:::::::/  \
     / >---‐''"´ .:.:.:.:.:::::::::::/    \
    /  /:.:.:.:.  .:.:.:.:.:.:.:.::::::::::::::/      /\
 ,/   /.:.:.: . .:.:.:::::::::::::::::::::::::::/      / 
     /.:.:.:...:.::::::::::::::::::::::::::::::::::/      / /
     /:.:.:...:.:::::::::::::::::::::::::::::::::::/      / /
707デフォルトの名無しさん:2006/06/16(金) 14:14:23
>>704
&でもいけるのは、昔True, Falseがなくて1, 0を返してた頃の
名残りじゃねえの?
708デフォルトの名無しさん:2006/06/16(金) 15:17:54
SQLiteの開発者がコアメンバーに入ってるTclでも時期8.5では
SQLite搭載はしない予定なのに本当にすんの?
709デフォルトの名無しさん:2006/06/16(金) 16:18:57
>>708
SQLiteを組み込むのにSQLite開発者の意向は関係ない
710デフォルトの名無しさん:2006/06/16(金) 17:24:55
pysqliteを自分で入れればいいじゃん。
711デフォルトの名無しさん:2006/06/16(金) 19:57:20
終了する命令は、sys.exit() しか無いでしょうか?
IDLEごと終了してしまうので動作チェックがしにくいです。
712デフォルトの名無しさん:2006/06/16(金) 22:59:44
>>708
php にはとっくの昔に入ってるけど、php には sqlite のコアメンバーいるの?(w
713デフォルトの名無しさん:2006/06/16(金) 23:13:41
>>709
そうじゃなくて、近づきすぎないほうがいいような気がする・・・。
714デフォルトの名無しさん:2006/06/16(金) 23:16:00
>>712
PHPはMySQLとの関係を切った結果だろ
715デフォルトの名無しさん:2006/06/16(金) 23:23:34
>>695
俺が一番最初に理解できた考え方は
 クラス…手引書
 インスタンス…手引書を読んだ人間
 コンストラクタ…手引書を読むと同時に最初にやる事
(クラスメソッドとかはとりあえず置いておくw)

「車」クラスの「カローラ」っていうのは微妙だな。カローラも「種類」だからね。
「大工」クラスの「山田さん」とかでどうか?
716デフォルトの名無しさん:2006/06/17(土) 00:20:36
すみませんが、質問です。
Rubyを使っている者ですが、Pythonも使えるようになりたいのです。しかし
Pythonの流儀が分からなくていろいろ躓いております。今回うかがいたいのは、
Rubyのブロックつきメソッドのような機能を、Pythonではどうやって実現する
かです。

これは、例えばプログラマがリソースの解放など決まりきった処理を書かずに
すむ、便利なものですが、該当するものがPythonにあるのか、良く分かりませ
ん。標準ライブラリには無いのでしょうか?

もし無いなら、Pythonではそういうものは、システムが用意すべきものではな
く、プログラマがテンプレートメソッドパターンで個別に実装するべきものと
考えられているのでしょうか?
717デフォルトの名無しさん:2006/06/17(土) 00:28:27
>>716
君の第3段落でほぼ正解。実装パターンはいろいろあり得ると思うが。
718デフォルトの名無しさん:2006/06/17(土) 00:40:58
勝手に「決まりきった処理」と定義したRubyはそりゃ流行らん罠。
719716:2006/06/17(土) 00:46:57
ありがとうございます。確かに実装方法は、Javaのようなテンプレートメソッ
ドではなく、クロージャをそのまま渡したほうがPythonらしいですね。

Rubyと比べてPythonは、プログラマに対して厳しいなあ、と思います。暗黙の
処理やデフォルトの変数が無い場合が多く、プログラマがすべてを明示的に書
く必要があります。その代わり、コードの可読性は確かに高まるようです。

RubyとPythonは同類項でくくられることが多いのですが、考え方はまったく違
いますね。とても興味深いです。
720デフォルトの名無しさん:2006/06/17(土) 00:51:26
そもそもpythonは科学者向けの言語なので二番煎じプログラマに受けが良いrubyとは一線の画するのだが。
721デフォルトの名無しさん:2006/06/17(土) 01:12:39
>>720
煽りやめれ。
722デフォルトの名無しさん:2006/06/17(土) 01:14:36
暗黙のホゲホゲが沢山埋まってるような言語は、プログラマとして俺は好きじゃない。
723716:2006/06/17(土) 01:16:44
確かにPythonの良さは、私のような初心者には分かりにくいような気がします。
使い始めたばかりの印象で恐縮ですが、
・Ruby … 薄めたLISP
・Python … 薄めたHaskell
という感触があります。

私はLISPが好きだったのでRubyが気に入っていたのですが、Haskellを齧って、
急にPythonが気になるようになりました。同時に新山ゆうすけ氏のRuby批判や、
↓の文書のLISP批判が、やっと何を意図しているか分かったように思います。
http://practical-scheme.net/trans/IsPythonLisp-j.html

まあ今も、RubyもLISPも好きなのですが。
724デフォルトの名無しさん:2006/06/17(土) 01:23:58
暗黙のホゲホゲが多い方がプログラマに厳しいと思う。
コードに書いてない省略されてる部分を補完するための
知識と経験が必要とされるから。
725デフォルトの名無しさん:2006/06/17(土) 01:46:26
よくわからんのう。儂はLispとPythonが好きだがRubyは嫌いじゃよ。
726デフォルトの名無しさん:2006/06/17(土) 03:45:22
rubyは嫌い。開発者が日本人だから。
pythonは好き。開発者がgoogleの中の人になったから。
727デフォルトの名無しさん:2006/06/17(土) 04:06:01
そんなミーハーな理由で使っちゃっても良い言語だよな、どっちも。
そういう意味では Haskell は盤石と思っていたが、最近はそうでもない様だ。
728デフォルトの名無しさん:2006/06/17(土) 11:43:09
>>671
作成したDLLを、Dependency Walkerに喰わせた時、公開関数に、
何が出てきます?

VC.net 2003 + Python 2.3で、以前作ってテストした環境では、
「'init' + モジュール名」が公開関数として現れてました。
729デフォルトの名無しさん:2006/06/17(土) 18:13:37
ドキュメント化されてれば暗黙じゃねーだろ。意味不明
730デフォルトの名無しさん:2006/06/17(土) 19:20:32
>>729
>ドキュメント化されてれば暗黙じゃねーだろ。意味不明
ソースコードがドキュメントですとか強弁しなかったり、たかだか数千行程度だったらな。
731デフォルトの名無しさん:2006/06/17(土) 21:49:38
>729

馬鹿か?

ドキュメント化されていても、コードに定義や代入文を書かずに使える変数や
作用を暗黙と言っているのだ。ドキュメント化すらされてなかったらバグだろうが。

しかしまぁ、argvや標準入出力すらimportしないと使えないっつーのは最初は驚いたな。
732デフォルトの名無しさん:2006/06/17(土) 21:57:36
>>711
IDLE 1.1.3 で試したけど落ちないよ?
733デフォルトの名無しさん:2006/06/17(土) 22:10:08
PyAlaMode で sys.exit() したら落ちたー

#落ちたっていうのか? これ…
734デフォルトの名無しさん:2006/06/18(日) 00:31:29
Idle1.1.2でexit()のあるコードを実行すると
Idle含めて全部終了するかダイアログがでた。
もっと古いやつは問答無用でIdleも終了してたような気がする。
735デフォルトの名無しさん:2006/06/18(日) 01:06:49
>>716
PEP 343: The 'with' statement が君のやりたいことに近いかもしれない
736デフォルトの名無しさん:2006/06/18(日) 13:17:29
TSNetにもwikiがあったから、Pythonのとこにお勉強wikiのリンクを書き込んでみたのだけど
http://rakunet.org/TSNET/pukiwiki/index.php?Python

なぜかいたずらでもしてきたような後ろめたさが…。
737デフォルトの名無しさん:2006/06/18(日) 13:32:35
新しいPython-LOGOの画像ファイルってこれしかないのかな?
http://www.python.org/images/python-logo.gif

これでプリントTシャツとかつくったらかっこいいだろうなー。
ベクターフォーマットファイルがほしい。
738デフォルトの名無しさん:2006/06/18(日) 14:17:26
>737
>ベクターフォーマットファイル
勝手に作ったらあかんの?
739デフォルトの名無しさん:2006/06/18(日) 16:46:18
>>738
お願いします
740デフォルトの名無しさん:2006/06/18(日) 18:28:01
autotrace どうよ

741デフォルトの名無しさん:2006/06/18(日) 20:24:56
2.5では,Pythonのアイコンが変わるの?
742デフォルトの名無しさん:2006/06/18(日) 22:18:55
本家のMLに流れてたと思うんだがどれだったか忘れた。

ちなみにあたらしいアイコンも新しいPython-LOGO。
http://doxdesk.com/img/software/py/icons2.png
http://article.gmane.org/gmane.comp.python.devel/78701
743デフォルトの名無しさん:2006/06/18(日) 23:34:41
アイコンを見る限り,ベクターデータのロゴがありそうな予感。
744デフォルトの名無しさん:2006/06/19(月) 15:51:32
windowsのidleで

u = u"あいうえお"
print u

みたいにすると文字化けるのはなぜでしょうか
pytohn 2.3でもpython 2.4でも同じ結果になります
分かる方がいたら教えて下さい
745デフォルトの名無しさん:2006/06/19(月) 16:29:39
おもしろくない
746デフォルトの名無しさん:2006/06/19(月) 16:35:39
IDLEが使ってるTkがうんこだから。諦めよう。
747デフォルトの名無しさん:2006/06/19(月) 16:41:37
>>746
NGワード
748デフォルトの名無しさん:2006/06/19(月) 16:44:07
ttp://blog.livedoor.jp/dankogai/archives/50534572.html
ここに出されてるPythonのコードって、もう少し良くなりそうな気がしませんか
749デフォルトの名無しさん:2006/06/19(月) 16:52:04
>744

>>> u = unicode("あいうえお","shift-jis")
>>> print u
あいうえお
750デフォルトの名無しさん:2006/06/19(月) 19:00:20
一手間かけるだけでこのおいしさ、みたいな。
751デフォルトの名無しさん:2006/06/19(月) 19:05:42
見ろ,745と746がゴミのようだ。
752デフォルトの名無しさん:2006/06/19(月) 19:13:52
>>748
できるだけ同じアルゴリズムで比較してるみたいだからいいんじゃないの。
あえて言うなら " ".join() 使うんじゃなくて、 for 文の中で print hoge, すればいいと思う。
753デフォルトの名無しさん:2006/06/19(月) 19:17:38
セパレータ.join(リスト) が毒々しいというか、ちょっと気持ち悪いのは同感だ。
激しく既出だろうけど、
リスト.join(セパレータ) の方法もあっても良かったんじゃないかな
754デフォルトの名無しさん:2006/06/19(月) 20:15:02
>>753
たぶんだけど、

[...].join(sep) 形式にするなら、リストだけじゃなくてタプルにも欲しくなるだろう。 (...).join(sep)
そうしたら他のシーケンスにもあっていいはずだ。 '...'.join(sep), u'...'.join(sep), iterator.join(sep)
しかしbaseseqenceのようなクラスがないので、シーケンス型ごとに個別にメンテナンスが必要だ。
sep.join(seqence) なら実装もメンテナンスも1ヶ所で済むので、こちらの方がよい。

と言うことだと思う。
755デフォルトの名無しさん:2006/06/19(月) 20:29:38
join()はシーケンスを与える処理なのだから
シーケンスのメソッドはjoined()にするのがいいと思います!!
756デフォルトの名無しさん:2006/06/19(月) 20:36:20
>>754
stringもsequenceなわけだが。
対称性が崩れなくね?

>>> [1, 2].joins([10, 20, 30])
[10, [1,2] ,20, [1,2] ,30] <--- ナニコレ(wwwwww
757デフォルトの名無しさん:2006/06/19(月) 21:29:30
>>755
同意

>>756
もうちょいkwsk
758デフォルトの名無しさん:2006/06/19(月) 22:06:12
(a) string has a sequence

(a) string is a sequence
では意味が全く違う。
759デフォルトの名無しさん:2006/06/19(月) 22:36:44
760デフォルトの名無しさん:2006/06/20(火) 01:55:35
exitが組み込みじゃないのは意外
761デフォルトの名無しさん:2006/06/20(火) 03:08:22
raise SystemExit
762デフォルトの名無しさん:2006/06/21(水) 11:54:59
GUIプログラミングを初体験していこうと思ってるんだけど
tkとwxWidgetsってどっちのほうがお勧め?
763デフォルトの名無しさん:2006/06/21(水) 12:06:21
764デフォルトの名無しさん:2006/06/21(水) 12:54:43
tk
765デフォルトの名無しさん:2006/06/21(水) 13:10:27
qt (ぉ
766デフォルトの名無しさん:2006/06/21(水) 13:24:22
とりあえずTkinterでいいんじゃね?
丁寧な解説サイトもあるし。デフォルトで入ってるし。
767デフォルトの名無しさん:2006/06/21(水) 13:59:00
Tixを使ってしまうとpy2exe通らないので困る
768デフォルトの名無しさん:2006/06/21(水) 14:18:44
Rpy(統計言語R の pythonラッパ) ってどなたか使ってますか?

R 2.3.0 + Rpy 0.99.2 + python 2.4.3
on FreeBSD 6 なんですがテストがこけます。
Rpy は R 2.3.0 でのバージョン応答変更について
一カ所バージョン確認部分を誤魔化してインストールしてます。

% cd tests && python testall.py
RHOME= /usr/local/lib/R
RVERSION= 2.3.0
RVER= 2030
RUSER= /home/hoge
Loading Rpy version 2030 ..
*** caught segfault ***
address 0x2a6c, cause 'unknown'

769デフォルトの名無しさん:2006/06/21(水) 14:19:44
[768 続き]

Traceback:
1: .Call("R_initMethodDispatch", as.environment(where), PACKAGE = "methods")
2: initMethodDispatch(where)
3: ..First.lib(libname, pkgName, env)
4: fun(...)
5: try({ fun(...) NULL})
6: runHook(".onLoad", package, env, package.lib, package)
7: loadNamespace(package, c(which.lib.loc, lib.loc), keep.source = keep.source)
8: try({ ns <- loadNamespace(package, c(which.lib.loc, lib.loc), keep.source = keep.source) dataPath <- file.path(which.lib.loc, package, "data") env <- attachNamespace(ns, pos = pos, dataPath = dataPath)})
9: library(package, lib.loc = lib.loc, character.only = TRUE, logical = TRUE, warn.conflicts = warn.conflicts, keep.source = keep.source, version = version)
10: require(pkg, quietly = TRUE, warn.conflicts = FALSE, character.only = TRUE, save = FALSE)
11: .First.sys()

Possible actions:
1: abort (with core dump)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace
770デフォルトの名無しさん:2006/06/21(水) 14:41:21
win32allの初歩的な使い方が書いてある日本語サイトないですか?
771デフォルトの名無しさん:2006/06/21(水) 15:13:12
pyQTはライセンス関係がややこしそう・・・
772デフォルトの名無しさん:2006/06/21(水) 19:47:59
pygameでガチ。
773デフォルトの名無しさん:2006/06/21(水) 21:58:47
rlcompleterつかってタブ補完効く状態でタブ入力するのってどうやればいいん?
文頭でのみタブ入力になればなおいい。
774デフォルトの名無しさん:2006/06/22(木) 00:25:21
pythonに限ったことではないですが、日本語を含むスクリプトを書く際に最も使用するコーディングはなんですか?
775デフォルトの名無しさん:2006/06/22(木) 02:03:49
全角スペースでインデントしないこと
776デフォルトの名無しさん:2006/06/22(木) 03:17:39
そりゃ確かに。ワロスw まあ、ホントに聞きたいのは文字コードっぽい気もするけど。
777デフォルトの名無しさん:2006/06/22(木) 03:20:42
utf-8を使えば全部解決ですよ
778デフォルトの名無しさん:2006/06/22(木) 03:25:27
soudesune
779デフォルトの名無しさん:2006/06/22(木) 04:07:48
俺はeuc-jpばっかりだ。
780デフォルトの名無しさん:2006/06/22(木) 09:20:09
私は、WindowsでPythonWin使ってるから、ShiftJIS系が多いな。
781デフォルトの名無しさん:2006/06/22(木) 10:30:36
そんなこんなで2.5β1来ましたよ
782デフォルトの名無しさん:2006/06/22(木) 13:06:23
783デフォルトの名無しさん:2006/06/22(木) 18:59:42
>>773
http://hep.phys.s.u-tokyo.ac.jp/~akito/pukiwiki/pukiwiki.php?Python%20Tips
独自クラスでファイル名の補完をする方法も書かれているなりよ。
784デフォルトの名無しさん:2006/06/22(木) 19:39:26
>>783
サンキュ!!
785デフォルトの名無しさん:2006/06/22(木) 19:47:25
2.5って何が変わるの?
786デフォルトの名無しさん:2006/06/22(木) 19:56:59
小数点下1桁かな
787デフォルトの名無しさん:2006/06/22(木) 22:08:03
788デフォルトの名無しさん:2006/06/23(金) 03:03:39
if condition:
    x = true_value
else:
    x = false_value

上記のif文が、一行で書けるようになります。

x = true_value if condition else false_value

あとよろしく
789デフォルトの名無しさん:2006/06/23(金) 03:19:16
>>788
今でも一行で書けるわけだが

x = condition or true_value and false_value
790デフォルトの名無しさん:2006/06/23(金) 03:30:51
>>789
これは酷い
791デフォルトの名無しさん:2006/06/23(金) 03:36:55
これも一行で書けるバージョン。

x = [false_value, true_value][int(condition)]
792デフォルトの名無しさん:2006/06/23(金) 03:41:00
>>791
>>789(完全な間違い)よりはマシだな
793デフォルトの名無しさん:2006/06/23(金) 03:46:58
>>790,792

ネタだろ、マジレスすんな
794デフォルトの名無しさん:2006/06/23(金) 08:48:23
他に何をやれっていうんだよ
795デフォルトの名無しさん:2006/06/23(金) 08:56:53
796デフォルトの名無しさん:2006/06/23(金) 09:38:31
まずは翻訳をしろ。
797デフォルトの名無しさん:2006/06/23(金) 14:11:32
抽象的な質問で恐縮なんだけど、「いかにもPythonらしい」プログラミングっ
て、どんなものなんだろう?

自分にはそれが分からない。ある程度使い方は分かったつもりなんだけど、
Pythonの特長を生かしているという気がしない。て言うか、特長って何だ?

リストや文字列を「シーケンス」として統一的に扱えること?あんまり特長と
いう感じがしないし、それに繰り返し構造は他にイテレータやジェネレータも
あって、あんまり統一的じゃない。string.join()のような、引数にシーケン
スを取る関数は、イテレータは受け取れない。

ジェネレータはちょっと面白かった。手続き化された遅延リストという感じ。
http://www.unixuser.org/~euske/doc/python/recursion-j.html
だけどこれはPythonの第一の特長ではなく、周辺的なものじゃないだろうか。

メタプログラミング?関数プログラミング?IBMのサイトに「魅力的なPython」
という一連の記事があるけど、どうも「Pythonでここまで出来ますよ」と言っ
ているんであって、Pythonの本領とは思えない。大体こんなのは、Rubyだって
JavaScriptだって出来るじゃないか。

期待が大きすぎたのかもしれない。
http://www.gembook.jp/tsum/page.pys?wiki=How+I+lost+my+faith
LISPより生産性が上がるなんて、すごい言語だと思った。きっとHaskellを一
般向けにしたようなものじゃないかと想像した。だけど今のところ、特に特徴
の無い、型なしのオブジェクト指向言語にしか見えない。
798デフォルトの名無しさん:2006/06/23(金) 14:16:13
>>797
一体何をしたいのだ?何を作りたいのだ?
青い鳥か?
799797:2006/06/23(金) 14:26:03
私には特徴の無い言語にしか見えないのに、Python界隈では「Rubyは大嫌い」
「Pythonらしい書き方」「生産性激増」とみんなが言っている。言っているの
に、それが何なのか、見ても全然分からん。

Pythonには何か私の知らないすごい秘密があるんだろうか。煽りじゃなくて、
真剣に分からん。Pythonの何が皆さんをそこまで惹きつけているのか。

それまでPerlしかなかったから、スクリプト言語で普通にキレイに書けるだけ
で、もう十分に唯一無二のありがたさがあったんですよ、というオチなんだろ
うか。それじゃあんまりガッカリである。

>>798
いや、私は普通に使いたいだけだけど、ここで期待しているのは、私をギャフ
ンと言わせること。
「おお、これは確かにPythonにしか出来ない、Pythonらしいコードだ!こうい
うのを知ってたら、ほかの言語をメインで使う気にはならないよなあ」と思わ
せるような例。サンプルコードがあればなおよし。
800デフォルトの名無しさん:2006/06/23(金) 14:26:25
言語仕様に真新しさはあんまりないよ。
個人的にpythonはモジュールの取り扱いがかなり楽なところがよい。
作るのも使うのも調べるのも、かなり直感的にわかりやすい。
801デフォルトの名無しさん:2006/06/23(金) 14:31:33
クラス&イテレータ/ジェネレータで、そのままループにかけられる
カスタムコンテナを作りやすいのは特徴かもな。
使う局面は少ないけど。
802デフォルトの名無しさん:2006/06/23(金) 14:35:00
>>799
PythonにあってRubyにないもの、それは「安定性」。砂のお城と日本住宅ぐらい違う。
うまく動かないときに処理系を信頼できるというのは大きい。
803797:2006/06/23(金) 14:36:59
なんですか、皆さんのこの温度の低さは。
やや煽り気味に長文を書いた私がアホみたいではないですか。
「特徴は無い。あっさり素直に書けるのが特長」だったら、Javaと変わらんで
はないですか。今までの宗教論争はなんだったのだ。
804デフォルトの名無しさん:2006/06/23(金) 14:38:35
だって普通なところがPythonのいいところだもん。
805デフォルトの名無しさん:2006/06/23(金) 14:51:21
まったく新しい言語なんて覚えるのが大変で誰も使わない。

おまいはWhitespaceでも使っておけ。

http://ja.wikipedia.org/wiki/Whitespace
806797:2006/06/23(金) 14:56:27
おーけー、普通に安心して書けるのが良いところ、というのは分かった。
マクロや継続やモナドみたいな飛び道具を期待していた私は浅はかであった。

「普通」というもののありがたみは、Javaで十分理解しているつもりだ。
Javaのおかげで、プログラマは瑣末な文法論争から解放され、デザパタや設計
という、より抽象的なレベルの思考に集中できるようになった。

では、Pythonの登場がもたらしたものとは何だったのだろう?何がこの特徴の
ない言語に「LISP以上の生産性」を与えるようになったのだろう?

また、少し話は反れるが、 Alan Perlis[訳注1] はかつて、「プログラミン
グについての考え方に影響を与えないような言語は、知る価値はない」と言っ
た。
http://www.yamdas.org/column/technique/21-daysj.html
Pythonが人間の思考に与える影響とは、なんだろう?
807デフォルトの名無しさん:2006/06/23(金) 15:03:04
他人の言葉に振り回されてるだけだな
808797:2006/06/23(金) 15:08:56
>>807
わかった、君の言葉には振り回されないようにするよ。
809デフォルトの名無しさん:2006/06/23(金) 15:19:13
安定性ってなんだ。抽象的な言葉で煙に巻こうとしてるだけだな
810デフォルトの名無しさん:2006/06/23(金) 15:20:07
>>809
安定性 : コアダンプしていつの間にか落ちてたりしないこと
811デフォルトの名無しさん:2006/06/23(金) 15:22:47
「煽りじゃない」とか書いて明らかに煽ってる 797 なんて相手にしないのが良いよ。
どうせどこかの工作員だろ。
812デフォルトの名無しさん:2006/06/23(金) 15:23:40
ま、2chで3行以上のレスは読む価値がないというのがまた証明されてしまったな
813797:2006/06/23(金) 15:31:28
すまん。釣りレベルが低すぎた。
814デフォルトの名無しさん:2006/06/23(金) 15:31:49
なんか夢見がちな奴が来てたのか…かわいそうに…
815デフォルトの名無しさん:2006/06/23(金) 15:32:50
797って平安京ができた年だよね。
816デフォルトの名無しさん:2006/06/23(金) 15:33:25
青い鳥を探して下さい。僕の幸せにはあの鳥が必要なのです。
817デフォルトの名無しさん:2006/06/23(金) 15:36:02
>string.join()のような、引数にシーケン
>スを取る関数は、イテレータは受け取れない。

そうかなあ。
まずPythonをべんきょうしれ。
818デフォルトの名無しさん:2006/06/23(金) 15:37:03
Macintosh SEのハイパーカードの中に青い鳥がとんでたよ
819デフォルトの名無しさん:2006/06/23(金) 15:48:47
何か煽りにされてしまってるな。騙りも出てるし。

私がPythonに興味を持ったのは、Peter Norvig がPythonを選んだからだ。
http://practical-scheme.net/wiliki/wiliki.cgi?Lisp%3a%e8%aa%ad%e3%81%bf%e7%89%a9
「10年前ならLispは大きなアドバンテージを持っていたけれど、現在は他の言
語が追い付いて来てLispのメリットは小さくなっている。」

で、↓を読んで使い始めたんだけど、
http://www.unixuser.org/~euske/doc/python/python-lisp-j.html
まあそこそこ使えることは分かったが、Pythonコミュニティにある種の熱狂が
存在する理由が分からない。だからここで、君らは何に熱狂しているのかと問
うたのだが、逆にドリーマーや工作員にされてしまった。

まあ熱狂はどうでもいい。問題は、Pythonには実際に生産性の高さがあるのか、
あるとしたら何がそれをもたらすのか、だ。
820797:2006/06/23(金) 15:50:45
分かると思うが、>>819は私のレス。
821デフォルトの名無しさん:2006/06/23(金) 16:02:50
pythonの方がJavaやC#やC/C++より素早く分かりやすいソースが書けるな。個人的に。
また、モジュールがこれでもかってぐらい豊富なので、やりたいことがすんなり出来る。

ただ、GUI関係をPythonでやるのは無謀。ポトペタツールが出れば別だが。
822デフォルトの名無しさん:2006/06/23(金) 16:13:18
>>821
> ただ、GUI関係をPythonでやるのは無謀。ポトペタツールが出れば別だが。
Boa Constructorとか?
ttp://boa-constructor.sourceforge.net/
823デフォルトの名無しさん:2006/06/23(金) 16:16:35
煽りたいなら Ruby でやった方が喰いつきがいいよ、たぶん
824デフォルトの名無しさん:2006/06/23(金) 16:24:48
コピペするときにインデントが崩れたりするとイヤン

最近PythonCardでまったり遊んでる。
825デフォルトの名無しさん:2006/06/23(金) 16:31:35
マジレスすると、生産性というか、初心者がすぐに無料で簡単にプログラミングできるってことじゃないのかな。
(いきなり3Dゲーム作りたいとかいうのは別として)
だから、他の言語がそこそこ使えたり、プログラムの学術的な意味や価値を求めてる人にとっては
これといった目新しいメリットは無いんじゃないのか?
826デフォルトの名無しさん:2006/06/23(金) 16:42:37
バランス感覚。
言語としての。
これにつきる。

ぱっと見は普通に見える。
でも使うと手に馴染む。
827797:2006/06/23(金) 16:53:30
何かPythonに否定的なコメントが続くなあ。少々悲しくなってきた。
http://www.gembook.jp/tsum/page.pys?wiki=How+I+lost+my+faith

> 私のGoogleでの経験には企業秘密が含まれるので全てを明らかにする事はでき
> ないが、要点はこうだ:私は生まれてはじめて、Lisp以外の言語でも同じよう
> に生産性の高い人々に囲まれている。私は天狗の鼻をへし折られ(彼らは何度
> となくへし折らなければならなかった…もしGoogleの人々がこれを読んでいた
> ら、ごめん。)、いやいやながら他の言語を本当に勉強すると、*私の* 生産
> 性もLispの場合よりも高くなった。例えば、現在ではWeb開発にはPythonを使
> 用している。

> GoogleにはPeter Norvigもやって来たが、彼もまたLispを捨て去っていた。
> (私はNASA時代にPeterとこの点について話し合ったことがあった。当時、彼
> はもうLispを見捨てていて、私はそれを痛ましく思ったものだ)

これほどの生産性が、少なくともGoogleではPythonによって生まれている
らしいのだが、それが本当に「バランス感覚」だけによるものなのか。
828デフォルトの名無しさん:2006/06/23(金) 16:58:13
>>827
腐った煽りやめれ。否定的なのはおまえだけだよ。いいかげん去れ。
829デフォルトの名無しさん:2006/06/23(金) 16:59:49
Python だけが仕様で可読性が保証されている。
生産性云々は人間側のスペックに依存するものなので何とでも言える。
830デフォルトの名無しさん:2006/06/23(金) 17:11:18
教祖の気分でウンチ仕様が紛れ込むかもしれない言語なんて使えないです
Javaのほうが100万倍ましです
831デフォルトの名無しさん:2006/06/23(金) 17:12:21
プログラムする人ってもっと自発的に解を見出す人が多いのかと思ってたが…
うだうだうだうだと>>797みたいな人もいるんだな…
832デフォルトの名無しさん:2006/06/23(金) 17:15:24
よくありがちなコメントだと思うけど、
Perlからpythonに流れてきて、自分が過去に書いたコードが
一読しただけで何をしているのか理解できることに感動した。
そういう意味で、Perlと比べて生産性(保守性)が優れていると思った。
もちろん読みやすいだけでなく、書きやすくもある。
もう少し日本でも普及して欲しい。
833デフォルトの名無しさん:2006/06/23(金) 17:15:58
ちょっと質問なんですが、
WindowsXPで、現在のユーザーのホームディレクトリのパス
(・・・\Document and Settings\USERNAME)
を得るにはどうしたらいいんですか?
os.getcwd()だと実行中のスクリプトがあるパスになってしまいます。
834797:2006/06/23(金) 17:18:04
ごめん。
なんかうだうだと長文を書いて、具体的な論点をはっきりさせないで独り言を
書いているので分かると思うけど。
釣りなんだよ。
835デフォルトの名無しさん:2006/06/23(金) 17:28:35
os.path.expanduser('~')
836デフォルトの名無しさん:2006/06/23(金) 17:32:34
>>834
×釣り
○荒らし
837デフォルトの名無しさん:2006/06/23(金) 17:36:53
>>832
というか、Perlは訓練された人でも読みにくい罠
OOPがまともになるPerl6はいつになったら出てくるんだ。
838デフォルトの名無しさん:2006/06/23(金) 17:39:16
>>837
Perl 6?
壮大な釣りですよ。
839デフォルトの名無しさん:2006/06/23(金) 17:55:53
>>835
ありがとうございました
840デフォルトの名無しさん:2006/06/23(金) 18:03:44
話の流れをムシしてしまってすみません。
標準モジュールのソースコードが読みたいのですが、どこにあるんでしょうか?
841デフォルトの名無しさん:2006/06/23(金) 18:34:44
Pythonへの否定的な意見を知りたいならRubyスレへどうぞ。
ここで聞いても出てくるわけないじゃん。
842デフォルトの名無しさん:2006/06/23(金) 19:02:30
>>840
OSによってまちまちだけど、
Windowsなら {インストール先}\Lib にある。
他のOSだったら他のひとよろしく↓
843デフォルトの名無しさん:2006/06/23(金) 19:08:45
>>> import webbrowser
>>> import pickle
>>> import os
>>> webbrowser.open('file://'+os.path.split(pickle.__file__)[0])
844デフォルトの名無しさん:2006/06/23(金) 19:35:17
fooとbarの代わりにspamとeggを使うのがpython流
845デフォルトの名無しさん:2006/06/23(金) 19:38:44
スパムエッグって何さ、って人はこれでも見れ。
ttp://python-airways.cside.com/sketch/25-spamspam.htm
846デフォルトの名無しさん:2006/06/23(金) 19:48:55
>>815
794年だよ
847デフォルトの名無しさん:2006/06/23(金) 20:20:36
中程度の入試だと、狙われるのは飛鳥浄御原宮とか長岡京の方だったような。
848デフォルトの名無しさん:2006/06/23(金) 20:27:30
PythonはVBと並んで生産性が高い
849デフォルトの名無しさん:2006/06/23(金) 20:51:12
VBってスクリプト言語だっけ?
850デフォルトの名無しさん:2006/06/23(金) 20:58:20
PerlやRubyは便利なものを沢山取り込んで
自由なコードが書けるようになってる

…がその代償として書かれたコードを読むのは辛くなってる
特にPerlは暗号じみたコードが平気で出回ってるわけで

Pythonはコードを読むことに関して抜きん出てるんだよね
851デフォルトの名無しさん:2006/06/23(金) 21:10:47
>>849
VBはスクリプトじゃないけれど、VBSはスクリプトン。
852デフォルトの名無しさん:2006/06/23(金) 21:21:23
>>851
どもっす。VBとVBSとVBAの違いがわかんねっす。
スレ違いだから答えなくていいっすけど。
853デフォルトの名無しさん:2006/06/23(金) 21:28:06
スクリプトって何だよ。ネイティブコンパイルできなければスクリプトなのかよ。
854797:2006/06/23(金) 21:51:10
質問を続けてきたが、どうもスレが荒れてしまった。そのことについては、正
直、お詫びをしたいと思う。荒れやすい話題であることはある程度分かってい
たから。

また残念なことに、疑問が解けたとは言いがたい。私はまだ諦めてはいない。
質問をここでまとめ直すので、まだ倦んでいない方に、時間があいても良いか
らお教えいただきたい。

・Python で生産性が高まるという話があるが、それはどの程度に普遍的か。
 またそれは主に何によるものか。
・Python の機能の中で、いわば「玄人向け」のものは何か。

後者については、そんなものはないという論調だったが、私はやはりもう少し
問い続けたいと思う。
http://practical-scheme.net/trans/IsPythonLisp-j.html
この記事によるとPythonは、フェラーリの性能とファミリーカーの使いやすさ
を併せ持った言語、ということだった。私が知りたいのは、Pythonのそのフェ
ラーリ的な部分である。俗っぽく言えば、他言語のプログラマに「Pythonなら
こう書ける」と自慢できるような部分だ。

私は決してPythonの悪口を聞きたいのではない。これだけ多くの専門家に支持
されるからには、必ず何かがあるだろうと期待しているのだ。
855デフォルトの名無しさん:2006/06/23(金) 21:58:42
長文しか書けないのは、
まだまだ釣り修行が足りないからだ。
856797:2006/06/23(金) 21:58:56
少しだけ補足。

今までにいただいたご回答の中によると、Pythonの良さは主に、可読性・保守
性の高さ、ライブラリの多さ、そして書いていての気分の良さと、いうことだっ
た。

可読性、保守性の高さ、ライブラリの多さならなら、同じ理由でJavaを愛して
も良いはずだ。しかしPythonistaがJavaを愛しているという話は聞かない。こ
れはPythonを使い続ける理由であって、Pythonにハマる理由ではないと思う。

またPythonは書いていて気分が良い、というのは、正直に言うと私にも分から
なくもない。しかしそれを前面に出すのはどうかと思う。LISPなどのマイナー
な言語のヘビーユーザは、皆その言語の中毒性を感じている。それは結局、そ
の言語が彼に向いていたということでしかないと思う。
857デフォルトの名無しさん:2006/06/23(金) 22:04:12
言語なんてどれもできることは大して変わらないしね。
あえて言えばこう言うのが簡単に書けるところが好き。
from math import *
i = 0
while i <= 8:
 print e ** (pi / 4 * i * 1j)
 i += 1
858797:2006/06/23(金) 22:32:15
> 言語なんてどれもできることは大して変わらないしね。
このセリフはいただけない。言語には明らかにパワーの差がある。
VBやPHPと、LISPやHaskellの記述力は同じではない。

また、私ならこう書くところだ。副作用は好きではない。
for i in xrange(1, 9):
    print e ** (pi / 4 * i * 1j)
まあprintも副作用なのだが。

しかし、今までで一番、私には分かりやすい説明だった。コードを添えていた
だいたのが大変ありがたい。初めから、「Pythonならこう書けるぞ!」という
自慢をいろいろしてください、とお願いするべきであったか。
859デフォルトの名無しさん:2006/06/23(金) 22:42:58
頼むからちょっとは考えて書いてくれ
整理せんでだらだら書かれたり、後からいろいろ追加されたら、
答えようとしてる人すら答える気が失せるし、
あおり気味に書いてたらそれなりの扱いを受けて当然だし
860デフォルトの名無しさん:2006/06/23(金) 22:43:30
というか、既に読む気がしないので飛ばしてる。
861デフォルトの名無しさん:2006/06/23(金) 22:54:33
なんだか変な人が湧いてますねw
一体何をしたいんでしょうか?
862797:2006/06/23(金) 22:57:50
>>859
すまないが、こちらも必死に考えて書いているのだ。何を書いても意図が伝わ
らないので、皆さんの反応を見て、手を変え品を変え、切り口と表現方法を変
えているだけだ。

煽り気味にしたのは、それが2chの流儀かと思ったからだ。面白くてやってい
るのではないので、煽らないほうが良いなら、こちらもそれに越したことない。

質問の内容は最初から変わらない。「Pythonらしい、パワフルなコードとは何
か?」だ。ただ、同じ内容を、こう問うた方が話が早かったのだろうと思う。

「Pythonならこう書けるぞ!」という自慢をしてください、と。
863デフォルトの名無しさん:2006/06/23(金) 22:59:03
だいたい2chまで来て何で長文読まないかんのだ。
しかも一日で新着64件ってどーゆーことよ。
864デフォルトの名無しさん:2006/06/23(金) 23:05:57
個人的に、Pythonが生産性を高めていると思うところ

・括弧(特に中括弧)を極力打たないで済むのでコーディング作業が軽快

・括弧が少ないため、ソース眺めたときに縦方向の情報量が増えて見通しが良い

括弧を打つ機会が少ないだけで、コーディングがこんなに軽快になるなんて、と
Pythonを知った当初は関心したのを思い出した。

参考:
http://www.artima.com/intv/speed.html
865デフォルトの名無しさん:2006/06/23(金) 23:13:13
ウジウジグズグズと長文連投ウザイな
3行にまとめろよボケ
866デフォルトの名無しさん:2006/06/23(金) 23:17:18
2chの流儀とか子供じゃないんだからいい加減にしてくれませんか?
867デフォルトの名無しさん:2006/06/23(金) 23:17:54
>>858
>> 言語なんてどれもできることは大して変わらないしね。
>このセリフはいただけない。言語には明らかにパワーの差がある。
なんだよ,結局自分の考えがあって押し付けたいだけとちゃうんか?答えるだけアホらしいわ!
868デフォルトの名無しさん:2006/06/23(金) 23:21:09
自分の考えっつーかおもっくそポールに影響されてるだけやん。
869デフォルトの名無しさん:2006/06/23(金) 23:23:49
>>862
>「Pythonならこう書けるぞ!」という自慢をしてください、と。
無駄なコードを作る趣味は無いんでね
870デフォルトの名無しさん:2006/06/23(金) 23:24:41
よく分からん粘着だな。Javaが好きならJavaやってりゃいいじゃん。
どこかのオッサンがフェラーリだとかファミリーカーだとか言ったとかって
んな事知らねえよ。そいつに訊けよ。

煽り気味が2chの流儀?普通に馬鹿だろお前。
まず素人の分際で調子ぶっこいて荒らしてすいませんでした、と詫びの一つも入れろ。
そこから仕切りなおしだ。
871デフォルトの名無しさん:2006/06/23(金) 23:27:03
自分の考えを長文で書いてしまう人は、コードも冗長に書いてしまうのだろうね。
872デフォルトの名無しさん:2006/06/23(金) 23:27:59
.
8733行で主張してみよう。:2006/06/23(金) 23:28:05
pythonが玄人受けする第一の理由はコードの可読性である。他人のコードを読むのが
苦にならない言語であれば、他人のコードから技を盗むことが容易になる。javaは、
あれでもまだ記法の自由度が高すぎる上に規約がうるさすぎて、本質が見えない。
874デフォルトの名無しさん:2006/06/23(金) 23:32:37
Pythonの生産性が高い理由
・可読性の高さは生産性に大きく影響する。
・シフトキーを押す回数が少ないので、入力が楽。
・docstringがイイ。

JavaよりPythonの理由
・お手軽。インタラクティブ。
875デフォルトの名無しさん:2006/06/23(金) 23:33:08
"パイパンが玄人受けする"、まで読んだ。
876デフォルトの名無しさん:2006/06/23(金) 23:33:36
自分の考えなんてないんだよな。
「他の人はこう言ってるけど、それって具体的に何なんですか?」
って、他人の意見を鵜呑みにして、その裏付けにも他人の意見が必要なヤツ。
877デフォルトの名無しさん:2006/06/23(金) 23:37:32
漏れは問題解決するために許容できる条件ならPythonでプログラミングする。
言語なんてただの道具だからな、手になじんだ道具を使うのは楽しい。それだけだ。
878デフォルトの名無しさん:2006/06/23(金) 23:47:53
自分でいろんな言語でプログラムした
自分で考えてプログラムした
自分でPythonを選択した
ただそれだけ
879デフォルトの名無しさん:2006/06/23(金) 23:50:45
敗北者でも使えるから
880797:2006/06/23(金) 23:54:09
・「どうかと思う」という個人的な感想を書いただけで、だからどうしたと聴いて
いないのに、文脈を読んで食いついてしまうのは、さすがにどうかと思う。
881デフォルトの名無しさん:2006/06/23(金) 23:57:19
調子っくれて延々と煽りいれてるのも、さすがにどうかと思うがな
882デフォルトの名無しさん:2006/06/23(金) 23:59:36
>>880
何してる?
さっさとトイレの芳香ボールを丸める作業に戻るんだ。
883デフォルトの名無しさん:2006/06/24(土) 00:03:01
Q: なぜ Java ではなく Python なのか?
A: ライセンスとVM速度を比較すれば明らか。

Q: 玄人向けの Python 機能は?
A: See ttp://indico.cern.ch/conferenceTimeTable.py?confId=44


わかりましたか?
884デフォルトの名無しさん:2006/06/24(土) 00:06:02
jythonにosモジュールがないのはjavaのせい
885デフォルトの名無しさん:2006/06/24(土) 00:07:20
JavaではCGIを作るのにも苦労する。
Javaはクソ言語だ。
886デフォルトの名無しさん:2006/06/24(土) 00:12:38
最近うんこAAを見ないね。
作戦を「言語論争の煽動」に切り替えたのかしら。
887デフォルトの名無しさん:2006/06/24(土) 00:23:23
単純にアメリカで流行ってるから流行に乗せられてるだけだろ。3年前は
はあ?Python?って状態だったのに。
888デフォルトの名無しさん:2006/06/24(土) 00:29:39
>>887
いや、ぶっちゃけ今もだから。

3年前っていうとRubyが本とかがわさわさっと出て一瞬流行りそうかと思われた時か…。
889デフォルトの名無しさん:2006/06/24(土) 00:33:39
いつも Python の可読性がネタになりますが、最大の利点は可読性ではなくC/C++ との親和性にあります。既出ですが(過去ログ嫁)
890デフォルトの名無しさん:2006/06/24(土) 00:47:23
親切に数字コテ付けてくれてるんだから、透明したらいいんじゃね?
891797:2006/06/24(土) 01:06:46
>>864
リンク先を読ませていただいた。Guido van Rossumが対談で、Pythonの生産性
が高いと語っていた。その理由は以下の4点。
・コードがJavaやC++より簡潔
・少数に絞られた強力なデータ型
・豊富なライブラリ
・型なし
これでは私は納得できない。これはスクリプティング言語の利点であって、
Python独自の利点ではない。また、個々の点でPythonより優れた言語はいくつ
もある。そのバランスが絶妙なのかも知れないが、それは好みの問題になって
しまう。

>>873-874
結局、読みやすく打ちやすい素直な構文がすべて、ということなのだろうか。

>>889
C[++]との親和性が良いのはありがたいが、Rubyも同じことを言っている。
892797:2006/06/24(土) 01:08:00
さすがにそろそろ諦めることにした。

このスレの「人生の敗北者」というタイトルは、おそらく昔、新山祐介氏がつ
けたものだろう。実際のところ、Pythonをに興味を持ったのは、彼の影響
が一番大きい。彼はもう2chには来ていないらしいが。

http://tabesugi.net/memo/2004/92.html#150242
この議論は抱腹絶倒だった。これは彼が攻められる側だが、彼が立てた2chの
Pythonスレなら、この調子で逆にPythonの素晴らしさと他言語のひどさを聞け
るかと私は期待してしまった。さすがにそれは、虫の良すぎる願いだった。

辛抱強くお答えいただいた皆さんには、心からお礼を申し上げる。皆さんの
「Pythonには何の秘密もない。簡潔で読み書きしやすいシンタックスがすべて」
という言葉を反芻しながら、これからPythonを使って行きたい。

では失礼。
893デフォルトの名無しさん:2006/06/24(土) 01:12:05
あぼーん多すぎ
894デフォルトの名無しさん:2006/06/24(土) 01:19:47
>>893
どうやらどっかいったようだ。やっと平和になった。
895デフォルトの名無しさん:2006/06/24(土) 01:27:14
なんかエラくスレが延びてるなと思ったらw
自分が満足してないから、きっと他人も満足してないんだろう。
という思い込みがある奴が煽ってたのかw
896デフォルトの名無しさん:2006/06/24(土) 01:31:36
遂に
> 「Pythonには何の秘密もない。簡潔で読み書きしやすいシンタックスがすべて」
で思考停止かよ。

2.5系での高速化と組み込み指向(SQLite)を無視したのはいただけませんねー
Python *だけ*が C の代替言語として相応しい。他の LL は所詮 LL。この差は歴然。
897デフォルトの名無しさん:2006/06/24(土) 01:33:52
スルーしなさいって
898デフォルトの名無しさん:2006/06/24(土) 01:34:05
>>896
バカが
煽りに煽りで対抗してるつもりかよw
899デフォルトの名無しさん:2006/06/24(土) 01:38:03
煽りに対抗する奴を煽る奴。
それを見てる俺。
900デフォルトの名無しさん:2006/06/24(土) 01:38:37
まあみんなここでクールダウンだ。
ちょっと落ち着いて鼻でもほじってみよう。
901デフォルトの名無しさん:2006/06/24(土) 01:40:33
ctypesってどうよ
これでウハウハ?
902デフォルトの名無しさん:2006/06/24(土) 01:44:14
鼻血出た
903デフォルトの名無しさん:2006/06/24(土) 02:19:51
>>896
学校にLL教室ってのがあったが、関係あるのか?
904デフォルトの名無しさん:2006/06/24(土) 02:43:58
まあ、797はHaskellスレに沸いてた似非Lisp厨と同一人物でしょう。
放置放置。
905デフォルトの名無しさん:2006/06/24(土) 02:52:17
Language Laboratory と Lightweight Languageだっけ?微妙なところだね。
906797:2006/06/24(土) 03:34:32
これでは私は納得できない。
907デフォルトの名無しさん:2006/06/24(土) 05:02:42
>>892
何と言うか、木々を見て森を見ず、という感じの人だね。
思うに Python の人気は個々の理由もさることながら総合的な評価によるものだよ。

Python のどの部分を取ってみても、Python にしかない、あるいは Python が初めて、
という機能は無いんじゃないかなあ。しかし、(多くの人が言っているように
Python の設計はサジ加減が素晴らしい。機能の取捨選択のバランス感覚の良さと言ってもいい。
残念ながらサジ加減とかバランス感覚というものは定量的には測れないんだけど、
Python をしばらく使っていれば自ずと明らかになると思う。
要するに、Python には大きな過不足がない。これが人気の一番の理由だと思う。

私見ではもう一つ、大きな理由としてC言語インタフェースの使いやすさがある。
既存のC、Fortran、その他で書かれたライブラリを使うための糊付けコード(拡張モジュール)が
とても作りやすい。C言語インタフェース自体がシンプルでよく文書化されている上に、
distutils(構築・配布用ツール)や拡張モジュールの作成を支援する道具(SWIG, F2PY など)も
多数出ている。用例も多数あり、見よう見まねで実行に移せる。とにかく敷居が低い。
結果的に拡張モジュールが多数出回り、Python の価値が高まる。良循環だね。

余談だけど、数値計算の分野では Python が一種のブームになっている。
先日出席した学術会議では実に多くの研究発表に Python というキーワードが出てきて驚いた。
(もちろん俺自身も同分野の研究に Python を使っている。)
会議のチュートリアルの一つも Python と数値計算に関するもので、半分近くの時間を
拡張モジュールの作り方と既存の拡張モジュールの紹介に充てていた。簡単に作れる、使える、
オーバーヘッドが少ない、C や Fortran で書かれたレガシーコードが対話的にも使えるようになる、
逐次のレガシーコードでも Python 側で並列化もできる、等々メリットが多いという趣旨だった。
コンパイル言語の高速性と Python の柔軟性の組み合わせの利点、これも目新しくはないけれど、
既に形成された良循環とあいまって Python 人気に一役買っているように思う。

長文スマソ
908デフォルトの名無しさん:2006/06/24(土) 07:41:43
> 木々を見て森を見ず

> 数値計算の分野では Python が一種のブームになっている。
909デフォルトの名無しさん:2006/06/24(土) 11:07:18
青い鳥、どこ?
910デフォルトの名無しさん:2006/06/24(土) 11:10:07
ctypes使うと、もろに環境依存するかわりに、拡張モジュール書かなくてもよかったりしない?
911デフォルトの名無しさん:2006/06/24(土) 11:32:02
でめーら、人生の敗北者であるこの俺の安住の地を荒らすなよ!
912デフォルトの名無しさん:2006/06/24(土) 12:17:20
SWIGは嫌い。
水は低きに流れる、みたいな思想で。
913デフォルトの名無しさん:2006/06/24(土) 12:50:55
SQLiteの組み込み指向っておかしくね?組み込むならSQLiteそのものを
静的にリンクするべきじゃね?
914デフォルトの名無しさん:2006/06/24(土) 14:02:27
WCの敗北者共でも使えますか?


915デフォルトの名無しさん:2006/06/24(土) 14:52:06
water closet?
916デフォルトの名無しさん:2006/06/24(土) 16:20:53
BlizzardのWarCraftとか
917デフォルトの名無しさん:2006/06/24(土) 16:34:23
質問です。

def foo():
  val = 1
  def bar():
    print val
    val += 1

  bar()


上のコードではfoo()の実行時に「print val」の行でエラーになります。
「val += 1」をコメントにするとエラーは出なくなります。

barの中からは、fooで定義した変数は参照はできますが、書き換えることは
できないのでしょうか?
918デフォルトの名無しさん:2006/06/24(土) 16:35:42
渡せばいいじゃん
919デフォルトの名無しさん:2006/06/24(土) 16:55:54
>>917
下記ページを見るに、書き込み可能な変数の閉包は出来ないようです。
ttp://www.unixuser.org/~euske/doc/python/python-lisp-j.html
920デフォルトの名無しさん:2006/06/24(土) 16:56:10
>>917
書き換えはできないです。そういう言語仕様です。
でも、例えばvalがリストだったとして、
val.append(1)とか、そういうことはできます。
921デフォルトの名無しさん:2006/06/24(土) 17:21:32
>>918-920
レスありがとうございます。

残念、仕様でできないのなら仕方ありません、ほかの方法を考える事にします。
922デフォルトの名無しさん:2006/06/24(土) 22:38:36
スコープ内で新規に代入した変数は新しく定義されるのね。
変数宣言が要らないことの弊害だけど,
害よりも利点が多いから別にいいと思う。
迂回する設計手法はごまんとあるわけだし。
923デフォルトの名無しさん:2006/06/25(日) 00:57:18
話は変わるが、変数宣言だけはあってほしかった気もする。

うっかりものなので、これが原因のバグがなかなか減らせない(・_・、)
(abbrevすればいいんだろうけど、打ったほうが早い場合も多いので)
924デフォルトの名無しさん:2006/06/25(日) 00:59:07
ほとんどの場合、一番内側と一番外側のスコープだけを考えればよいというのは、
なかなか良い割り切りだと思うよ。Cのようにブロックでスコープが作られる言語だと
不便だろうけど、Pythonはそうではないので。
925デフォルトの名無しさん:2006/06/25(日) 01:06:46
>>917
そこでglobalですよ
926デフォルトの名無しさん:2006/06/25(日) 02:04:44
>>903
もしかしてT学園?
927デフォルトの名無しさん:2006/06/25(日) 02:41:20
>>926
LL教室なんてどこにでもあるだろ。
もしかしてオッサン?
928デフォルトの名無しさん:2006/06/25(日) 03:39:23
引数を渡す。
戻り値を受け取る。
これがめんどくさいならプログラミングなんてやめちまえ。
929デフォルトの名無しさん:2006/06/25(日) 05:14:12
>>917 
君はカウントアップするクロージャを返したいんじゃないのかな? 
そういう前提で、ちょっとおせっかいを。見当違いだったらごめんね。

まず、リストを使えば、Pythonのクロージャでも実現可能。汚いけれど。

def foo(n): 
  s = [n] 
  def bar(i): 
    s[0] += i 
    return s[0]  
  return bar 

だけどPythonでは、クロージャじゃなくて、オブジェクトを返すことが 
推奨されている。 
http://practical-scheme.net/trans/IsPythonLisp-j.html 

class Accumulator: 
    def __init__(self, start): 
        self.val = start 

    def incr(self, amount): 
        self.val += amount 

    def decr(self, amount): 
        self.val -= amount 

    def getValue(self): 
        return self.val 
930デフォルトの名無しさん:2006/06/25(日) 05:15:30
自分の状態を書き換えるクロージャは、LISP方面で発祥し、目下 Rubyや
JavaScript方面で大人気だけど、実は良いことばかりではない。
現代的な関数型言語では、このようなクロージャは 「参照透明性がない」
として、嫌われている。
931デフォルトの名無しさん:2006/06/25(日) 05:30:56
難しいことをズボンのチャック全開で言ってる人,みたいな。
932デフォルトの名無しさん:2006/06/25(日) 07:46:40
>>928
実はリアルでそういう奴らがこの世にはうようよしているのだ。

「コボラー」と言ってな。
933デフォルトの名無しさん:2006/06/25(日) 09:46:19
Python始めました。超初心者の質問で申し訳ありませんw。
テキストで書かれた、ファイルリストから、キーワードを検索し、連想
配列に追加させたいと思っているのですが、最後の一つしか残りません。
上書きされているようです。追加できる方法を教えてください。

#! /usr/bin/python
import re
import sys
f=open('./LS_CHIP.vcd', 'r')
while 1:
s=f.readline()
if s == "":
break
if re.match("\$var", s)!=None :
work = s.split()
sigmark = dict()
sigmark[work[3]] = work[4]
# print sigmark.items()
f.close()
print sigmark.items()
934デフォルトの名無しさん:2006/06/25(日) 10:09:39
>>933
sigmark = dict() を while の外に出す。
935デフォルトの名無しさん:2006/06/25(日) 10:14:04
>>933
ループのなかで毎回,初期化してるからなぁ。
sigmark = dict()
936933:2006/06/25(日) 10:22:39
934さん、935さんありがとうございました。
うまくいきました。 初めてのプログラム動作で、感動しました。
937デフォルトの名無しさん:2006/06/26(月) 23:06:13
おーい、いつの日にか Visual Studio の IDE で
Python が扱える日が来ますか???
IronPython ってすごいっすね。デモムービー見たけど。
938デフォルトの名無しさん:2006/06/26(月) 23:38:40
VSのβだとPython使えたような
939デフォルトの名無しさん:2006/06/27(火) 10:42:46
ActiveState が出してた Visual Studio .NET 2003
向けの Python プラグインってもうなくなっちゃったんだよね。
940デフォルトの名無しさん:2006/06/27(火) 12:40:30
python で フレームワーク(Trubo Gearsとかweb.py)を使わずにサイトを構築する際、
MVC指向で製造するためのサンプルのようなものがどこかにありませんか?
MySQLdb は使えます。
941デフォルトの名無しさん:2006/06/27(火) 12:45:27
探せ。無ければ自分で作れ。
942デフォルトの名無しさん:2006/06/27(火) 12:57:52
自分の挙げているフレームワークをサンプルにしようという発想はないのか。
943デフォルトの名無しさん:2006/06/27(火) 20:44:12
ないのか。
944デフォルトの名無しさん:2006/06/27(火) 20:56:39
次スレの季節到来
945デフォルトの名無しさん:2006/06/27(火) 21:00:37
今度はマシなスレタイで頼むぞ。
946デフォルトの名無しさん:2006/06/27(火) 21:10:10
このスレ速度では980ぐらいで次スレたてるのが自然な流れかと。
947デフォルトの名無しさん:2006/06/27(火) 22:44:48
Pythonの敗北者でも使える人生のお勉強 Part10
948デフォルトの名無しさん:2006/06/27(火) 22:50:37
【飲尿】マニアにもつかえるPythonのお勉強【食糞】
949デフォルトの名無しさん:2006/06/28(水) 03:10:06

ここ「人生の脱北者」になってるな

ttp://www7a.biglobe.ne.jp/~yasozumi/python/wiki/
950デフォルトの名無しさん:2006/06/28(水) 03:15:33

次スレのテンプレにはこの辺のリンクも載っけて欲しい

http://www.pythonchallenge.com/
951デフォルトの名無しさん:2006/06/28(水) 07:48:33
>>948
そんなのいやだよぅ。
【蛇遣座】あなたの理想に巻きつくPythonのお勉強【金運上昇】
952デフォルトの名無しさん:2006/06/28(水) 14:37:42
>>948
そんな発想ができるあなたは相当なマニアですね。
953デフォルトの名無しさん:2006/06/28(水) 22:03:25
次スレはシンプルにこんなんでどう
Pythonのお勉強 Part10

日本Pythonユーザ会
http://www.python.jp/Zope/
Python オフィシャルサイト
http://www.python.org/
まとめwiki
http://www7a.biglobe.ne.jp/~yasozumi/python/wiki/

前スレ
http://pc8.2ch.net/test/read.cgi/tech/1141964987/
954デフォルトの名無しさん:2006/06/28(水) 22:24:30
+1
シンプルかつ明示的なのがいちばん。
955デフォルトの名無しさん:2006/06/28(水) 23:42:50
本家だけでええやん。
(古い情報ばかりの)日本語サイトが欲しかったら個別にググればええやん。
(本家のWikiとは比較にならない)まとめWikiなんてこのスレで対応すればええやん(人少ないし)。

とてもシンプル。
956デフォルトの名無しさん:2006/06/28(水) 23:43:37
中括弧がなくても使えるpythonのお勉強 Part10

‥‥‥無理あるなやっぱり。

957デフォルトの名無しさん:2006/06/28(水) 23:48:48
pep-3103.txt

スイッチ構文(((;゚Д゚))ガクガクブルブル
958デフォルトの名無しさん:2006/06/29(木) 00:33:10
http://www.python.org/dev/peps/pep-3103/

まだdraftやん。
どうせ採用されない。
959デフォルトの名無しさん:2006/06/29(木) 01:24:54
「人生の敗北者でも使える」って、いいタイトルだと思うけどなあ。
伝統もあるし。
960デフォルトの名無しさん:2006/06/29(木) 01:31:06
>>959
俺のような人生の勝利者を排斥してるようで感じ悪い
961デフォルトの名無しさん:2006/06/29(木) 01:33:56
そろそろみんな
内省的であることと自虐的であることの違いについて
学んだ方がいいと思うぞ
962デフォルトの名無しさん:2006/06/29(木) 01:50:50
伝統は壊すべきだ。
Python2.5でもそう言っている。
963デフォルトの名無しさん:2006/06/29(木) 07:07:01
【敗北者と】Pythonのお勉強 Part10【一緒】
964デフォルトの名無しさん:2006/06/29(木) 07:15:48
人生の敗北者にも Python はほほえんでくれる、
そう思っていた時期が俺にもありました。
965デフォルトの名無しさん:2006/06/29(木) 09:18:31
Pythonのお勉強 Part10
http://pc8.2ch.net/test/read.cgi/tech/1151508809/

もう既に立ってるんだけどな、次スレ。
966デフォルトの名無しさん:2006/06/29(木) 10:00:07
敗北者だからいいんです・・・
取り残されても・・・
967デフォルトの名無しさん:2006/06/29(木) 11:10:32
splitの引数無しの動作がおかしい。
968デフォルトの名無しさん:2006/06/29(木) 11:22:36
おかしいのはお前の目だ。よく見ろ!
969デフォルトの名無しさん:2006/06/29(木) 20:21:02
こっちで言っておこう。次スレ1乙
970デフォルトの名無しさん:2006/06/29(木) 20:35:32
人生の敗北者というキーワードは必須だろ・・・
971デフォルトの名無しさん:2006/06/29(木) 20:53:04
次のスレが埋まりそうになったら好きなスレタイで立てればいいと思うよ
972デフォルトの名無しさん:2006/06/29(木) 21:01:52
新参のニワカには「人生の敗北者」の醸し出す
雰囲気のよさがわからないのだ。
973デフォルトの名無しさん:2006/06/29(木) 21:26:47
はいはい、負け犬負け犬
974デフォルトの名無しさん:2006/06/29(木) 21:43:55
975デフォルトの名無しさん:2006/06/29(木) 22:05:25
976デフォルトの名無しさん:2006/06/30(金) 09:29:20
最近Pythonかじり始めたのですが、win32でActivePython2.4.3使っています。

スクリプトが実行されたときに最前面のウインドウのハンドルを取得したいのですが
あちこちで調べながら、

import win32api
hwnd = win32api.GetForegroundWindow()

と書いてみたのですが、GetForegroundWindow が見つからないと怒られます。
なにかよい解決策はないでしょうか?
977976:2006/06/30(金) 10:36:48
自己解決しました。win32gui に入ってるんですね。
978デフォルトの名無しさん:2006/07/02(日) 13:17:44
>>937
>>938
> おーい、いつの日にか Visual Studio の IDE で
> Python が扱える日が来ますか???
最新のVisual Studio SDKを導入して下さい。
979デフォルトの名無しさん:2006/07/02(日) 22:08:11
>>978
それは無料ですか?
980デフォルトの名無しさん:2006/07/02(日) 22:12:00
>979
いいえ、それはトムです。
981デフォルトの名無しさん:2006/07/03(月) 00:25:16
982デフォルトの名無しさん:2006/07/04(火) 18:41:40
埋め立てたほうが良い?それとも放置したほうが良い?
983デフォルトの名無しさん:2006/07/04(火) 18:43:24
埋め埋め
残っててもしょうがねー
984デフォルトの名無しさん:2006/07/04(火) 19:57:33
pythonとwhitespaceって似てる?



985デフォルトの名無しさん:2006/07/04(火) 22:27:46
ホワイトベースとpythonなら似てる
986デフォルトの名無しさん:2006/07/04(火) 23:34:09
アルテイシア、白蛇を降りろ
987デフォルトの名無しさん:2006/07/04(火) 23:45:55
凹凹凹
988デフォルトの名無しさん:2006/07/05(水) 07:06:00
ξ
989デフォルトの名無しさん:2006/07/05(水) 21:59:30
ζ
990デフォルトの名無しさん:2006/07/05(水) 22:12:18
ω
991デフォルトの名無しさん:2006/07/05(水) 23:20:53
まじめにやれ。
992デフォルトの名無しさん:2006/07/06(木) 00:57:19
#! /usr/bin/env python
# のこり8行でなんか作れ
993デフォルトの名無しさん:2006/07/06(木) 01:26:36
pass
994デフォルトの名無しさん:2006/07/06(木) 02:53:50
Reverse
995デフォルトの名無しさん:2006/07/06(木) 11:08:12
import sys, os, re, time
996デフォルトの名無しさん:2006/07/06(木) 11:27:50
for line in sys.stdin:
997デフォルトの名無しさん:2006/07/06(木) 12:01:26
>>995
import sys
import os
import re
import time
998デフォルトの名無しさん:2006/07/06(木) 13:08:33
それ何てPEP?

999デフォルトの名無しさん:2006/07/06(木) 14:08:38
raise SystemExit
1000デフォルトの名無しさん:2006/07/06(木) 14:20:31
そして2.5へ
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。