Pythonのお勉強 Part 28

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
2デフォルトの名無しさん:2008/08/04(月) 16:51:32
Py乙
3デフォルトの名無しさん:2008/08/04(月) 17:00:55
シーケンスをn個ずつに分割したいんだが
何かいい方法ないかい?

例えば 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' を3個ずつに分解して、
['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQR', 'STU', 'VWX', 'YZ'] のような状態にしたい。
4デフォルトの名無しさん:2008/08/04(月) 17:24:59
str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
print [str[i:i+3] for i in range(0,len(str),3)]

こんなんかなあ。もっと綺麗に書ける方法あるかもしれないけど。
5デフォルトの名無しさん:2008/08/04(月) 17:29:05
xrangeのほうがよかったか。
6デフォルトの名無しさん:2008/08/04(月) 20:12:11
>>2
エロくてエレガントだと思った
7デフォルトの名無しさん:2008/08/04(月) 21:50:41
re.findall(".{1,3}", s)
8デフォルトの名無しさん:2008/08/04(月) 22:40:14
使用環境
Python 2.5.2 (r252:60911, Feb 21 2008, 13:17:27) [MSC v.1400 64 bit (AMD64)] on win32
です。

start_new_threadで呼び出した関数の中で
print 使うとエラーで落ちます。
print はスレッドセーフではないという認識でOK?
9デフォルトの名無しさん:2008/08/05(火) 00:24:03
pythonってヒアドキュメント構文ないの?
10デフォルトの名無しさん:2008/08/05(火) 00:56:42
11デフォルトの名無しさん:2008/08/05(火) 01:37:42
やっぱり、ただの文字列リテラルしかないのね。残念。
123:2008/08/05(火) 01:42:28
>>4
やっぱり、それしかないのかな

>>7
それだと文字列には通用するのだが
リストやタプルのようなシーケンスには使えないのよ
13デフォルトの名無しさん:2008/08/05(火) 04:59:25
slice オブジェクト使えばできるかなとか思ったけど

class A:
 def __init__(self,L):
  self.value=L
 def __slice__(self,a,b):
  return self.value[slice(a,b)]

a=A([1,2,3,(4,5),(6,7),8])
print a[0,3]

行 35 : 'instance' object has no attribute '__getitem__'
じぶんには無理でした(爆)
14デフォルトの名無しさん:2008/08/05(火) 05:21:23
class A:
 def __init__(self,L):
  self.value=L
 def __getitem__(self,i):
  return self.value[slice(i,i+3)]
 def sl(self,a,b):
  return self.value[slice(a,b)]

a=A([1,2,3,(4,5),(6,7),8])
print a[3] # implicit
print a.sl(3,6) # explicit

下の方がいくらかマシな気がするけど
取ってつけた感が否めない・・・
15デフォルトの名無しさん:2008/08/05(火) 05:27:10
class A:
 def __init__(self,L):
  self.value=L
 def __getslice__(self,a,b):
  return self.value[slice(a,b)]
 
a=A([1,2,3,(4,5),(6,7),8])
print a[0:3]

a[0] -> __getitem__(self,i) | a[0:3] -> __getslice__(self,a,b)
…orz
16デフォルトの名無しさん:2008/08/05(火) 05:33:31
import sys
help(sys.path)
17デフォルトの名無しさん:2008/08/05(火) 09:39:35
スレ住民全員一致のPython本のバイブル
困った時にはこの本を注文しよう。

http://www.amazon.co.jp/dp/4839922829/
18デフォルトの名無しさん:2008/08/05(火) 10:09:02
>>17
そのURLだとアフィリエイトが無効になってるから
貼り直した方がいいよ。
19デフォルトの名無しさん:2008/08/05(火) 10:18:32
アフィに金取られるな
20デフォルトの名無しさん:2008/08/05(火) 10:19:24
金はとられないがな
21デフォルトの名無しさん:2008/08/05(火) 10:23:34
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
22あぼーん:あぼーん
あぼーん
23あぼーん:あぼーん
あぼーん
24あぼーん:あぼーん
あぼーん
25あぼーん:あぼーん
あぼーん
26あぼーん:あぼーん
あぼーん
27あぼーん:あぼーん
あぼーん
28あぼーん:あぼーん
あぼーん
29あぼーん:あぼーん
あぼーん
30あぼーん:あぼーん
あぼーん
31あぼーん:あぼーん
あぼーん
32あぼーん:あぼーん
あぼーん
33あぼーん:あぼーん
あぼーん
34あぼーん:あぼーん
あぼーん
35あぼーん:あぼーん
あぼーん
36あぼーん:あぼーん
あぼーん
37あぼーん:あぼーん
あぼーん
38あぼーん:あぼーん
あぼーん
39あぼーん:あぼーん
あぼーん
40あぼーん:あぼーん
あぼーん
41あぼーん:あぼーん
あぼーん
42あぼーん:あぼーん
あぼーん
43あぼーん:あぼーん
あぼーん
44あぼーん:あぼーん
あぼーん
45あぼーん:あぼーん
あぼーん
46あぼーん:あぼーん
あぼーん
47あぼーん:あぼーん
あぼーん
48あぼーん:あぼーん
あぼーん
49あぼーん:あぼーん
あぼーん
50あぼーん:あぼーん
あぼーん
51あぼーん:あぼーん
あぼーん
52あぼーん:あぼーん
あぼーん
53あぼーん:あぼーん
あぼーん
54あぼーん:あぼーん
あぼーん
55あぼーん:あぼーん
あぼーん
56あぼーん:あぼーん
あぼーん
57あぼーん:あぼーん
あぼーん
58あぼーん:あぼーん
あぼーん
59あぼーん:あぼーん
あぼーん
60あぼーん:あぼーん
あぼーん
61あぼーん:あぼーん
あぼーん
62あぼーん:あぼーん
あぼーん
63あぼーん:あぼーん
あぼーん
64あぼーん:あぼーん
あぼーん
65あぼーん:あぼーん
あぼーん
66あぼーん:あぼーん
あぼーん
67あぼーん:あぼーん
あぼーん
68あぼーん:あぼーん
あぼーん
69あぼーん:あぼーん
あぼーん
70あぼーん:あぼーん
あぼーん
71あぼーん:あぼーん
あぼーん
72あぼーん:あぼーん
あぼーん
73あぼーん:あぼーん
あぼーん
74あぼーん:あぼーん
あぼーん
75あぼーん:あぼーん
あぼーん
76あぼーん:あぼーん
あぼーん
77あぼーん:あぼーん
あぼーん
78あぼーん:あぼーん
あぼーん
79あぼーん:あぼーん
あぼーん
80あぼーん:あぼーん
あぼーん
81あぼーん:あぼーん
あぼーん
82あぼーん:あぼーん
あぼーん
83あぼーん:あぼーん
あぼーん
84あぼーん:あぼーん
あぼーん
85あぼーん:あぼーん
あぼーん
86あぼーん:あぼーん
あぼーん
87あぼーん:あぼーん
あぼーん
88あぼーん:あぼーん
あぼーん
89あぼーん:あぼーん
あぼーん
90あぼーん:あぼーん
あぼーん
91あぼーん:あぼーん
あぼーん
92あぼーん:あぼーん
あぼーん
93あぼーん:あぼーん
あぼーん
94あぼーん:あぼーん
あぼーん
95あぼーん:あぼーん
あぼーん
96あぼーん:あぼーん
あぼーん
97あぼーん:あぼーん
あぼーん
98あぼーん:あぼーん
あぼーん
99あぼーん:あぼーん
あぼーん
100あぼーん:あぼーん
あぼーん
101あぼーん:あぼーん
あぼーん
102あぼーん:あぼーん
あぼーん
103デフォルトの名無しさん:2008/08/05(火) 10:33:41
Pythonに親でも殺されたのか?
104あぼーん:あぼーん
あぼーん
105あぼーん:あぼーん
あぼーん
106あぼーん:あぼーん
あぼーん
107あぼーん:あぼーん
あぼーん
108あぼーん:あぼーん
あぼーん
109あぼーん:あぼーん
あぼーん
110あぼーん:あぼーん
あぼーん
111あぼーん:あぼーん
あぼーん
112あぼーん:あぼーん
あぼーん
113あぼーん:あぼーん
あぼーん
114あぼーん:あぼーん
あぼーん
115あぼーん:あぼーん
あぼーん
116あぼーん:あぼーん
あぼーん
117あぼーん:あぼーん
あぼーん
118あぼーん:あぼーん
あぼーん
119あぼーん:あぼーん
あぼーん
120あぼーん:あぼーん
あぼーん
121あぼーん:あぼーん
あぼーん
122あぼーん:あぼーん
あぼーん
123あぼーん:あぼーん
あぼーん
124あぼーん:あぼーん
あぼーん
125あぼーん:あぼーん
あぼーん
126あぼーん:あぼーん
あぼーん
127あぼーん:あぼーん
あぼーん
128あぼーん:あぼーん
あぼーん
129あぼーん:あぼーん
あぼーん
130あぼーん:あぼーん
あぼーん
131あぼーん:あぼーん
あぼーん
132あぼーん:あぼーん
あぼーん
133あぼーん:あぼーん
あぼーん
134あぼーん:あぼーん
あぼーん
135あぼーん:あぼーん
あぼーん
136あぼーん:あぼーん
あぼーん
137あぼーん:あぼーん
あぼーん
138あぼーん:あぼーん
あぼーん
139あぼーん:あぼーん
あぼーん
140あぼーん:あぼーん
あぼーん
141あぼーん:あぼーん
あぼーん
142あぼーん:あぼーん
あぼーん
143あぼーん:あぼーん
あぼーん
144あぼーん:あぼーん
あぼーん
145あぼーん:あぼーん
あぼーん
146あぼーん:あぼーん
あぼーん
147あぼーん:あぼーん
あぼーん
148あぼーん:あぼーん
あぼーん
149あぼーん:あぼーん
あぼーん
150あぼーん:あぼーん
あぼーん
151あぼーん:あぼーん
あぼーん
152あぼーん:あぼーん
あぼーん
153あぼーん:あぼーん
あぼーん
154あぼーん:あぼーん
あぼーん
155あぼーん:あぼーん
あぼーん
156あぼーん:あぼーん
あぼーん
157あぼーん:あぼーん
あぼーん
158あぼーん:あぼーん
あぼーん
159あぼーん:あぼーん
あぼーん
160あぼーん:あぼーん
あぼーん
161あぼーん:あぼーん
あぼーん
162あぼーん:あぼーん
あぼーん
163あぼーん:あぼーん
あぼーん
164あぼーん:あぼーん
あぼーん
165あぼーん:あぼーん
あぼーん
166あぼーん:あぼーん
あぼーん
167あぼーん:あぼーん
あぼーん
168あぼーん:あぼーん
あぼーん
169あぼーん:あぼーん
あぼーん
170あぼーん:あぼーん
あぼーん
171あぼーん:あぼーん
あぼーん
172あぼーん:あぼーん
あぼーん
173あぼーん:あぼーん
あぼーん
174あぼーん:あぼーん
あぼーん
175あぼーん:あぼーん
あぼーん
176あぼーん:あぼーん
あぼーん
177あぼーん:あぼーん
あぼーん
178あぼーん:あぼーん
あぼーん
179あぼーん:あぼーん
あぼーん
180あぼーん:あぼーん
あぼーん
181あぼーん:あぼーん
あぼーん
182あぼーん:あぼーん
あぼーん
183あぼーん:あぼーん
あぼーん
184あぼーん:あぼーん
あぼーん
185あぼーん:あぼーん
あぼーん
186あぼーん:あぼーん
あぼーん
187あぼーん:あぼーん
あぼーん
188あぼーん:あぼーん
あぼーん
189あぼーん:あぼーん
あぼーん
190あぼーん:あぼーん
あぼーん
191あぼーん:あぼーん
あぼーん
192あぼーん:あぼーん
あぼーん
193あぼーん:あぼーん
あぼーん
194あぼーん:あぼーん
あぼーん
195あぼーん:あぼーん
あぼーん
196あぼーん:あぼーん
あぼーん
197あぼーん:あぼーん
あぼーん
198あぼーん:あぼーん
あぼーん
199あぼーん:あぼーん
あぼーん
200あぼーん:あぼーん
あぼーん
201あぼーん:あぼーん
あぼーん
202あぼーん:あぼーん
あぼーん
203あぼーん:あぼーん
あぼーん
204あぼーん:あぼーん
あぼーん
205あぼーん:あぼーん
あぼーん
206あぼーん:あぼーん
あぼーん
207あぼーん:あぼーん
あぼーん
208あぼーん:あぼーん
あぼーん
209あぼーん:あぼーん
あぼーん
210あぼーん:あぼーん
あぼーん
211デフォルトの名無しさん:2008/08/05(火) 15:36:59
夏休みらしくなってきたな
212デフォルトの名無しさん:2008/08/05(火) 17:49:49
出てくるものがちょっと違うけど。
s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
t = list(s) + [ None ] * (3 - 1)
print zip(*[t[i::3] for i in xrange(3)])
213デフォルトの名無しさん:2008/08/05(火) 20:18:20
何で荒らされてるん?
214デフォルトの名無しさん:2008/08/05(火) 20:20:21
野良p2じゃね?
215デフォルトの名無しさん:2008/08/05(火) 21:53:13
>>17
もう五冊は注文してます
216デフォルトの名無しさん:2008/08/05(火) 21:54:36
>>215
神!
217デフォルトの名無しさん:2008/08/05(火) 22:12:03
imprt
218デフォルトの名無しさん:2008/08/05(火) 22:51:50
レス番が一気に飛んでると思ったら荒されてんのか
ひょっとして前スレからか 全然気付かなかった
219デフォルトの名無しさん:2008/08/06(水) 12:32:38
昨日の昼頃からかな?
書き込もうと思ったら大量に・・・。
お陰で書き込めなかったよorz
220デフォルトの名無しさん:2008/08/06(水) 12:51:07
60 :デフォルトの名無しさん [] :2008/08/05(火) 15:12:42
Pythonスレの荒らし、俺の予想
2007年 6月 2ちゃんねるを本格的に始める
     6月 過去ログが見れないことに腹を立て●を購入
     12月 VIP初体験
2008年 8月3日 IDが簡単に変更できることを知る
      同日 東方シリーズ総合スレッドを荒らす
8月4日 マクロを使って本格的に荒らす
  現在 ム板で個人的に気に入らないPythonをスレを潰しにかかる
221デフォルトの名無しさん:2008/08/06(水) 14:29:08
>>214
いや、お試し●ってやつだろ。
詳しくは知らんが。
222デフォルトの名無しさん:2008/08/06(水) 16:41:56
Xrea.comでPythonCGI書いてる人いない?
.htaccessに何書いたらうごくのかさっぱりわかんないんだよ。
phpから軸足移そうとしてるんだけれど、とっかかりで躓いていますorz
223222:2008/08/06(水) 17:20:28
自己レス。
.htaccessに
AddHandler cgi-script-debug .py
これ書いてたから変なの出てただけでした。
HTML出力するまではやれました。
加えてwebprog板に書くべきでした。ほんとごめんなさい。
224デフォルトの名無しさん:2008/08/06(水) 18:21:46
xreaの自動挿入広告は<body>タグに反応するから、cgitbの出力が
広告だらけになるね。
cgitbはなんで<body>を複数出力するんだろ?
225デフォルトの名無しさん:2008/08/06(水) 19:39:05
>print zip(*[t[i::3] for i in xrange(3)])
これって、いったん[t[i::3] for i in xrange(3)]ができる時点で、
必要なデータを丸ごとメモリ上に展開するので、あまり
コンピュータにやさしくない書き方だと思う。
多少添え字確認するのがめんどくさくても、>>4みたいに書いた方がいいと思う。
226デフォルトの名無しさん:2008/08/06(水) 20:36:26
>データを丸ごとメモリ上に展開
listは参照の配列だからメモリ的には大したことないと思う
227デフォルトの名無しさん:2008/08/06(水) 20:40:07
短いとはいえないが。

import itertools

s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

def f():
    it = iter(s)
    while 1:
        a = "".join(itertools.islice(it, 3))
        if not a:
            break
        yield a

print list(f())
228デフォルトの名無しさん:2008/08/06(水) 20:42:29
sに改行とか混じると動かない可能性大。

import re
s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
print re.findall('..?.?', s)

229デフォルトの名無しさん:2008/08/06(水) 20:48:48
re.DOTALL
230デフォルトの名無しさん:2008/08/06(水) 21:23:32
君たちPart29には焼く移動しないとこのスレ埋まるよ
231デフォルトの名無しさん:2008/08/06(水) 21:47:34
>>224
HTMLコメントで本文がかき消されないようにするためだと思う。
あれなら、ソースの最後にプレーンテキストなtracebackが付いてる。
232デフォルトの名無しさん:2008/08/07(木) 00:02:01
シーケンスっつっても文字列じゃメモリ気にする意味があんまり無いような。
ストーリームじゃないんだから。

メモリが気になるようなシーケンスが対象に出てきたら、
なんか根本的なとこが間違ってる気がする。
233デフォルトの名無しさん:2008/08/07(木) 14:44:39
TwitterNotifierを動かしたくてMacPortsでpy25-gtkやら何やら入れて、
>>> import gtk
すると「Bus error」と出てPythonが強制終了してしまいます・・・
このエラーの考えられる原因や対処方法があれば教えて頂けませんか?
234デフォルトの名無しさん:2008/08/07(木) 14:57:05
向こうが本刷れでいいん?
235デフォルトの名無しさん:2008/08/07(木) 15:27:31
>>231
単に自分が出力したものと
cgitbが出力したもので2つあるだけじゃね?
stdoutはシークできないからな
236デフォルトの名無しさん:2008/08/07(木) 15:50:35
>>227
そうかitertoolsにそんな関数もあったんですね。
参考になりました。
237デフォルトの名無しさん:2008/08/07(木) 17:10:17
>>> class A:
... def __init__(self,value):
... self.z = value

>>> class B(object):
... def __init__(self,value):
... self.z = value

>>> object
<type 'object'>
>>> type(A)
<type 'classobj'>
>>> type(B)
<type 'type'>

object を継承すると「型」になって、何も継承しないときは「classobj」になるのは何故ですか?
二つともclassキーワードで作成してるから、classobjになる
のが自然なような気がする今日この頃
238デフォルトの名無しさん:2008/08/07(木) 17:17:39
239デフォルトの名無しさん:2008/08/07(木) 23:06:26
islice ってたぶん

def islice(gen, n):
  def wrap(n):
    i=0
    while i<n:
      yield gen.next()
      i += 1
  return wrap(n)

だけのことっぽい、
240デフォルトの名無しさん:2008/08/07(木) 23:07:17
>>237
3.0 で classic class の方は無くなるから、悩まなくてよくなる
241デフォルトの名無しさん:2008/08/07(木) 23:14:52
242デフォルトの名無しさん:2008/08/07(木) 23:28:58
全然多機能だった・・・orz
243デフォルトの名無しさん:2008/08/07(木) 23:58:47
(defun hello-world () (format t "Hello, World"))
打ってもエラーでます。何ゆえ?
244デフォルトの名無しさん:2008/08/08(金) 00:12:00
PythonはLispではないからです
245デフォルトの名無しさん:2008/08/08(金) 00:15:13
誰かくだすれ立ててくださいな。俺の環境では立てられんかった。

くだすれPython(超初心者用) その2

このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、
お礼は Python の布教と初心者の救済をお願いします。

前スレ
くだすれPython(超初心者用)
http://pc11.2ch.net/test/read.cgi/tech/1207878910/

関連スレ
Pythonのお勉強 Part 28
http://pc11.2ch.net/test/read.cgi/tech/1217836194/
246デフォルトの名無しさん:2008/08/08(金) 02:11:18
247デフォルトの名無しさん:2008/08/08(金) 09:23:50
荒らしが立てたかな?
248デフォルトの名無しさん:2008/08/08(金) 09:25:47
249デフォルトの名無しさん:2008/08/08(金) 12:18:34
>>248
ありがとう!
250デフォルトの名無しさん:2008/08/09(土) 19:41:05
遅延評価ってこれであってる?
def delay(func):
def decorator(*args,**kw):
class Delay:
def __init__(self):
self.thunk = None
def __getattr__(self,name):
print "called"
if not self.thunk:
self.thunk = func(*args,**kw)
return getattr(self.thunk,name)
return Delay()
return decorator
251デフォルトの名無しさん:2008/08/09(土) 19:43:22
しまった、スペース変換するのを忘れてた
def delay(func):
  def decorator(*args,**kw):
    class Delay:
      def __init__(self):
        self.thunk = None
    def __getattr__(self,name):
        print "called"
        if not self.thunk:
          self.thunk = func(*args,**kw)
          return getattr(self.thunk,name)
    return Delay()
  return decorator
252デフォルトの名無しさん:2008/08/09(土) 19:44:06
んで、テスト
dmap = delay(map)

def trace(x):
  print x
  return x

first = lambda x,y:x

>>> first("Hello,World!",map(trace,range(10)))
0
1
2
3
4
5
6
7
8
9
'Hello,World!'
>>> first("Hello,World!",dmap(trace,range(10)))
'Hello,World!'
253デフォルトの名無しさん:2008/08/09(土) 20:18:58
ごめ、間違いだったくさい。
無視して
254デフォルトの名無しさん:2008/08/10(日) 11:23:34
標準モジュールをちょっと拡張したくて、
はじめて継承ってやつを使おうと思って
以下のようにしたがエラーが出る。
なんか間違ってる?

>>> import shutil
>>> class testsh(shutil):
...   def test():
...     pass
...
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)

255デフォルトの名無しさん:2008/08/10(日) 12:31:42
>>254
「モジュール」を「継承」して「クラス」を作ろうとしてるの?
モジュールとクラスは別のもので、shutilはモジュールなんだけど、
自分がやりたいことはわかってる?
256デフォルトの名無しさん:2008/08/10(日) 16:25:02
ボンジュール
257デフォルトの名無しさん:2008/08/10(日) 16:35:56
ああじゃあ質問をもう少し広くして、

標準モジュールで提供される関数を
差し替えたい。どういう方法がある?
258デフォルトの名無しさん:2008/08/10(日) 18:05:12
マドモアゼール
259デフォルトの名無しさん:2008/08/10(日) 18:29:21
>>257
import os
os.walk = lambda x: x
os.walk('.')
とかやってみたら?

でも
__builtins__.len = lambda x: x
とかやると、ぱいそんが発狂するのでやめたほうがいいです
260デフォルトの名無しさん:2008/08/10(日) 18:49:06
「おっぱい発狂」まで読んだ
261デフォルトの名無しさん:2008/08/10(日) 19:59:45
>標準モジュールで提供される関数を
>差し替えたい。
ソースコードいじるしかないだろうけど、
そういう使い方は標準では用意されてない。
262デフォルトの名無しさん:2008/08/10(日) 20:12:55
新しい定義をバインドするだけじゃね
263デフォルトの名無しさん:2008/08/10(日) 20:20:42
from hage import hige してるのが面倒なんだよなとか思ったけど
それならソース書き換えるかそのモジュールの名前空間を上書きすればいいだけか
264デフォルトの名無しさん:2008/08/10(日) 20:39:59
>from hage import hige してるのが面倒なんだよなとか思ったけど
それが面倒というのがよく分からない。
標準モジュールの関数とかって、他のモジュールが依存してる
ものとかもあるだろうし、あんまり動作を変えない方がいいと思う
265デフォルトの名無しさん:2008/08/12(火) 15:45:38
http://qb5.2ch.net/test/read.cgi/sec2chd/1218011484/
キタ━━━━━(゚∀゚)━━━━━!!!!
266デフォルトの名無しさん:2008/08/12(火) 23:13:33
そういうのは静かにやってくれ
267デフォルトの名無しさん:2008/08/13(水) 06:15:41
268デフォルトの名無しさん:2008/08/14(木) 22:08:13
wxpythonって何で命名規則をpythonに合わせてないの
それだけで使う気しねえんだけど
269デフォルトの名無しさん:2008/08/14(木) 22:28:27
名前変えたら整合性のチェックが大変だからだろ
270デフォルトの名無しさん:2008/08/14(木) 22:42:52
PythonにあわせたらwxWidgetsに慣れてる人から苦情が来る
271デフォルトの名無しさん:2008/08/15(金) 09:52:20
pygameのドキュメント和訳作業さっさとやれ屑共
272デフォルトの名無しさん:2008/08/15(金) 10:09:16
>>271
お前はCROWN音読してろ
273デフォルトの名無しさん:2008/08/15(金) 12:17:32
http://www.atmarkit.co.jp/fcoding/articles/zope3/01/zope301b.html
またpython関連のわけがわからない記事を書くやつがあらわれたなwww
274デフォルトの名無しさん:2008/08/15(金) 12:30:38
「何ぞや?」が馬鹿っぽい
275デフォルトの名無しさん:2008/08/16(土) 00:24:20
名ばかりのコミッターより1000000000倍マシ
276デフォルトの名無しさん:2008/08/17(日) 01:52:53
いつも思うんだけど、もう 2.5 のドキュメント日本語訳プロジェクトは破棄して、
2.6 の翻訳にとりかかるべきじゃないか?
277デフォルトの名無しさん:2008/08/17(日) 08:49:56
>>273
Zope 3の記事を見て悔しがる奴なんて日本に二人くらいしかいないよな(ww
278デフォルトの名無しさん:2008/08/17(日) 13:35:13
ネットで匿名で文句たれてる奴は負け組とか呼ばれるらしいよね
秋葉で事件起こした彼が最近の代表例らしいけど
279デフォルトの名無しさん:2008/08/17(日) 13:36:45
論理的思考力の欠落というやつですね、わかります
280デフォルトの名無しさん:2008/08/17(日) 13:43:33
家族を悲しませるようなことをしてはいけませんよ!
281デフォルトの名無しさん:2008/08/17(日) 22:09:31
 File "d:accum.py", line 34
  self.x += self.fun(x) if self.fun else x
             ^
SyntaxError: invalid syntax

はじめてのpythonネットワークプログラミングにのってたやつ。
何でエラー?
282デフォルトの名無しさん:2008/08/17(日) 22:23:09
クソ本だからだろ(ww
まあ念のためコード動かしてるPythonのバージョンを調べてみろや
283デフォルトの名無しさん:2008/08/17(日) 22:25:00
2.5より古いバージョン使ってるとか?
284デフォルトの名無しさん:2008/08/18(月) 12:27:36
CとかC++とかJavaとかで躓いてPythonに流れ着いた訳なんですが、Pythonって凄いですね!プロンプトからコードが書けるなんて!!
285デフォルトの名無しさん:2008/08/18(月) 13:17:03
いやまあなんつうか、インタプリタってのはそういうもんだ
286デフォルトの名無しさん:2008/08/18(月) 13:29:28
つまずいた理由がよくわかる本当に秀逸なレスだと思う。
287デフォルトの名無しさん:2008/08/18(月) 14:27:24
284はネタだろ、
ネタだよな、
ネタだと言ってくれ!!!
288デフォルトの名無しさん:2008/08/18(月) 14:53:58
こんな多様な時代だもん、ふつうにありえるだろ
289デフォルトの名無しさん:2008/08/18(月) 15:34:24
Pythonを知ってしまったら他ので仕事できなくなるよ
290デフォルトの名無しさん:2008/08/18(月) 15:42:50
CはおろかJAVAでつまずくようなヤツが
他の言語を扱えるようになるとは到底思えない。
291デフォルトの名無しさん:2008/08/18(月) 15:48:15
趣味プログラマなんだろうしほっとけよ
292デフォルトの名無しさん:2008/08/18(月) 16:51:25
>>290
javaは、java言語自体ではつまずかないかもしれないけど
これでWebアプリケーションを作ろうと思ったら
乱立するフレームワークの前に何やっていいのかわからなくなって
途方にくれると思う。

というか、途方にくれた。
293デフォルトの名無しさん:2008/08/18(月) 16:53:47
>>292
そういうつまづきかたをするなら
べつにpythonでもかわらないんじゃないのかな

まあでも、むかしならBASICあたりでプログラミングをはじめるのが
ふつうだったわけで
いきなりCやJavaは、やっぱり敷居が高いんだとおもうよ
294デフォルトの名無しさん:2008/08/18(月) 17:38:08
ごめんなさい・・・・・・
295デフォルトの名無しさん:2008/08/18(月) 18:40:45
ところで今どきJAVAって携帯ぐらいにしか需要ないんじゃないの。
296デフォルトの名無しさん:2008/08/18(月) 18:52:24
>>295
あれほどライブラリが充実している言語は他にないし
底辺でもある程度コード品質が保てることもあって
ITドカタご用達です。
297デフォルトの名無しさん:2008/08/18(月) 18:56:02
そうなんだ。朽ちてるわけでもないんだね。
298デフォルトの名無しさん:2008/08/18(月) 22:47:18
Python使ってもドカタ体質な奴はドカタっぽい仕事してると思うけどな。
通り魔とかやらかさないで欲しいと思うわ。
299デフォルトの名無しさん:2008/08/18(月) 22:53:02
書き込みテスト
300デフォルトの名無しさん:2008/08/18(月) 22:53:46
通り魔する気力があったら仕事しろと。
301デフォルトの名無しさん:2008/08/18(月) 22:57:15
底辺はJava使っても糞コードしか書けないから底辺なんだ
演算結果を引数のCollectionに突っ込んで戻り値はintの終了コード
変数名はシステムハンガリアン
例外もGenericsも使えない


俺は会社を辞めるぞジョジョォォッ!
302デフォルトの名無しさん:2008/08/19(火) 00:05:12
>>301
>俺は会社を辞めるぞジョジョォォッ!

そして社会の底辺まっしぐら?
ドカタ以下じゃん(ww
303デフォルトの名無しさん:2008/08/19(火) 08:14:22
底辺の気に障っちゃったみたいだな
内定無いのに辞めるとか言わないだろ
304デフォルトの名無しさん:2008/08/19(火) 08:49:15
301はスキル以前にパーソナリティに問題があって底辺なんだとオモタ。
305デフォルトの名無しさん:2008/08/19(火) 18:49:40
なぜか>>301=298の流れになっているような気が
自虐をさらに叩かれて>>301カワイソスw
306デフォルトの名無しさん:2008/08/19(火) 22:43:51
性格悪いの多そうだねこのスレ。
この板自体がそうか。
307デフォルトの名無しさん:2008/08/19(火) 22:56:42
性格のいい奴は別のコミュニティに移ってるだろ
ttp://news4vip.livedoor.biz/archives/51197163.html
308デフォルトの名無しさん:2008/08/20(水) 11:29:02
変数のスコープ(?)について質問です。

x = 10
def fun1()
   return x*2
print fun1()
-----
出力結果:
20

ですが

x = 10
def fun1()
   x = x*2
   return x
print fun1()

のように関数fun1()内でxへ代入しようとするとエラーになります。
「グローバス変数xは関数内で参照することはできるけど、値を変更する事はできない。」
って事でしょうか??
309デフォルトの名無しさん:2008/08/20(水) 11:30:44
x = 10
def fun():
    global x
    x = x * 2
    return x
print fun()
310デフォルトの名無しさん:2008/08/20(水) 11:47:47
>>298
通り魔のマスコミ発表そのまま信じてる奴なんかいるのか?
そもそもトヨタ系派遣会社の問題なんてマスコミ報道するわけないから
適当な犯行理由でっちあげて報道するだけだろ
311デフォルトの名無しさん:2008/08/20(水) 11:49:34
板違いの話題を蒸し返すな
312308:2008/08/20(水) 11:57:37
globalってのあったんですね。ありがとうございます。

ただなんで前者はOKで後者がエラーなのか、理解したいのですが、
"そういう仕様だから"的な感じで思っておいてよいでしょうか??
313デフォルトの名無しさん:2008/08/20(水) 12:03:07
x への代入文があるので、Pythonはxがローカル変数なんだと考える。
x = x * 2 の右辺のxは(ローカル変数としては)未定義なので、エラー。
314デフォルトの名無しさん:2008/08/20(水) 12:04:01
>>312
前者はグローバル変数を変更してないが
315デフォルトの名無しさん:2008/08/20(水) 12:08:33
そもそもエラーメッセージを見ればわかると思うが
316デフォルトの名無しさん:2008/08/20(水) 12:10:00
>>312
> "そういう仕様だから"的な感じで思っておいてよいでしょうか??
まあそうだね

pythonではローカル変数を定義/宣言するための
varだのmyだのいう特別な構文はもたない
ローカルに無い名前への代入によってローカル変数が導入されるって仕組みだから、
global変数に代入したい時はちゃんと書かないと区別できない

同様に、C++/Javaみたいなクラススコープも存在しないから、インスタンス変数に
アクセスするときには常にselfと書く必要がある
こっちは代入だけでなくて、参照するときも、そう

もっと学習がすすめば、ネストした関数(クロージャ)で、もう一度そのことに
気づくと思う
317デフォルトの名無しさん:2008/08/20(水) 12:11:04
関数の中でグローバルスコープにある変数を使おうとしない方がいいよ。
318デフォルトの名無しさん:2008/08/20(水) 12:12:19
>>298-300
で板違いの話をはじめてるが、あえて反論されるタイミングで
「板違い」を言い始めるか。反論されるのいやなら他のスレで話題振れよ
319デフォルトの名無しさん:2008/08/20(水) 12:24:58
訳:かまってほしいな
320デフォルトの名無しさん:2008/08/20(水) 12:38:41
>>318
「話題のスコープが違います」
321デフォルトの名無しさん:2008/08/20(水) 13:44:28
それぐらいかまってほしかったってのが本音
322デフォルトの名無しさん:2008/08/20(水) 15:04:22
>>320
->
>>319-321
>>298-300

ところで別スレで放置されてるこの話題は誰もレスしないの?

16 名前:デフォルトの名無しさん 投稿日:2008/08/14(木) 12:50:18
Pure Pythonなコードをdll exportするようなモジュールってある?
ctypesの逆をやりたい
323デフォルトの名無しさん:2008/08/20(水) 15:26:31
別スレの話題をこっちでやる必要はあるのか?
324デフォルトの名無しさん:2008/08/20(水) 15:35:21
>>322
「パッケージが違います」
325デフォルトの名無しさん:2008/08/20(水) 16:34:17
>>322
それ書いたの俺
要するにPythonでdll作りたいってことで何がどの程度馬鹿げているかは承知してる

dll injectionの延長でエクスポートテーブル生成すればどうにかなりそうとか
呼び出し規約が複数あるけどstdcallだけでいいかなとか
そのくらい調べたところで今回やろうとすることにネイティブコードは必要ないことに気づいた
326デフォルトの名無しさん:2008/08/20(水) 22:38:37
PIL使ってみてんだけどさ、
これで画像を結合させるってのは
どうやればいいんだろ?

画像サイズが不定なので、都度サイズとって
適当に二つのサイズを合わせるとこまではできたんだけど、
それをくっつけるにはどうしたらいいのかな?

いまは二つの画像のサイズの結合ずみのサイズの
Imageオブジェクト新しく作って、pasteがガンガン貼っていく
やり方をしてるんだけど、もっといい方法があるような気がして。
327デフォルトの名無しさん:2008/08/20(水) 23:07:47
>>326
新規Imageオブジェクトに貼り付けていく方法で良さそうに思う
cropはあるけどキャンバスサイズの拡大(画像の拡大ではなく)はなさそう
328318:2008/08/21(木) 07:42:19
ありがとうございます。めっちゃ参考になります。
その後も調べてたらチュートリアルに下記の記述がありました。

>関数を 実行 (execution) すると、関数のローカル変数のために使われる新たなシンボルテーブル (symbol table) が取り込まれます。
>もっと正確にいうと、関数内で変数への代入を行うと、その値はすべてこのローカルなシンボルテーブルに記憶されます;
>一方、変数の参照を行うと、まずローカルなシンボルテーブルが検索され、その後グローバルなシンボルテーブルを調べ、
>最後に組み込みの名前テーブルを調べます。
>従って、関数の中では、グローバルな変数を参照することはできますが、直接値を代入することは (global 文で名前を挙げておかない限り) できません。

ttp://www.python.jp/doc/release/tut/node6.html

チュートリアルは始めに目を通しておくべきした。。( ;´Д`)スミマセン

329デフォルトの名無しさん:2008/08/22(金) 13:02:09
>>326
http://jp.rubyist.net/magazine/?0019-cairo
http://plone.org/products/chimera
http://www.ibm.com/developerworks/jp/linux/library/l-cairo/index.html
http://d.hatena.ne.jp/moriyoshi/20070528/1180339096

PIL以外だと、画像加工ライブラリの解説が
すくないことに気づいてびっくりする僕でした。ごはんごはん
330デフォルトの名無しさん:2008/08/22(金) 15:05:39
pythonでDB扱うとき、デッドロックとかでコミットに失敗した時にどうやって検知すればいいのでしょうか?
331デフォルトの名無しさん:2008/08/22(金) 17:30:15
ヤフオクのmystatusを取り込みたいけどうまくいかね〜〜〜〜〜
どっかにサンプルありませんか?
332デフォルトの名無しさん:2008/08/22(金) 18:35:26
psp3000ってpython3000のパクリですか?
333デフォルトの名無しさん:2008/08/22(金) 19:06:47
昔SimCity3000というゲームがあってな
334デフォルトの名無しさん:2008/08/22(金) 19:07:03
そうだね、プロテインだね。
335デフォルトの名無しさん:2008/08/23(土) 00:00:56
a=(2,5,10)
for x in a:
print x

>for x in a:
がどういう意味を持っているのかわかりません。解説サイトに説明が書かれていないので
どなたかこれの意図を翻訳していただけませんか。
336デフォルトの名無しさん:2008/08/23(土) 00:10:58
337デフォルトの名無しさん:2008/08/23(土) 00:15:45
有難うございます。とりあえず頑張ってみます。
338デフォルトの名無しさん:2008/08/23(土) 00:46:58
339デフォルトの名無しさん:2008/08/23(土) 08:36:00
PythonのUnicodeEncodeErrorを知る
http://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html

よくまとまってた。あとで読む
340デフォルトの名無しさん:2008/08/23(土) 19:25:32
>>330
DBによる
341デフォルトの名無しさん:2008/08/23(土) 23:11:00
もっとまともな答えをください
342330:2008/08/23(土) 23:27:09
事故解決しました
343330:2008/08/24(日) 00:10:46
自己解決していません。私はまだ解決していません。
344デフォルトの名無しさん:2008/08/24(日) 00:15:52
まともな答えを得るにはまともな質問がいる
345デフォルトの名無しさん:2008/08/24(日) 01:40:04
検知できなくて困ってるコードは?
346330:2008/08/24(日) 08:16:01
私のレス番を騙る人がいるようですが、一体なにがしたいのでしょう。

使っているのはpsycopg2です。
マルチスレッドで使っていて、行ロックでデッドロックの可能性があります。
PostgreSQLはデッドロックを検知したらトランザクションをアボートさせますが、
Python側ではそれをどうやって知ることができるのでしょうか?
例外が発生するのでしょうか、それともcommit()の返り値でしょうか?
347デフォルトの名無しさん:2008/08/24(日) 10:06:50
変なのが沸いてるから酉つけたほうがいいべ
348デフォルトの名無しさん:2008/08/24(日) 10:11:12
つーか、モジュールのドキュメント読めばいいんじゃねえの
349デフォルトの名無しさん:2008/08/24(日) 10:33:44
>>330
tests/test_transaction.py
lib/errorcodes.py

とかそれっぽいよ。自分のとこじゃ試せないから適当だけど
350デフォルトの名無しさん:2008/08/24(日) 11:28:49
詳細について説明をお願いします
351330:2008/08/24(日) 11:31:17
>>349
情報ありがとうございます。調べてみます。
352デフォルトの名無しさん:2008/08/24(日) 11:40:42
イケメンハッカーが自己処理しました。
353330:2008/08/24(日) 15:25:02
やっぱりわかりませんでした。
354330:2008/08/25(月) 09:23:00
>>353は騙りです。
psycopg2.extensions.TransactionRollbackErrorが投げられるようです。
>>349さん、ありがとうございました。
355330:2008/08/25(月) 09:46:56
やはりすこし微妙な点があります。
その他に利用可能なライブラリはありますでしょうか。
デバッグに利用ができるようなもの。
356330:2008/08/25(月) 09:47:50
自己解決しました
357330:2008/08/25(月) 09:57:23
詳しい人に聞いています。
そうでないのなら黙っててください。
358デフォルトの名無しさん:2008/08/25(月) 13:15:18
死ね
359358:2008/08/25(月) 23:25:57
自己解決しました
360デフォルトの名無しさん:2008/08/26(火) 00:15:38
python初心者です。
lists = ['a','b','c','d','e','f','g']
i = [0,1,4]
があるとき、mapとlambda関数(あるいは何か)のような、組み合わせで
>>[a,b,d]
と表示させたいんですが、可能であれば、方法を教えてもらえないでしょうか?
361デフォルトの名無しさん:2008/08/26(火) 00:16:46
間違えました、
lists = ['a','b','c','d','e','f','g']
i = [0,1,4]
であれば、
>>[a,b,e]
です。
うーん。できそうで、できない。。
362デフォルトの名無しさん:2008/08/26(火) 00:18:20
またまた、間違えました、
lists = ['a','b','c','d','e','f','g']
i = [0,1,4]
であれば、
>>['a','b','e']
です。
うーん。できそうで、できない。。
363デフォルトの名無しさん:2008/08/26(火) 00:18:45
>>> lists = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> indexes = [0, 1, 4]
>>> [lists[i] for i in indexes]
['a', 'b', 'e']
364デフォルトの名無しさん:2008/08/26(火) 00:19:09
>>> [lists[j] for j in i]
['a', 'b', 'e']

>>> map(lists.__getitem__, i)
['a', 'b', 'e']

>>> from operator import itemgetter
>>> itemgetter(*i)(lists)
('a', 'b', 'e')
>>> list(itemgetter(*i)(lists))
['a', 'b', 'e']
365デフォルトの名無しさん:2008/08/26(火) 00:21:23
itemgetterが複数の引数をとれるとは
366デフォルトの名無しさん:2008/08/26(火) 00:21:39
すごい。完璧です!
30分以上考えていたのに。。。流石です。
ありがとうございました!
367デフォルトの名無しさん:2008/08/26(火) 00:28:49
>>> [slice(x) for x in [0,1,4]]
[slice(None, 0, None), slice(None, 1, None), slice(None, 4, None)]
>>> [slice(x,x+1) for x in [0,1,4]]
[slice(0, 1, None), slice(1, 2, None), slice(4, 5, None)]

>>> glist = []
>>> for e in [slice(x,x+1) for x in [0,1,4]]:
...   partial = list('abcdefg')[e]
...   glist.extend(partial)
368デフォルトの名無しさん:2008/08/26(火) 13:39:51
>>365
def itemgetter(item):
return lambda x: x[item]

これじゃ駄目なわけだ
369デフォルトの名無しさん:2008/08/26(火) 15:08:29
>>> [lists[j] for j in i]
['a', 'b', 'e']

>>> map(lists.__getitem__, i)
['a', 'b', 'e']

この2つってどっちの方がいいんだろう。
370デフォルトの名無しさん:2008/08/26(火) 15:16:18
下のはパラノイアっぽいな
371デフォルトの名無しさん:2008/08/26(火) 15:16:18
実測しよう
372デフォルトの名無しさん:2008/08/26(火) 15:24:21
読み易さで上かな。
373デフォルトの名無しさん:2008/08/26(火) 15:39:16
下のが速いみたいだけれども
こんなのがボルトネックになるのはありえないから上を選ぶべき
374デフォルトの名無しさん:2008/08/26(火) 15:42:03
s/ルト/トル/
375デフォルトの名無しさん:2008/08/26(火) 16:32:24
下を書いちゃう人は、変態か精神病のどちらか。
376デフォルトの名無しさん:2008/08/26(火) 16:51:03
>>375
Neet山かも
377デフォルトの名無しさん:2008/08/26(火) 19:41:55
sx,sy,sz = [-5,-5,-5]
ex,ey,ez = [5,5,5]
dx = 0.0212312(例えば)
listx = []
for x in xrange( sx, ex, dx):
listx.append(x)

ということをやりたいのですが、浮動小数点だとできないようです。
こういった簡潔な表記でできる方法ってありますか?
378デフォルトの名無しさん:2008/08/26(火) 19:51:13
ぐぐったら最初のページがこれだった。人に聞く前にぐぐって考えろ
http://code.activestate.com/recipes/66472/
379デフォルトの名無しさん:2008/08/26(火) 20:15:36
申し訳ありません。
自分なりにググったのですが、色々甘かったようです。
ご指摘の通りです。
教えていただきありがとうございます。大変助かりました。

380デフォルトの名無しさん:2008/08/26(火) 20:26:45
python range float で検索すればOKだな
381デフォルトの名無しさん:2008/08/26(火) 21:34:50
日本語のサイトしか検索しない、
のモードにチェックが入っていてうまく検索できませんでした。
お恥ずかしい・・・

382デフォルトの名無しさん:2008/08/26(火) 23:51:39
日本語マニュアルのアーカイブが欲しかったんだが、ttp://www.python.jp/Zope/が503でアクセスできない
どっかにないだろうか?
383382:2008/08/27(水) 00:07:03
すまん、今繋がった
384デフォルトの名無しさん:2008/08/27(水) 00:48:40
急ぎの時は internet archive を見るのだ
385デフォルトの名無しさん:2008/08/28(木) 00:34:48
時刻の文字列をtimeモジュールのstrptimeメソッドで処理したいんですが

"2008-08-27 22:51:01"

の場合は

print time.strptime("2008-08-27 22:51:01","%Y-%m-%d %H:%M:%S")

で正常に処理されますが

"2008-08-27 22:51:01+09:00"

の場合って2番目のパラメータのformatはどう記述すればいいんでしょう?
386デフォルトの名無しさん:2008/08/28(木) 13:14:16
man date
387デフォルトの名無しさん:2008/08/28(木) 13:34:32
24 名前:仕様書無しさん []: 2008/08/24(日) 05:21:20
hi があったので low を探したら nen tuki が見つかりました・・・
day にしろよ・・・
388デフォルトの名無しさん:2008/08/28(木) 16:36:20
自己解決しました
389デフォルトの名無しさん:2008/08/29(金) 00:55:31
済みません真面目に質問をしています。
正常な回答を寄せていただける方以外レスは控えてくださいますようお願いします。
390デフォルトの名無しさん:2008/08/29(金) 01:10:55
who are you?
391デフォルトの名無しさん:2008/08/29(金) 01:40:07
>>390
日本語訳すると「何様のつもりだ?」ですね、分かります。
392デフォルトの名無しさん:2008/08/29(金) 02:04:39
pygameのドキュメント和訳する作業始めろ屑ども
393デフォルトの名無しさん:2008/08/29(金) 02:10:37
Please start transulation by pygame you shit.
394デフォルトの名無しさん:2008/08/29(金) 09:25:31
Please start transulation by pygame you shit.
395385:2008/08/29(金) 09:46:54
すみません

お願いしますから

早く回答くれませんか

strptimeメソッドの処理について私が悩んでるのに

質問スレで回答が付かない理由がよくわかりません

おねがいします
396385:2008/08/29(金) 09:48:51
"2008-08-27 22:51:01+09:00"



+が

該当するところが

%+でいいのかどうなのかが

知りたいだけです

それが解決すれば

この問題は終わります
397デフォルトの名無しさん:2008/08/29(金) 09:52:16
It was accomplished by hansame hacker.
398デフォルトの名無しさん:2008/08/29(金) 10:21:58
>>> time.strptime("2008-08-27 22:51:01+09:00","%Y-%m-%d %H:%M:%S+09:00")
(2008, 8, 27, 22, 51, 1, 2, 240, -1)
399385:2008/08/29(金) 11:24:07
おねがいします。

私は本当に困っているのです。

ふざけるのもいい加減にしてください。

早く答えてください!
400デフォルトの名無しさん:2008/08/29(金) 11:54:08
time.strptime()では少なくともその形式のタイムゾーンオフセットは
処理できないようだから、strptime()一発でやるのは諦めれ
どっちみちtime.struct_timeは単なるCのstruct tmのラッパーだから
タイムゾーンの情報なんぞ持たないし持てない

・+でsplit()して前半をstrptime()に食わせてstruct_timeを構築
・それをもとにより高級なdatetime.timeを構築
・タイムゾーンオフセットの処理は自前で
こんな感じになるんじゃないの
401デフォルトの名無しさん:2008/08/29(金) 12:28:56
>>395
>質問スレで回答が付かない理由がよくわかりません

ここは「お勉強スレ」で「質問スレ」じゃないから。

Please say joke between rest.
402デフォルトの名無しさん:2008/08/29(金) 14:52:45
おそらく385以降の385は385でないと思われ

なぜならオレが385だから
403デフォルトの名無しさん:2008/08/29(金) 15:29:46
>>402
私が385です。勝手に名乗らないでください。
404デフォルトの名無しさん:2008/08/29(金) 17:59:26
カオスってるな
405デフォルトの名無しさん:2008/08/29(金) 23:14:39
なわりにシェルのdateコマンドには+%:z とかあるんだよな
406デフォルトの名無しさん:2008/08/29(金) 23:45:22
pygameのドキュメント和訳作業に従事しろぼんくらども
407デフォルトの名無しさん:2008/08/30(土) 00:56:53
Please start transulation for pygame you gabage.
408デフォルトの名無しさん:2008/08/30(土) 01:12:05
スルーすべきなんだろうけど、ことごとく間違ってるぞ。
409デフォルトの名無しさん:2008/08/30(土) 08:06:17
なんだかんだで平和だな
410デフォルトの名無しさん:2008/08/30(土) 08:19:20
一日後の時刻を取得する関数wwwwww

def get_tomorrow_date():
... time.sleep(86400)
... return time.localtime()
411デフォルトの名無しさん:2008/08/30(土) 08:25:34
さっさとPyPyのドキュメントを和訳作業に入ってくれよハゲども
412デフォルトの名無しさん:2008/08/30(土) 14:19:57
お願いかよ
413デフォルトの名無しさん:2008/08/30(土) 17:54:59
LL future!
414デフォルトの名無しさん:2008/08/30(土) 21:13:49
自己解決しました
415デフォルトの名無しさん:2008/08/31(日) 00:11:57
PILのドキュメントを和訳しろロリコンども
416デフォルトの名無しさん:2008/08/31(日) 01:00:11
ごめんシスコンなんだ
417デフォルトの名無しさん:2008/08/31(日) 01:18:34
いま思うとシスコーンってすごい商品名だな
418デフォルトの名無しさん:2008/08/31(日) 02:12:52
シリコーンでも吹けるぞw
某社のカップ自販機ウーロン茶原液に材料として入ってるが、無害なのか?
419デフォルトの名無しさん:2008/08/31(日) 03:04:40
シリコンとシリコーンは違うらしい
420デフォルトの名無しさん:2008/09/01(月) 11:55:09
勉強になります
421デフォルトの名無しさん:2008/09/01(月) 20:45:02
pythonってどういうときに使うの?
CGIだったらPHPのほうが上だよね?

小物アプリだったらrubyのほうが上だし、
どういうときに使うの?
422デフォルトの名無しさん:2008/09/01(月) 21:03:43
rubyを使いたくないとき
423デフォルトの名無しさん:2008/09/01(月) 21:04:40
rubyのほぐぁあ小物アプリにむいてるねですか?
424デフォルトの名無しさん:2008/09/01(月) 21:59:28
CGIでも小物アプリでもないときに使え
425デフォルトの名無しさん:2008/09/01(月) 22:35:12
小物はrubyのほうが向いてるってほんと?
ライブラリはPythonの方が多そうなのに
426デフォルトの名無しさん:2008/09/01(月) 22:39:16
好きな方使え
427デフォルトの名無しさん:2008/09/01(月) 22:40:38
>>421
書き捨てのコード
428デフォルトの名無しさん:2008/09/01(月) 22:45:09
>>421
どうしてもPythonじゃなきゃだめだっていうのなら
3DCG系のソフトなどでPythonでプラグイン書くってのがけっこうあるよ
429デフォルトの名無しさん:2008/09/01(月) 22:46:25
プログラミング言語なんぞは、問題に適した言語をその都度選択すればよろし
430デフォルトの名無しさん:2008/09/01(月) 22:53:08
pypyでDjangoが動くようになったらしい。

http://code.djangoproject.com/wiki/DjangoAndPyPy
431デフォルトの名無しさん:2008/09/01(月) 23:13:34
RMTPyのドキュメント和訳しろよくずども
432デフォルトの名無しさん:2008/09/01(月) 23:33:03
Python/Perl/Ruby/PHPなんて大体同じなんだからPython使えよ。
433デフォルトの名無しさん:2008/09/01(月) 23:44:46
Pythonほど未完成な言語はないだろう。
Rubyには絶対かなわない
434デフォルトの名無しさん:2008/09/01(月) 23:48:21
【Perl,PHP】LLバトルロワイヤル3【Ruby,Python】
http://pc11.2ch.net/test/read.cgi/tech/1215319832/
435デフォルトの名無しさん:2008/09/02(火) 01:07:33
ruby厨は巣に帰れ
436デフォルトの名無しさん:2008/09/02(火) 05:13:12
Pythonにはjavascriptにおけるfor each...inはないの?

//js code
for each(let value in {a:1, b:2, c:3}){
%09print(value);
}

js>1
js>2
js>3

#Python code
a={"a" :1,"b" :2,"c" :3}

for v in {"a" :1,"b" :2,"c" :3}:
%09print a[v]

これしかない?
437デフォルトの名無しさん:2008/09/02(火) 05:14:57
ミスったfor v in {"a" :1,"b" :2,"c" :3}:→for v in a:
438デフォルトの名無しさん:2008/09/02(火) 06:17:01
単純にディクショナリをforループで回すと、要素の順番は保証されないので
もしa["a"]、a["b"]、…のようにキーの昇順に取り出したいなら

for key in sorted(a.keys()):
  print a[key]

とするといい
439436:2008/09/02(火) 07:45:43
例が悪かったかな。
>単純にディクショナリをforループで回すと、要素の順番は保証されないので
それは知ってる。

a[key]みたいに連想配列のキーを指定して(見た目)間接的に値にアクセスじゃなくて変数hogeに直接値が代入されないかって事。
Pythonにはそういう文無い?
440デフォルトの名無しさん:2008/09/02(火) 07:55:30
a.values()もあるけどこっちでいいのか?
441デフォルトの名無しさん:2008/09/02(火) 08:43:14
馬鹿が湧いているようです
442デフォルトの名無しさん:2008/09/02(火) 09:14:16
黙ってdirとhelpを片っ端から適用してみろよ
443デフォルトの名無しさん:2008/09/02(火) 09:17:52
やはりRubyが最強なようだ
444デフォルトの名無しさん:2008/09/02(火) 09:59:56
>>439
for v in a.itervalues():

っていうか、436からどうやってそれを読み取れと…
445デフォルトの名無しさん:2008/09/02(火) 10:01:01
ねーねー 9月になったのに…
夏休みが終わってない厨房がいるのはナゼなんだぜ?
446デフォルトの名無しさん:2008/09/02(火) 16:04:19
py2exeはここ?
447デフォルトの名無しさん:2008/09/02(火) 17:08:06
>>445
大学は9月ちょい初めぐらいまで夏休みだろ
448デフォルトの名無しさん:2008/09/02(火) 20:23:03
rubyが小物に向いてるんじゃない。
小物に向いてるのがrubyなだけだ。
449デフォルトの名無しさん:2008/09/02(火) 22:06:42
Python3.0になったあと、
各モジュールが大丈夫かどうかの確認とかしないとなんだよな。
楽しみでもあり苦労しそうだなあ。
450デフォルトの名無しさん:2008/09/03(水) 11:02:21
2to3 はまだまだだし、パッケージが rename されたりしてて
network 系のツール移植やろうとして途中でやめちゃったよ。
451デフォルトの名無しさん:2008/09/03(水) 12:56:35
ところでgoogle chromeはこの板ではスコープ外?
452デフォルトの名無しさん:2008/09/03(水) 13:52:52
なんでここで聞くの?
Python入ってんの?
453デフォルトの名無しさん:2008/09/03(水) 14:09:59
>>452
パイソンはGOOGLEが作った言語なんです!
パイソンはGOOGLEが作った言語なんです!
454デフォルトの名無しさん:2008/09/03(水) 15:56:42
googleが作ったなんて初耳だな。
google設立は1998年、Pythonが作られたのは95年以前。
タイムパラドックスか?
455デフォルトの名無しさん:2008/09/03(水) 16:05:40
「Google言語。」の弊害だな
456デフォルトの名無しさん:2008/09/03(水) 16:06:14
設計者がGoogleにいるってだけでしょ
457デフォルトの名無しさん:2008/09/03(水) 16:10:13
みんPy(笑)か。
458デフォルトの名無しさん:2008/09/03(水) 16:18:27
どっちも香ばしいな。
459デフォルトの名無しさん:2008/09/03(水) 16:24:51
A.1 History of the software
http://docs.python.org/ref/node110.html
460デフォルトの名無しさん:2008/09/03(水) 21:56:14
.
461デフォルトの名無しさん:2008/09/03(水) 22:11:41
google自体は95,6年にすでにあったけどな。会社設立したのが98年ってだけで。
462デフォルトの名無しさん:2008/09/03(水) 22:22:38
設計者がGoogleに行ったのはつい最近
463デフォルトの名無しさん:2008/09/03(水) 23:32:28
>>455
>「Google言語。」

これ昔なんかの本のコピーになってるの見たよ。
知りあいのGoogle社員に聞いたら、めっちゃイヤがってた
464デフォルトの名無しさん:2008/09/03(水) 23:54:40
JAROに通報するんだ
465デフォルトの名無しさん:2008/09/04(木) 02:15:51
TV局やJAROみたいなところに電突するようなヤバいやつの電話番号は
警察に行ってブラックリストに載るらしいぞ
ガンバレ(wwWwwwWwWWwww
466デフォルトの名無しさん:2008/09/04(木) 06:52:46
中学生の発想だな…
467デフォルトの名無しさん:2008/09/04(木) 08:54:08
たしかに(プ
今時JAROとか小学生でも言わないわ(プ、ププププ
468デフォルトの名無しさん:2008/09/04(木) 09:06:05
やはりRubyが最強なようだ
469デフォルトの名無しさん:2008/09/04(木) 11:12:22
このスレを見ている人はこんなスレも見ています。(ver 0.20)
Rubyにはプログラミング言語以上の価値があると思う [WebProg]
470デフォルトの名無しさん:2008/09/04(木) 11:23:17
>>457
宣伝乙。信者も大変だな。
471デフォルトの名無しさん:2008/09/04(木) 15:29:56
pythonって構造体とか無いんでしょうか?
構造体配列とか使いたいんですが。
タプルとかは出てきたんですけど、なんか目的に沿わないようで。
クラスはメンバ作れても、配列にできなくて。orz

皆さんそういう時ってどうしてますか?
472デフォルトの名無しさん:2008/09/04(木) 15:40:46
>>471
シーケンスに何を入れようと自由だよ。
473デフォルトの名無しさん:2008/09/04(木) 16:11:15
rarfile
http://rarfile.berlios.de/

これで
r = rarfile.RarFile("path.rar","r")
print r.read(r.infolist()[0].filename)
するとException: Error reading fileが出るんだけど、これは何故?
infolistやらfilenameは取得できる。
474デフォルトの名無しさん:2008/09/04(木) 16:55:17
クラスインスタンスを固定数だけ配列みたいに造るのって。

class kls: pass

klsins_list = [kls() for r in range(0, 5)]

でいいのかな。もっと一般的な書き方ってあったっけ。
475473:2008/09/04(木) 16:55:57
> For decompression uses external unrar command line utility.
orz...すいません出直してきます。
476デフォルトの名無しさん:2008/09/04(木) 18:24:18
クラスが配列に出来ないってどういう事?
477デフォルトの名無しさん:2008/09/04(木) 19:06:53
おそらく>>471の言っている「配列」は
「メモリ上の一続きの領域に要素なりメンバが並んでるもの」
ってことなんじゃないか

構造体配列の「配列」もそういう意味で使ってる気がする
(構造体の配列ではなく)
478デフォルトの名無しさん:2008/09/04(木) 19:34:47
固定長配列なんて久しく使ってないなあ
479デフォルトの名無しさん:2008/09/04(木) 21:59:37
Microsoftの作った構造体とか頭が痛くなる
480デフォルトの名無しさん:2008/09/04(木) 22:32:15
馬鹿はなにやってもダメだな
481デフォルトの名無しさん:2008/09/05(金) 00:48:39
python2.6以降なら名前つきタプルが使えるお

>>> import collections
>>> Point = collections.namedtuple('Point', 'x y z')
>>> p = Point(1, 2, 3)
>>> p
Point(x=1, y=2, z=3)
>>> list(p)
[1, 2, 3]
>>> p.x
1
>>> p[0]
1
482デフォルトの名無しさん:2008/09/05(金) 01:23:26
おもしろいねそれ
483デフォルトの名無しさん:2008/09/05(金) 01:42:09
これが取り入れられたんだよね、確か
Named Tuples ≪ ActiveState Code
http://code.activestate.com/recipes/500261/
484デフォルトの名無しさん:2008/09/05(金) 05:55:43
ordereddictは?
485デフォルトの名無しさん:2008/09/05(金) 09:32:00
>>471っす
なんか、自分の理解不足と説明不足でグデグデにしてしまって。(´Д`;

>>476
構造体をを配列にするのを代わりでクラスでできないかな?と思って。
自分でやった中ではできなかったので。orz

>>477
メモリ上・・・までは意識して無かったです。;
構造体配列は、一応構造体の配列のつもりで。

>>481
お、なんか面白そうですね。2.6以降っすか。無いと思ったらbeta版なんですね。
自分はいいけど、他の環境も更新しないと動かないのはちと痛いっす。;

ちょっとやりたいことをCで書いてみます。
・・・と行制限が。(´Д`;
486デフォルトの名無しさん:2008/09/05(金) 09:33:45
#include<stdio.h>

struct Frame{
char name[32];
unsigned int id;
unsigned int dlc;
};

int main(void){
struct Frame frm[16];

strcpy( frm[0].name , "ENG16");
frm[0].id = 0x64;
frm[0].dlc = 8;

strcpy( frm[1].name , "MET08");
frm[1].id = 0xFF;
frm[1].dlc = 6;

printf("%s : %x / %d\n",frm[0].name,frm[0].id,frm[0].dlc);
printf("%s : %x / %d\n",frm[1].name,frm[1].id,frm[1].dlc);

return 0;
}

一応こんなことをやりたいな〜と。
特に、
frm[0].id = 0x64;
frm[0].dlc = 8;
のトコみたく、メンバ(?)をバラバラに指定できると助かります。
487デフォルトの名無しさん:2008/09/05(金) 09:45:48
魚っ!タブがorz
見にくくてすいません。((orz
488宿題か?:2008/09/05(金) 10:08:26
>>486
class Frame:
  def __init__(self, name, id, dlc):
    self.name = name
    self.id = id
    self.dlc = dlc

if __name__ == '__main__':
  frm = list()
  frm.append(Frame(name="ENG16", id=0xff, dlc=8))
  frm.append(Frame(name="MET08", id=0xff, dlc=6))
    print "%s : %x / %d"%(frm[0].name, frm[0].id, frm[0].dlc)
    print "%s : %x / %d"%(frm[1].name, frm[1].id, frm[1].dlc)
489デフォルトの名無しさん:2008/09/05(金) 10:14:49
あっ!もっと沢山の回答お待ちしてますorz
490デフォルトの名無しさん:2008/09/05(金) 12:37:44
>>> import itertools
>>> params = (("ENG16", 0xff, 8), ("MET08", 0xff, 6), ("MET08", 0xff, 6))
>>> frm = list(itertools.starmap(Frame, params))
491デフォルトの名無しさん:2008/09/05(金) 12:39:22
>>> [Frame(*args) for args in (("ENG16", 0xff, 8), ("MET08", 0xff, 6))]
492いいえ、ケフィ(ry:2008/09/05(金) 13:11:50
>>488
SUGEEEEE!!!!動きました。
やり方自体はあったんですね。見つからなかっただけで。
構造体とかそっち方面から情報漁ってたんですが、全然辿り着かなくて。

んで、宿題ではなく業務のおうc(ry
・・・効率化をしようかと。w
元々、数十、数百、てか千弱のとある要素を、手動でやいやいしてたみたいで。(’A`;
自分なりに作ったものの、全部ただの多次元配列でやったんで、
ソートとかもう。orz

これで大分簡略化できそうです。

と、実はまだ関数のselfがきっちり理解できてなかったりします。(^^;
493デフォルトの名無しさん:2008/09/05(金) 13:19:49
>>> k = ('name', 'id', 'dlc')
>>> v = (("ENG16", 0xff, 8), ("MET08", 0xff, 6))
>>> [type('Frame', (object, ), dict(zip(k, i))) for i in v]
真似しなくていいぞ
494デフォルトの名無しさん:2008/09/05(金) 18:00:18
495デフォルトの名無しさん:2008/09/05(金) 18:40:32
早いとこ転職先探すべきだろう
496デフォルトの名無しさん:2008/09/05(金) 22:06:31
http://coreblog.org/ats/multiprocessing-package
python2.6で入るモジュールmultiprocessing、面白そうだ
前にスレで話題に出たParallel Pythonと同じような仕組みなのかなぁ
497デフォルトの名無しさん:2008/09/05(金) 22:08:01
>>496
全然違う
498デフォルトの名無しさん:2008/09/05(金) 22:26:35
2.5の人向け
Python Package Index : processing 0.52
http://pypi.python.org/pypi/processing
PEP 371 -- Addition of the multiprocessing package to the standard library
http://www.python.org/dev/peps/pep-0371/
499デフォルトの名無しさん:2008/09/06(土) 07:04:24
>>496-498
これはいいものを教えてもらいました。ありがとう。

早速お試しということで、N 次元のベクトル x の2ノルム sqrt(x' * x) の計算を
P 個のプロセスでデータ分割して並列化する簡単なコードを書いてみました。
4-way Opteron 2.2GHz, SuSE Linux 9.3 (x86-64), Python 2.5.2, processing 0.52 で
N = 10,000,000 として P を変えると以下のような結果になりました。

P, time [sec], speedup
1, 2.070533e+00, 1.00
2, 1.077326e+00, 1.92
3, 7.130971e-01, 2.90
4, 5.523460e-01, 3.75

通信はスカラ値の gather と broadcast を各1回(processing.Pipe を使いました)。
単純なコードにしては上出来のスケーラビリティと言えましょう。

PyPar と違ってきちんとプロセス間通信をサポートしているし、
マスタ・ワーカ方式以外の並列化手法も採れる。これは良いです。
個人的には processing のためだけに 2.6 を入れてもいいぐらいです。

こうなると processing をバックエンドにした MPI もどきとか OpenMP もどきが
欲しくなりますねー。
500デフォルトの名無しさん:2008/09/06(土) 10:45:47
情報弱者の特徴

1 : 一次情報に接触しようとしない
2 : 人に教えてもらわないと気づかない
3 : 英語ができない
4 : その割には偉そう
5 : 自分の能力のなさを棚に上げて他人を逆恨みする
501デフォルトの名無しさん:2008/09/06(土) 10:56:15
一次情報を小奇麗にまとめてくれた二次情報があるのに
妙に意固地になって利用したがらない俺がいます
502デフォルトの名無しさん:2008/09/06(土) 10:58:00
>>501
そうやって最新情報を使っているひとたちとの差が広がってゆくんですね、分かります。
503デフォルトの名無しさん:2008/09/06(土) 10:59:16
>>501
>4 : その割には偉そう
>5 : 自分の能力のなさを棚に上げて他人を逆恨みする
504デフォルトの名無しさん:2008/09/06(土) 12:47:11
>>500
6 : 都合が悪くなると逃げる
505デフォルトの名無しさん:2008/09/06(土) 14:35:44
>>499
MPIもどきはPythonでの並列プログラミングへのアプローチの仕方としては良くない。
複雑なことをやろうとすればするほど、CやFORTRANでMPIライブラリを使うときの
ようにアホみたいにソースコードが長くなって、デバッグが困難になる。はじめか
らCあるいはFORTRANでやってりゃよかったということになってしまうだろうなと思う。
C/C++、FORTRANならキャッシュラインサイズやデータアクセスの局所化を意識した
ソースコードの最適化+インテルコンパイラで爆速になるし、PsycoとかPyPyとか
JITコンパイラがあるとはいえ、Pythonの勝負できるフィールドではないと思う。
OpenMPもどきでお手軽にデータ並列のプログラムを作るぐらいがPythonらしい。
506デフォルトの名無しさん:2008/09/06(土) 15:05:32
7:自己解決シマシタ
507デフォルトの名無しさん:2008/09/06(土) 21:38:29
MLでアホが投稿してて萎えた
508デフォルトの名無しさん:2008/09/06(土) 21:39:48
Python使いの特徴

1 : 一次情報に接触しようとしない
2 : 人に教えてもらわないと気づかない
3 : 英語ができない
4 : その割には偉そう
5 : 自分の能力のなさを棚に上げて他人を逆恨みする
6 : 都合が悪くなると逃げる
7:自己解決シマシタ
8 : Rubyが諸悪の根源と考えている
509デフォルトの名無しさん:2008/09/06(土) 21:52:54
8 : 508のごとくすぐキレる
510デフォルトの名無しさん:2008/09/06(土) 22:03:38
pythonのソースコードを2ちゃんに張るじゃん。
そしたら、TABが無効化されるので、
そのままコピペしても動かないよね。
511デフォルトの名無しさん:2008/09/06(土) 22:11:06
8 : 温泉とかキャバクラとか行く暇があったらpygameの翻訳をする
512デフォルトの名無しさん:2008/09/06(土) 22:16:48
>>510
別に。
基本的にスペースで書くから問題ない。
513デフォルトの名無しさん:2008/09/06(土) 22:17:08
10: Batteries Inserted
514デフォルトの名無しさん:2008/09/06(土) 22:21:20
>>510
無効化じゃなくてブラウザの仕様で見えなくなってるだけだ
515デフォルトの名無しさん:2008/09/07(日) 06:14:56
2chに貼られたソースコードをコピペして動かすことってそうない気がする。
516デフォルトの名無しさん:2008/09/07(日) 06:35:04
オレはあるから、頻度は主観の話だな。
コードを書かれることを考えていない2ch側の問題。
517デフォルトの名無しさん:2008/09/07(日) 07:02:23
オレはないから、頻度は主観の問題だな。
HTMLのダイエットを最優先にしている2chにコードを張ったり使おうと思う奴の問題。
518デフォルトの名無しさん:2008/09/07(日) 07:19:00
dat には入ってるんだから pre 表示するブラウザ作ればいいだけじゃね?
AA ズレるけどな
519デフォルトの名無しさん:2008/09/07(日) 10:01:47
JaneDoeStyleならアンカにカーソル乗せて
ポップアップしたらインデントされてるよね
それコピペすればいいんじゃね
520デフォルトの名無しさん:2008/09/07(日) 10:17:04
専ブラの作者に頼めばいいじゃない
コードが見難いので、TABが表示されるモードつけてくれ!って
521デフォルトの名無しさん:2008/09/07(日) 12:30:15
夏時間付きローカルタイムのdatetimeのインスタンスからUTC時刻を得るにはどうしたら良いのでしょうか?

>>> import pytz
>>> utc = pytz.utc
>>> london = pytz.timezone('Europe/London')
>>> summer = datetime.datetime(2008,9,7,10,tzinfo=london)
>>> winter = datetime.datetime(2008,1,7,10,tzinfo=london)

単純なタイムゾーン変換では夏時間の違いがなさそうです。
>>> summer.astimezone(utc)
datetime.datetime(2008, 9, 7, 10, 0, tzinfo=<UTC>)
>>> winter.astimezone(utc)
datetime.datetime(2008, 1, 7, 10, 0, tzinfo=<UTC>)

UTCからローカルタイムへの変換はpytzにもメソッドがあるのですが
逆方向への変換の方法がわかりません。
どなたかご存知ありませんか?
522デフォルトの名無しさん:2008/09/07(日) 12:34:37
ドキュメント、穴があくぐらい読んだのか?
523デフォルトの名無しさん:2008/09/07(日) 13:55:18
まだ穴はあいていませんが、読んでいるのはライブラリリファレンスとpytzのソースとテストケースです。

タイムゾーン変換に関してdatetimeはtzinfoに丸投げでtzinfo.utcoffset()が夏時間も込みのオフセットを返さなければならないところが機能していないようなのです。

そうなると、tzinfoの作り方が間違っているかもしれないのですが、pytzのソースを見る限りモジュールの外から使う場合にはpytz.timezone('xxxxxx')で作られるようにモジュール関数が作られていますし、テストケースでもこれが使われています。

使い方に関しては、テストケースの最後の方にutcoffset関連のテストの中で一度ローカルタイムへ変換されたものの逆変換が、 utc_dt = loc_dt.astimezone(UTC)で行われているます。

何か大きな勘違いをしているのでしょうか?
524デフォルトの名無しさん:2008/09/08(月) 13:58:24
初歩的なところですみませんが質問させてください。
Apache上でPython動かそうとしてるんですが、ファイルにアクセスするとテキストファイルとしてしか認識されないです。
環境は以下の通り
Windows Vista SP1
apache2.0.59
python2.5.2
mod_python3.3.1

httpd.confには下記の記述を追加してある。
LoadModule python_module modules/mod_python.so
<Directory "/example">
Options FollowSymLinks
AddHandler mod_python py
PythonHandler test
PythonDebug On
</Directory>

Forbiddenページに出る下部のサーバ情報は下記のように出てる。
Apache/2.0.59 (Win32) mod_python/3.3.1 Python/2.5.2

Apache上ではちゃんと動いてるみたいなんだけど、さっぱりわからない…。
どうすればちゃんとpythonとして実行されるんでしょうか?
525デフォルトの名無しさん:2008/09/08(月) 17:21:02
標準モジュールのtestと衝突してるとか
526デフォルトの名無しさん:2008/09/08(月) 19:50:01
>>525
ありがとうございます。
PythonHandler mptest
に変更して、アクセスするファイルもmptest.pyにしてみましたが変わりませんでした。
527デフォルトの名無しさん:2008/09/08(月) 20:39:38
>>524
あとは <Directory "/example"> が怪しげ。c:/example って解釈されてる気がする

ブラウザからアクセスしたときにスクリプトのソースが見えるのなら
DocumentRoot の下にそのスクリプトを置いていると思う
その DocumentRoot を c:\Apache\htdocs と仮定すると

* c:\Apache\htdocs\example に mptest.py を設置
* <Directory "c:\Apache\htdocs\example"> ... </Directory> に変更
528デフォルトの名無しさん:2008/09/08(月) 21:33:19
>>527
うおー。動きました!
Pythonとは全く関係ないところでしたが、ご教授ありがとうございます!
529デフォルトの名無しさん:2008/09/09(火) 01:08:05
pythonでlistやtupleにflattenを追加して欲しい。
いちいち
>>> import _tkinter
>>> _tkinter._flatten
とか
>>> import compiler
>>> compiler.ast.flatten
とかしたくない。
530デフォルトの名無しさん:2008/09/09(火) 04:04:23
flatten = _tkinter._flatten
とか
from compiler.ast import flatten
でお茶を濁す。
531デフォルトの名無しさん:2008/09/09(火) 13:54:45
そんなに頻繁に使う?
532デフォルトの名無しさん:2008/09/10(水) 12:29:49
ここにいる方々って、
やはりバイブルとかも一通り読んで、言語仕様把握しちゃってるんでしょうか?
やりとり見てるとSUGEEEE!!!
なので(´Д`;
533デフォルトの名無しさん:2008/09/10(水) 13:10:37
各人が自信のあるネタの時に書き込んでるので、
合計しちゃうとそういう風に見える。
534デフォルトの名無しさん:2008/09/10(水) 13:16:50
バイブルって何だっけ?
標準モジュールの中にも未だに知らないのがあるから困る
535デフォルトの名無しさん:2008/09/10(水) 13:28:26
公式のドキュメント一式
536デフォルトの名無しさん:2008/09/11(木) 01:25:05
Ruby プラグラマー 田中ばびえ こと 馬場道明さん
http://pc11.2ch.net/test/read.cgi/prog/1219109959/l50x

537デフォルトの名無しさん:2008/09/11(木) 16:34:56
今からならPython3覚える方がいいの?
538デフォルトの名無しさん:2008/09/11(木) 16:59:19
当分は2.Xが主流じゃまいか?
539デフォルトの名無しさん:2008/09/11(木) 18:03:57
2.x覚えつつ3.0を予習といった感じで
540デフォルトの名無しさん:2008/09/11(木) 21:25:10
Ruby1.9のが先進的だからそっちを覚えた方が良いよ
541デフォルトの名無しさん:2008/09/11(木) 21:31:35
むしろ全部やれよ。
542デフォルトの名無しさん:2008/09/11(木) 23:09:20
今すぐ始めるんだったら、2.x がいいと思う、3.0 は情報少ないし、未対応なものも
まだまだ多いし、・・・
543デフォルトの名無しさん:2008/09/11(木) 23:16:04
普通に2.5でいいだろ。
pythonの中の人もそう言ってる。
544デフォルトの名無しさん:2008/09/12(金) 03:14:29
>>537
3.xを覚えて2.xのライブラリを3.xに移植する。
545デフォルトの名無しさん:2008/09/12(金) 04:19:39
jython 2.5 a3 release
546デフォルトの名無しさん:2008/09/12(金) 17:15:13
前にpythonでjsonするためのlibrary検索したらいくつか乱立してた
今はメインはこれって統合されてるの?
547デフォルトの名無しさん:2008/09/12(金) 17:16:37
simplejsonが2.6/3.0に入るからこれかな
548デフォルトの名無しさん:2008/09/12(金) 17:24:56
win32com.clientを使用して、IEの操作を行いたいのですが、
ボタンをクリックさせた後、次のページのHTMLを取得する場合
読み込み待機(ieWait)に入るまでの間に
ie.ReadyStateが4に切り替わってくれない為に
python上では読み込みが完了したと処理してしまい
前に表示していたページのHTMLを表示してしまいます。

皆さんならどうするか、回避方法を教えていただけないでしょうか?

ソース >> http://kissho.xii.jp/1/src/1jyou48304.py.html

よろしくお願いします。
549デフォルトの名無しさん:2008/09/13(土) 01:17:31
Jython本を読むと全てが解決するよ。
550デフォルトの名無しさん:2008/09/13(土) 01:50:46
>>548
ie.ReadyState == 4 の直後に数秒wait入れてみるとか
551デフォルトの名無しさん:2008/09/13(土) 02:37:21
直後にはsleep()あるし(whileの)直前だよね?
doc.all.btnG.click()しても
ブラウザが遷移するのは非同期なのが原因なんだけど
使い捨てツールならそんなんでいいと思う。
552デフォルトの名無しさん:2008/09/13(土) 02:53:50
document.readyStateを見てみたら?
553デフォルトの名無しさん:2008/09/13(土) 07:11:17
ie.Busy
554548:2008/09/13(土) 15:33:50
>>550-553

助かります。
while ie.ReadyState != 4 or ie.Busy: time.sleep(0.5)
で簡単に解決出来ました!

ありがとうございました。
また行き詰った時はお願いします。
555デフォルトの名無しさん:2008/09/13(土) 17:21:47
やだ
556デフォルトの名無しさん:2008/09/13(土) 20:40:25
やだ
557デフォルトの名無しさん:2008/09/13(土) 21:36:15
おしお
558デフォルトの名無しさん:2008/09/13(土) 22:49:07
つつみ
559デフォルトの名無しさん:2008/09/13(土) 22:56:45
あかり
560デフォルトの名無しさん:2008/09/14(日) 06:46:27
Python-ml-jp 4503
http://www.python.jp/pipermail/python-ml-jp/2008-September/004500.html

なんでこの人って
他の技術的な話題に一切コメントしないのに
こういうどうしようもない自サイトの宣伝及び
Jython本の宣伝にはMLに流してくるんだろうね。

はっきりいってうざいです。
561デフォルトの名無しさん:2008/09/14(日) 06:54:42
>>560
そういうのは無視していたほうがいいよ。
イライラするより、コーディングしたほうが有意義。
前からそのお方はずっとそういうスタンスだから、
ここで書いて本人が目にしたとしても変えないよ。
その人の名前がメール本文に入ってたらゴミ箱行くようにするとかで
解決するんじゃないの、目にしたくなければさ。
562デフォルトの名無しさん:2008/09/14(日) 09:32:26
>>560
どの言語のコミュにもいるよ、そういう人。
563デフォルトの名無しさん:2008/09/14(日) 09:36:09
>>560
本来のMLの目的通りお前がいい回答をすればいいじゃないか
564デフォルトの名無しさん:2008/09/14(日) 09:49:51
>>562
とあるマイナー言語のMLには、自著の宣伝と宗教話しか流さない人がいるよ。
長老らしく、誰も文句言えないらしい。
565デフォルトの名無しさん:2008/09/14(日) 09:53:58
そーいやPythonの開発者サイド代表的な立ち位置で
コメントしてたりするんだけど具体的に何を作ったのかさっぱりわからんな
566デフォルトの名無しさん:2008/09/14(日) 09:57:27
何もないでしょ。最初からエラソーな顔してるだけじゃね?
567デフォルトの名無しさん:2008/09/14(日) 12:29:11
お笑い芸人みたいなもんだからな。技術者と言うよりは。
568デフォルトの名無しさん:2008/09/14(日) 12:33:37
まだ良い方だって。
569デフォルトの名無しさん:2008/09/14(日) 13:57:00
イケメンでもなければハッカーでもないということですね、分かります。
570デフォルトの名無しさん:2008/09/14(日) 14:54:17
Pythonは簡単にネットワーク関係のコードをかけると思います。
boostを使うと、C++に埋め込めますか?  
コンパイルすると、一つのEXEにファイルになりますか?
EXEの内部にスクリプトに必要なファイルが埋め込んであるだけではないですよね?
571デフォルトの名無しさん:2008/09/14(日) 15:07:48
あとPythonはコンパイルしてEXE出来ますか? IronPython は作れるらしいですが、こっちの方が性能上なんですか?
572デフォルトの名無しさん:2008/09/14(日) 15:16:25
IronPython はMicrosoft製らしいですね。いましりました。 
IronPythonでもboostは使えますか?


Microsoftが.NET版Pythonのベータ版をリリースした。
Microsoftによると、先週末にリリースされた「IronPython 1.0 Beta 1」は、ほかのすべての.NETプログラミングフレームワークと「密接に統合」され、Pythonのプログラマーはどの.NETライブラリも「容易」に利用できるようになるという。
http://japan.zdnet.com/news/devsys/story/0,2000056182,20093943,00.htm

IronPython 1.1.2 Released: Aug 8 2008
http://www.codeplex.com/IronPython/Release/ProjectReleases.aspx?ReleaseId=11275
573デフォルトの名無しさん:2008/09/14(日) 15:42:06
もちつけ
     /\⌒ヽペッタン
   /  /⌒)ノ ペッタン
  ∧_∧ \ (( ∧_∧
 (; ´Д`))' ))(・∀・ ;)  
 /  ⌒ノ ( ⌒ヽ⊂⌒ヽ
.(O   ノ ) ̄ ̄ ̄()__   )
 )_)_) (;;;;;;;;;;;;;;;;)(_(

まずは、何がしたいのか、がわからないと、アドバイスのしようがない。
574デフォルトの名無しさん:2008/09/14(日) 15:56:01
python3.0のリリース日が10月1日から10月15日に変わったんだな
575デフォルトの名無しさん:2008/09/14(日) 17:26:30
正直もうちょっと遅くてもいい
それとも3.1くらいから乗り換えるか…
576デフォルトの名無しさん:2008/09/15(月) 12:34:10
printが関数になるとか。文のままがよかったなあ
577デフォルトの名無しさん:2008/09/15(月) 12:41:48
Python3.0がリリースされると同時に、
俺の会社ではRubyに乗り換えることが決定的になった。
Rubyのが仕様変更安定してるからなあ。
578デフォルトの名無しさん:2008/09/15(月) 12:42:26
print文の事はPython Regretsにもあったじゃん
579デフォルトの名無しさん:2008/09/15(月) 12:44:53
Pythonが最強だろ マイクロソフト (.NET版) もC++言語 (boost版) でも開発してるし。
580デフォルトの名無しさん:2008/09/15(月) 12:46:46
Java実装のものが常に新しいRubyが一番いいと思いますけどね。
581デフォルトの名無しさん:2008/09/15(月) 12:48:35
ところでPythonのVMを理解するのに参考になる資料をしってる方いませんかね
582デフォルトの名無しさん:2008/09/15(月) 12:49:28
python.org
583デフォルトの名無しさん:2008/09/15(月) 16:42:31
>>577
お気の毒
584デフォルトの名無しさん:2008/09/15(月) 16:56:58
>>577
英断だと思う。明らかに今回のPython刷新は
意味が不明な点が多すぎる。
585デフォルトの名無しさん:2008/09/15(月) 16:58:45
べつに3にいこうしなければいいじゃん
586デフォルトの名無しさん:2008/09/15(月) 17:00:22
>>577
ていうかPythonを何に使ってたのか気になる。
587デフォルトの名無しさん:2008/09/15(月) 17:03:22
>>577
おーやっぱあなたの会社もそうしますか。
Rubyの勉強会に行ってこいとか上司に言われるようになりました。
影舞に代表されるようなすぐれたBTSなどもありますしね。
588デフォルトの名無しさん:2008/09/15(月) 17:05:31
そんでRuby2.0へ移行するときにまたpythonへ
589デフォルトの名無しさん:2008/09/15(月) 17:05:44
>>587を脳内で再生すると
どうしても影舞以降棒読みになる
590デフォルトの名無しさん:2008/09/15(月) 17:05:45
この流れ自作自演なの?
591デフォルトの名無しさん:2008/09/15(月) 17:06:40
*具体的に*気に入らないとこを語れ
592デフォルトの名無しさん:2008/09/15(月) 17:08:32
pythonよりRubyが優れている事が実証されたな
593デフォルトの名無しさん:2008/09/15(月) 17:11:02
>>590
昔からいるやつなら分かるはず
594593:2008/09/15(月) 17:16:14
誤爆
595デフォルトの名無しさん:2008/09/15(月) 17:20:52
ダメです。
そんな返答は許可しません。
596デフォルトの名無しさん:2008/09/15(月) 17:23:28
ていうかこの流れで誰が得すんの?
597デフォルトの名無しさん:2008/09/15(月) 17:25:34
Pythonは色々なところをRubyから
パクっていったよなあ
598デフォルトの名無しさん:2008/09/15(月) 17:29:27
それは皮肉なのかボケなのか事実の指摘なのか判別できないお
599デフォルトの名無しさん:2008/09/15(月) 17:31:51
これが自作自演Rubyユーザーの粘着ってやつか
600デフォルトの名無しさん:2008/09/15(月) 17:49:33
どうせ4.0になったらまたがらりと変わるんでしょ。
とPHPみたいなことを言ってみる。
601デフォルトの名無しさん:2008/09/15(月) 17:57:58
>>600
2.0が出たのが2000年だよ?
Pythonは普通のバージョンアップは下位互換性を大切にしてる。popenがいっぱいあったりするのはそのせい。
3.0は、滅多に無い下位互換性を切ってリフレッシュするメジャーバージョンアップ。
しかも、2.6と3.0両方で動くコードが書けたり、2.7と3.1両方で動くコードが書けるように計画していたり、
バージョンアップがしやすいようにちゃんと考えられてる。

言語の安定性は、 Python>Perl>>Ruby,PHP
602デフォルトの名無しさん:2008/09/15(月) 18:08:45
つーか公式に仕様を検討する場がありPEPという形で文書化されているPythonと
Matzが思いつきでコードをいじり倒してrailsの互換性が平気で
無くなったりするRubyを比べられても、ネタとしか思えんのだが

まあネタなんだろうな
603デフォルトの名無しさん:2008/09/15(月) 18:27:40
サーバー用途ではなくオフラインで使うならHSPかPythonとおみうよ
604デフォルトの名無しさん:2008/09/15(月) 18:49:23
安定性はPHP>Rubyだと思うけど。
PHPがRubyと同列なんてあんまりだ。
605デフォルトの名無しさん:2008/09/15(月) 19:28:39
やはりRubyが最強なようだ
606デフォルトの名無しさん:2008/09/15(月) 20:10:34
>>605
まさにゴキブリww
607デフォルトの名無しさん:2008/09/15(月) 20:19:59
もっと知りたいPython3000:第4回 Python 2.xから3.0への移行方法|gihyo.jp … 技術評論社
http://gihyo.jp/dev/feature/01/python3000/0004
608606:2008/09/15(月) 20:20:11
PythonもいいけどRubyもまあいいよね、
イテレータについても早期に実装されたりしているし
609デフォルトの名無しさん:2008/09/15(月) 20:29:09
2系と3系ってそんなに違うのか。
610デフォルトの名無しさん:2008/09/15(月) 20:36:51
>>607
コードコンバータ周りの説明が何言ってるのかわからん
611デフォルトの名無しさん:2008/09/15(月) 21:25:12
>>607
イケメンハッカーって、このひとの事ですか?
612デフォルトの名無しさん:2008/09/15(月) 21:56:39
>>611
Nと間違えるなよ。
この人は米国に赴いてきちんとGuidoと会話して
話聞いたりしっかりしてんだぞ。
613デフォルトの名無しさん:2008/09/15(月) 22:21:08
>>612
本人乙
614612:2008/09/15(月) 22:39:26
西尾さんすっげいい人だしちょーかっこいいから。残念。
615デフォルトの名無しさん:2008/09/15(月) 22:46:18
>>614
本人乙
616デフォルトの名無しさん:2008/09/16(火) 00:07:40
田中さんはすごい人だ
617デフォルトの名無しさん:2008/09/16(火) 00:46:32
2.6はもうすぐなの?
618デフォルトの名無しさん:2008/09/16(火) 00:51:33
>>617
http://www.python.org/dev/peps/pep-0361/
少し延期しちゃったな。3.0は2.6と同時のはずだったのに。
619デフォルトの名無しさん:2008/09/16(火) 10:27:34
620デフォルトの名無しさん:2008/09/16(火) 16:06:45
pyublasをどこでもいいから公式libraryの一部としてとりこんでほしい
今のままじゃ安心して使えない
621デフォルトの名無しさん:2008/09/16(火) 17:22:39
ctypesの逆ってできるのでしょうか?
つまりpythonをcから呼びたいのです
622621:2008/09/16(火) 17:31:18
623621:2008/09/16(火) 17:50:31
よく読んでみたらpythonの関数をdllにするんじゃなくて
あくまでpythonの中でCの関数にうめこめるだけぽい
624デフォルトの名無しさん:2008/09/17(水) 08:57:32
Python フィトン
625デフォルトの名無しさん:2008/09/17(水) 10:10:57
今まで3年間pythonを使い続けたが、
rubyの余りの良さにびっくりし、改宗することにしました。
626デフォルトの名無しさん:2008/09/17(水) 10:25:57
>>625
どんなトコが良かった?
627デフォルトの名無しさん:2008/09/17(水) 10:26:46
Rubyはめちゃめちゃつかいやすいよなー
使う側に立って開発されている感じ。
628デフォルトの名無しさん:2008/09/17(水) 10:29:42
合う合わないはあると思う
どっちの言語にもファンはいるが、両方好きな人はそんなに多くないとの噂
629626:2008/09/17(水) 10:29:53
おれも使うのやめようかな
630デフォルトの名無しさん:2008/09/17(水) 10:30:19
べつにどっちの宗派とか全然興味ないんだけど、
ユーザはpythonのほうが凄く多いよね
631デフォルトの名無しさん:2008/09/17(水) 10:31:37
Python使いにはスルー力が必要
632デフォルトの名無しさん:2008/09/17(水) 10:32:08
あ、俺626なんだけど、>>629みたいな奴が沸くってことは
言語キチガイが発生してるってだけのことか。時間無駄にした
633デフォルトの名無しさん:2008/09/17(水) 10:36:03
改宗って宗教かよ
634デフォルトの名無しさん:2008/09/17(水) 10:48:08
ごめ、rubyのが多いな
635デフォルトの名無しさん:2008/09/17(水) 17:17:48
インポートされるファイルを書き込み権限のないディスクに置きたいのですが、.pycファイルを作ろうとしてエラーが出てしまいます。
pycファイルを作らないようなオプションはないでしょうか?
636デフォルトの名無しさん:2008/09/17(水) 17:30:05
>>635
Rubyを使えばいいと思うよ。
637デフォルトの名無しさん:2008/09/17(水) 17:36:31
pycをあらかじめ作って置いとくのがいいんだろうな
638デフォルトの名無しさん:2008/09/17(水) 18:05:19
>>635
エラーってどんなの?
639635:2008/09/17(水) 19:12:20
>>636
分かりました、Rubyを使う様にしたいと思います。
どうしても中間ファイル pycが作られてしまうのに耐えられません。
ありがとうございました。
640デフォルトの名無しさん:2008/09/17(水) 21:35:28
/塩\
641デフォルトの名無しさん:2008/09/17(水) 21:41:17
相変わらず自演Ruby厨が沸くな
642デフォルトの名無しさん:2008/09/17(水) 21:42:46
lispやhaskellのスレにはなぜか沸かない不思議
643デフォルトの名無しさん:2008/09/17(水) 21:47:14
オレはこの際Ocamlやるよ。
誰も使ってない言語の方がクールだろ。
644デフォルトの名無しさん:2008/09/17(水) 22:34:12
どうせPythonが分からなかった池沼だろ。
きっと3日後にはRubyスレに同じこと書いてるよw
645デフォルトの名無しさん:2008/09/17(水) 22:41:45
初心者です。
MacOSでの開発を実際に行われてる方っていますか?
日本語が問題なくソース内に打ち込めて(ことえりを使って入力できる、という意味)、使えるものといえば
Xcode及びEmacs(オリジナル及びCarbon版どれでも)以外ないのでしょうか..
wxPython実装のものなどを使ってみたりしましたが、
どうもうまく日本語入力できなかったりするんですよね。

PyScripterのようなお気軽なものってないんですかね?
Macでの開発環境スレとかで書くべき話題かもしれません。
646デフォルトの名無しさん:2008/09/17(水) 22:43:05
Pythonまったく関係ねー
647デフォルトの名無しさん:2008/09/17(水) 22:50:25
無いのでRuby使いましょう
648646:2008/09/17(水) 22:51:41
>>645
お前もうPython使わなくていいよ、迷惑だからー
649デフォルトの名無しさん:2008/09/17(水) 22:59:15
こういう出来損ない及び空気読めない奴が一番いらないよな
>>645のような。こういった質問はこのスレッドでは一切認めません。
650デフォルトの名無しさん:2008/09/17(水) 23:00:25
651デフォルトの名無しさん:2008/09/17(水) 23:01:48
Rubyに嫉妬されてるPythonってやっぱ凄いの!?
652デフォルトの名無しさん:2008/09/17(水) 23:12:21
Rubyから色々と機能を参考にしながら
実装していったから結構やれること多いよ
653デフォルトの名無しさん:2008/09/17(水) 23:19:04
LLの序列は、
Ruby>=Perl>>>Python>=PHP
こんな感じかな。

webに限定すると
Ruby>>PHP>>Perl>>>>>>>Python
になるな。Pythonは使いづらい点がある
654デフォルトの名無しさん:2008/09/17(水) 23:21:59
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)
Rubyにはプログラミング言語以上の価値があると思う [WebProg]
655デフォルトの名無しさん:2008/09/17(水) 23:29:35
656デフォルトの名無しさん:2008/09/17(水) 23:29:54
なんか荒らしてるの一人な気がしてきた。
みんなで645の質問に答えよう!
657デフォルトの名無しさん:2008/09/17(水) 23:32:26
>>645
じゃ俺から。つ TextWrangler
658デフォルトの名無しさん:2008/09/18(木) 00:06:53
そのうち見えなくなるさ。
空気のような存在になるよ。
659デフォルトの名無しさん:2008/09/18(木) 00:51:38
この板もID表示だったら良いのになと思うことが、1年に3回くらいある。
660デフォルトの名無しさん:2008/09/18(木) 01:03:49
>>653
Rubyすごいって言いにきたのかPythonの不満な点を指摘しにきたのかどっちなの
661デフォルトの名無しさん:2008/09/18(木) 01:16:42
アホにはかかわらない方がいいよ。ほっとくのが1番。
662デフォルトの名無しさん:2008/09/18(木) 01:20:18
>>660
後者に決まってるだろう
これだからPython厨は困る
663デフォルトの名無しさん:2008/09/18(木) 01:24:54
アンチは具体的に文句を言えよ。それができないなら単なる荒らし
self地獄でもインデントでもlambdaでもなんでもいいから
664デフォルトの名無しさん:2008/09/18(木) 01:25:06
叩くと増えるレスですね
665デフォルトの名無しさん:2008/09/18(木) 01:32:52
アンチ専用スレは今日も平和だ
666デフォルトの名無しさん:2008/09/18(木) 01:35:20
普通に無視してればいんじゃね

相手は一人なんだし。
667デフォルトの名無しさん:2008/09/18(木) 01:50:35
コードブロックにブレースを採用しない
パイソンは終わった言語です
668デフォルトの名無しさん:2008/09/18(木) 05:10:35
>663

アンチじゃなくて参考に聞きたいんだけど
self減らすテクニックとかってあるの?
669デフォルトの名無しさん:2008/09/18(木) 06:30:13
pythonについて議論してるところでrubyを宣伝するのは、matzを筆頭にruby厨の得意技だから
無視するしかない。
670デフォルトの名無しさん:2008/09/18(木) 06:35:23
>>668
エディタの機能を使ってselfを簡単に入力できるようにするしかないと思う。
671デフォルトの名無しさん:2008/09/18(木) 08:10:51
ていうかselfの何が嫌なの?
俺はselfなくなったらpython捨てる
672デフォルトの名無しさん:2008/09/18(木) 08:31:04
みんなよほどキチガイ観察が好きなんだな(www
673デフォルトの名無しさん:2008/09/18(木) 08:43:26
selfじゃなくて1文字でs、oみたいにするとか
674デフォルトの名無しさん:2008/09/18(木) 09:31:52
オレが第一引数!
675デフォルトの名無しさん:2008/09/18(木) 10:52:21
やはりRubyじゃないとこの先のLL界隈は
明るい展望が見えてこない。
676デフォルトの名無しさん:2008/09/18(木) 11:59:46
iを使おうぜ、iをさ。
iPythonみたいな。流行りそうだろ?
677デフォルトの名無しさん:2008/09/18(木) 12:02:25
と、iRubyのがよさそうだな、流行りそうだろ?
678デフォルトの名無しさん:2008/09/18(木) 12:27:20
IPythonならあるぞよ
679デフォルトの名無しさん:2008/09/18(木) 12:32:23
ruby厨ねえ
ひょっとしてc++をやたら批判しにくる連中と同じなのかい
680デフォルトの名無しさん:2008/09/18(木) 12:34:43
Rubyだったら$とかじゃないかなあ。$Ruby。
RoRとか金になりそうだけど、いろいろハマって精神壊しそう、みたいな。
どうよ$Ruby。流行りそうだろ?
681デフォルトの名無しさん:2008/09/18(木) 12:38:58
そうやっていじるからますますこのスレに住み着くんだってば
682デフォルトの名無しさん:2008/09/18(木) 12:42:37
Rubyで実装されたPython処理系とか無いのかな
683デフォルトの名無しさん:2008/09/18(木) 13:20:36
バカは相手にしなきゃいいのに…
684デフォルトの名無しさん:2008/09/18(木) 13:52:02
pythonよりRubyのほうが
使いやすいのはわかりきってること…
685デフォルトの名無しさん:2008/09/18(木) 14:14:33
>>669
PythonのMLに来てるのを見かけた時は唖然としたわ
686デフォルトの名無しさん:2008/09/18(木) 14:29:32
Pythonの問題かよくわからないのですが,質問させてください.
下のように端末幅より長い文字列をcursesで出力するとき,
1個目のaddstrは大丈夫ですが,2個目のaddstrでは文字化けします.
なぜこのようなことになってしまうのでしょうか?
文字化けしないようにするにはどうすればいいでしょうか?
普段使ってる端末は ck/cygwin/screen/WinXP ですが,
ck/cygwin で Linux に ssh した先の screen 上でも化けました.
screen なしで bash 上で実行しても化けました.
ただし,screen 上と bash 上では化け方が違ってました.

#!/usr/bin/python
# -*- coding: sjis -*-
import curses, nkf, time
s = "ソソソソソソソソソソソソソソソソソソソソソソソソソソソソソソソソソソソソソソソソソソソソ\n"
def main(scr):
 scr.scrollok(1)
 scr.immedok(1)
 scr.addstr(nkf.nkf("-e", s))
 scr.addstr(nkf.nkf("-e", " " + s))
 time.sleep(3)
curses.wrapper(main)
687デフォルトの名無しさん:2008/09/18(木) 15:58:20
>>680
オレの知り合いがRails案件に手を出してマジで鬱になってたよ。
要求通りのアプリを組むのは簡単だったみたいだが、パフォーマンス問題があって。
最後は発注元に訴えられて裁判沙汰になったらしい。
そして開発してたやつらはほとんど鬱になったそうだ。
688デフォルトの名無しさん:2008/09/18(木) 16:14:14
>>687
あんな罠言語に手を出すから。

なんで刑務所でRuby教えるんだろ?
689デフォルトの名無しさん:2008/09/18(木) 16:43:31
刑務所だからだろう?
690デフォルトの名無しさん:2008/09/18(木) 17:19:59
いやRubyだからだよ。
691デフォルトの名無しさん:2008/09/18(木) 18:19:58
>>687
はネタじゃねえな。
Railsってフレームワークのはずなのに
互換性をユーザが考えなくてはならない、
中身を知らないと駄目とかそういうレベルの
どうしようもない代物なのになぜか日本で流行ってるんだよな。
バージョンアップが早すぎて互換性が無くなるのはしょうがないとか
そういう議論で切り返されたりするわけだけど、
その場合同一のインタフェースを使い続けるんじゃなくて
別の物を定義してユーザにどちらか選ばせるとか
できないのかなとか疑問に思う。

Rails案件会社内で幾人かの人たちが携わってるけど、
最初は楽だ楽だと言ってたが、最近は「勉強不足で自分自身の存在疑う」
とまで言い始めた。いつに成ればRails or Ruby の拡張及び変更は
落ち着くのだろう。
692デフォルトの名無しさん:2008/09/18(木) 18:35:01
Rubyアンチスレがあるんだからそっちでやってくれないかな
693デフォルトの名無しさん:2008/09/18(木) 18:47:11
ここはPythonの実装に関する議論を繰り広げるためのスレッドだ。
初心者的な書込み及びステートメントに関する疑問は
別スレッドでどうぞ
694デフォルトの名無しさん:2008/09/18(木) 19:36:18
>>691
>Railsってフレームワークのはずなのに
RailsもRubyも言語じゃないよ宗教だよ
Pythonは言語だけど
695デフォルトの名無しさん:2008/09/18(木) 20:07:04
気狂いになりたい人 => Ruby
普通でいたい人 => Python
粘着Ruby厨 => 死に神

ということでFA?
696デフォルトの名無しさん:2008/09/18(木) 21:48:40
他言語を貶す必要はない
697デフォルトの名無しさん:2008/09/18(木) 22:25:15
と、死に神が言っています
698デフォルトの名無しさん:2008/09/18(木) 22:36:54
python 2.6 rc2 release
699デフォルトの名無しさん:2008/09/18(木) 23:23:25
ここのRuby厨はPythonに駆逐されそうだから荒らしにきてるのね。
700デフォルトの名無しさん:2008/09/19(金) 00:07:14
>>699
そうだろうね。
ちょうどmultiprocessingの話題が出たころから始まってるwww
701デフォルトの名無しさん:2008/09/19(金) 05:50:42
それは自意識過剰というもの。
702デフォルトの名無しさん:2008/09/19(金) 08:52:47
Rails案件で気が狂った厨房にはすべてが敵に見えるんだよ。
703デフォルトの名無しさん:2008/09/19(金) 10:20:37
だから反応するな話題に出すなボケ
704デフォルトの名無しさん:2008/09/19(金) 14:55:25
ということで>>686に答えて頂きましょうか
705デフォルトの名無しさん:2008/09/19(金) 15:08:36
locale.setlocale(locale.LC_ALL, "") してみ
706デフォルトの名無しさん:2008/09/19(金) 15:13:16
687,691は気狂いRuby厨用のテンプレとして末代まで祭りましょう。
707デフォルトの名無しさん:2008/09/19(金) 20:38:34
pythonはこのままいくと高速化されたJavascriptに置き変わるかもしれないそうです。
708デフォルトの名無しさん:2008/09/19(金) 20:48:34
javascript って内包表記のときに文字列リテラルとか
置かないといけないんじゃなかったっけ?あれが汚いなぁと思った。
あと、いつまでもヴァージョン上がらないし
709デフォルトの名無しさん:2008/09/19(金) 23:04:51
Booにはちょっと興味がある
710デフォルトの名無しさん:2008/09/20(土) 01:53:44
>>707
kwsk
711デフォルトの名無しさん:2008/09/20(土) 02:32:15
       _         _
      /::::::;ゝ-──- 、._/::::::ヽ
     ヾ-"´         \::::::|         r ‐、r ‐、r ‐、r ‐、
      /   _ Perl _  ヾノ .|~ ̄ ̄ ̄ ̄ ̄|  |  |  ! ,,, i ̄
      /  /・::::ヽ   /・::::ヽ  ヽ .| 潰す リスト | ,,,. i ,,,,. ! ,,. ト _,ノ
     |  丶:::::ノ ▼ ヽ:::::ノ  | | ───── ヽ_,人_,.人__ノ ──
     l   、、、 (_人_)  、、、  l ..| ・C←(潰した)
     丶     ヽノ     / .|─────────────
       丶、         / ....| ・ ASP←(叩き潰した)
..                    |─────────────
                     | ・ PHP ←(特に念入りに潰した)
                    |─────────────
                     | ・ Ruby ←(みんなの期待に答えて潰した)
                    |─────────────
                     | ・ Tomcat ←(最後の最後に叩き潰した)
                    |─────────────
712デフォルトの名無しさん:2008/09/20(土) 08:54:15
指定したファイルのパーミッションを調べたいんだけどどうすればいいの?
713デフォルトの名無しさん:2008/09/20(土) 09:09:30
import os
714デフォルトの名無しさん:2008/09/20(土) 09:30:12
>>712
オレが調べてやるよ。
一件1万でどうだ?
715デフォルトの名無しさん:2008/09/20(土) 09:41:00
自己解決しました
716デフォルトの名無しさん:2008/09/20(土) 20:36:20
自己発電しました
717デフォルトの名無しさん:2008/09/20(土) 22:57:18
もう質問するときはコテでもつけたほうがいいんだろうか・・・・・・
718デフォルトの名無しさん:2008/09/21(日) 00:31:01
イケメンハッカーが温泉でプログラミング言語をなにかにたとえてネットイナゴを集めました。
719デフォルトの名無しさん:2008/09/21(日) 20:59:54
test
720デフォルトの名無しさん:2008/09/21(日) 21:01:16
Python には関数プログラミングの機能が多く入り込んでいます。でも末尾再帰の最適化
は導入されていません。末尾再帰の最適化自体は、コンパイラの最適化のテクニックであ
り、既存のコードに殆ど影響を与えることなく、python に導入可能でしょう。にもかか
らわず、なぜ現在の python には末尾再帰の最適化が導入されていないのでしょうか?

私は、末尾再帰は goto と同様に避けるべきだと Guido が判断しているのだと推測しま
す。末尾再帰のテクニックは参照透明性を保つテクニックです。でも副作用を使いまくり
な python では参照透明な関数を追求する意味はありません。ならば不必要にコードを分
かり難くする末尾再帰は goto と同様に避けるべきだと判断しているのだと推測します。

皆様は どのように考えますでしょうか。
721デフォルトの名無しさん:2008/09/21(日) 21:47:00
[Python-Dev] Proper tail recursion から Guido の考えを拾ってみる。
722デフォルトの名無しさん:2008/09/21(日) 21:47:43
http://mail.python.org/pipermail/python-dev/2004-July/046171.html
> One reason is that if an exception happens in such a tail-recursive
> call, the stack trace will be confusing.
>
> Another reason is that I don't think it's a good idea to try to
> encourage a Scheme-ish "solve everything with recursion" programming
> style in Python.

http://mail.python.org/pipermail/python-dev/2004-July/046353.html
> I don't like reading code that was written by someone trying to use
> tail recursion. It's the ultimate code obfuscation.
>
> I also haven't seen the use case that requires this and couldn't
> easily be fixed by changing the data structure or code slightly.

http://mail.python.org/pipermail/python-dev/2004-July/046249.html
> And how should we decide whether something is better done without
> recursion? I currently have an easy answer: if it exceeds the
> stack limit, you're probably spending too much time on function
> calls...
723デフォルトの名無しさん:2008/09/21(日) 22:15:37
なにこの自演くさい展開?
724デフォルトの名無しさん:2008/09/21(日) 22:50:29
普通に一人で話を進めてるだけでは・・・
725デフォルトの名無しさん:2008/09/21(日) 23:22:02
スレタイらしい流れだしいいじゃないか
726デフォルトの名無しさん:2008/09/22(月) 06:14:41
今、末尾再帰が導入されたとして積極的に使おうと思うやつがどれだけいるのか分からんが、
参照透明なコードを書こうとするのはコードの易化にも繋がるし、悪いことだとは思えない。
末尾再帰ってニュースで興味を持つやつだっているだろうし、実装がつらくないなら入れて欲しい。
避けるべきなのは goto、そして副作用だと思う。
アローで完全に無くせとか言い出すのはやめて欲しいが。
727デフォルトの名無しさん:2008/09/22(月) 06:42:29
・LISP信者まじきもい
・emacsを使ってる奴は須らくキチガイ
と思ってて、西尾何とかのブログをみたんですが、
pythonを使うにはキチガイ染みた
LISPを理解しないと駄目なんでしょうか?
python使ってるとああいう変な人になっちゃうんでしょうか?
西尾という人については良く知らないけど、
経験的にemacsマンセーな人はほぼキチガイなので
正直戸惑います。
728デフォルトの名無しさん:2008/09/22(月) 08:08:32
すぐマンセーとか信者とか認定する人の方が基地外率は高かったように経験しています
729デフォルトの名無しさん:2008/09/22(月) 08:45:16
>>727-728
すれ違い
730デフォルトの名無しさん:2008/09/22(月) 08:50:06
末尾再帰はあったらあったで便利だけど、切実に必要だとは思わない
末尾再帰を使ったコードは見づらい

という考えの人が多いんだろうね。個人的にはループでできることはループで
やればいいと思う。これまでに蓄積されているアルゴリズムのほとんどはループ
ベースで書かれているから流用しやすいし。

>>726
末尾再帰を最適化する事と参照透過は別の問題だお。
Scheme処理系はは末尾再帰の最適化をするけど参照透過じゃない。
(define x 10)
(define (f a) (set! x "Ref Trans") a)
x ; => 10
(f "dummy")
x ; => "Ref Trans"
731デフォルトの名無しさん:2008/09/22(月) 08:56:08
Python の yield と Ruby の yield はどうちがうのですか?
732デフォルトの名無しさん:2008/09/22(月) 09:27:07
それを知ってどうする。暗黒面でもかぶるのか。
733デフォルトの名無しさん:2008/09/22(月) 10:31:21
>>731
見た目の上での使い方は似たようなもの。
どう違うかは、それぞれの言語をきっちり理解すればわかる。
ここで説明するのは難しい。
734デフォルトの名無しさん:2008/09/22(月) 11:22:03
RubyがPythonのyieldをぱくったというのが歴史的事実。
735デフォルトの名無しさん:2008/09/22(月) 12:08:51
PEP 255 が Created: 18-May-2001 なんですが、
どうやったらそれを Ruby がパクれるんですか?
736デフォルトの名無しさん:2008/09/22(月) 12:14:17
Rubyにいつからyieldがあったかを示せばそれで話は終わるが
それだけじゃ情報が足りん!
737デフォルトの名無しさん:2008/09/22(月) 12:23:42
Rubyの場合はCLU(1974年開発)由来
738デフォルトの名無しさん:2008/09/22(月) 12:28:13
少なくとも『オブジェクト指向スクリプト言語 Ruby』出版時にはあった
1999年出版
739デフォルトの名無しさん:2008/09/22(月) 12:42:17
Ruby には詳しいんですね
740デフォルトの名無しさん:2008/09/22(月) 12:43:59
Python厨とRuby厨が仲直りするスレってなくなったのか?
741デフォルトの名無しさん:2008/09/22(月) 12:58:50
pythonを勉強したときに得られるメリットを全部教えて。

自分が知ってるのは、open officeのマクロを書ける。
グーグルの公式社内言語
pygameとかいうものがあるらしい
教育用に向いてる?

こんくらい。
742デフォルトの名無しさん:2008/09/22(月) 12:59:23
Ruby厨はPythonをたたく前に,Rails案件で生産されるメンヘラをなんとかしろよ。
743デフォルトの名無しさん:2008/09/22(月) 13:02:34
>>741
2番目、おまえには全くメリットじゃないと思うがw
744デフォルトの名無しさん:2008/09/22(月) 13:24:41
pythonでCGIゲーム作れるの?
745デフォルトの名無しさん:2008/09/22(月) 13:42:55
作れます
746デフォルトの名無しさん:2008/09/22(月) 14:19:59
>>741
なんかどれもこれも違和感あるな
組み込みスクリプトとしては、多分Pythonが一番使われてるのは
3Dグラフィックスの分野

俺的には以下のような点が気に入っているが、
別にオンリーワン的なものじゃない
・比較的まともなUnicodeサポート
・インタプリタが使いやすい(特にipythonを利用する場合)
・インタプリタ言語のなかでは比較的高速
・標準/外部ライブラリセットの品揃えがわりと豊富
・C/C++との連携がわりと容易で、boost.pythonのようなものもあり、
 Windowsではexeも生成できる
・ソースコードが比較的擬似コードに近く、読みやすい
・マルチパラダイム
・モジュールシステムが比較的使いやすく便利
747デフォルトの名無しさん:2008/09/22(月) 15:16:37
・Rubyじゃない
・Perlじゃない
・PHPじゃない
748デフォルトの名無しさん:2008/09/22(月) 15:22:04
・正規表現がオプション
・1行野郎できない
・そもそもスクリプトで大規模なものを書かない
・よって使い道がない
749デフォルトの名無しさん:2008/09/22(月) 15:27:52
>>748 正規表現リテラルってそんなに重要か?
750デフォルトの名無しさん:2008/09/22(月) 15:29:49
今のperlって、日本語使おうとすると
単にimport reするよりダラダラ呪文を書く必要があるような気がするんだが
751デフォルトの名無しさん:2008/09/22(月) 15:33:05
>>749
なにを言っているんだ、Perl界の貴公子miyagawaですら正規表現大好きっ子なんだぞ。
正規表現こそ正義だ!
HTMLもXMLも正規表現を使ってパースしろ!!
752デフォルトの名無しさん:2008/09/22(月) 15:36:06
>>751
いっそチューリング完全な正規表現エンジン組み込んで
Perl言語も正規表現でパースすればよくね?(w
753デフォルトの名無しさん:2008/09/22(月) 15:39:40
>>752
それplaggerで(ry
754デフォルトの名無しさん:2008/09/22(月) 16:21:59
一行野郎を召喚しようとしているスレはこちらですか?
755デフォルトの名無しさん:2008/09/22(月) 16:25:16
>746
読みやすいの一環とも言えるけど
変な暗黙動作(perl の存在しない変数が読めるとか)がない
(→スッキリ明快、バグ少なくしやすい)
ってのが重要かな

>747
一瞬納得しかけたw
756デフォルトの名無しさん:2008/09/22(月) 21:08:29
フラッシュメモリみたいなポータブル環境でPython使おうと目論んでるんだけど、
IDLE起動するバッチはどう書けばいいのかな?
フォルダ構造は、Fにバッチ、F直下にpython25。
757デフォルトの名無しさん:2008/09/22(月) 23:39:29
うわぁ… これはひどい
758756:2008/09/23(火) 15:01:32
は?
759デフォルトの名無しさん:2008/09/23(火) 18:07:37
何がひどいかは知らんが、
>>756のやりたいことからするとPortable Pythonを使えば済みそう

http://www.portablepython.com/

まだ自分が使ったとこないので使い勝手については何もいえないが・・・
760デフォルトの名無しさん:2008/09/23(火) 19:45:31
>>758
勝手に自演すなwww

>>759
うお、初見。
dクス。
761デフォルトの名無しさん:2008/09/23(火) 20:08:43
紹介してもらっておいてすまないんだけど、これじゃ出来んかった。
Python起動→IDLE実行の流れで行きたいんだけどね。
762デフォルトの名無しさん:2008/09/23(火) 20:20:36
よくわからんが
pythonインタプリタから実行したいんなら

import idlelib.PyShell
idlelib.PyShell.main()

とかでダメか?
763デフォルトの名無しさん:2008/09/23(火) 20:28:48
Tk入れてないとかいうオチじゃないだろうな
764デフォルトの名無しさん:2008/09/23(火) 20:34:52
つまり、使うパソコンでは環境変数が設定されてないんだ。
その環境で、IDLEを一発で起動させる策を考えてる。
765デフォルトの名無しさん:2008/09/23(火) 20:38:24
設定すればいいだろ
766デフォルトの名無しさん:2008/09/23(火) 20:38:28
>>762
そのコードをpythonwのショートカットに放り込むのは出来た。
もうちょっとスマートにいけないものかと。
767デフォルトの名無しさん:2008/09/23(火) 20:40:18
Fwwwドwwwラwwwイwwwブwww
768デフォルトの名無しさん:2008/09/23(火) 20:50:13
>>767
勝手に自演すなwww
769デフォルトの名無しさん:2008/09/23(火) 21:02:17
F:\python25\pythonw.exe -m idlelib.idle
770デフォルトの名無しさん:2008/09/23(火) 21:24:38
>>768
勝手に自演すなwww

ID表示って大切なんだなww
771デフォルトの名無しさん:2008/09/23(火) 21:28:47
>>769
d。
これでいいのね。

start Python25/pythonw.exe -m idlelib.idle
772デフォルトの名無しさん:2008/09/23(火) 21:41:43
いやそれちがう
773デフォルトの名無しさん:2008/09/23(火) 21:47:06
>>769
うお、初見。
dクス。
774デフォルトの名無しさん:2008/09/23(火) 21:51:10
>>772
できたよ?
775デフォルトの名無しさん:2008/09/23(火) 21:56:10
>>773
できたよ?
776デフォルトの名無しさん:2008/09/23(火) 21:58:42
できたかな?
777デフォルトの名無しさん:2008/09/23(火) 22:01:27
>>13
うお、初見。
dクス。
778デフォルトの名無しさん:2008/09/23(火) 22:12:16
うお、角電池入った。
dクス。
779デフォルトの名無しさん:2008/09/23(火) 22:13:39
ものすごい粘着がいるな。
780デフォルトの名無しさん:2008/09/24(水) 01:49:24
ctypesを使ってSusieプラグインを動かそうとしてます。
GetPluginInfo, IsSupported, GetPictureInfoに関しては
最低限使いたい部分の利用が出来ることを確認したんですが、
GetPictureで実際にBITMAPデータを取って来るところで詰まってしまいました。
やりたいことは要するにポインタが指しているアドレスにあるデータを
構造体や配列にキャストしたいっていうことなんですけど、
どうやればよいんでしょう?

↓現時点でのソースコードです。
http://www-2ch.net:8080/up/download/1222188052755856.MLJkF6
781デフォルトの名無しさん:2008/09/24(水) 02:34:08
>>780
返事したいが規制されてる希ガス。。。
782デフォルトの名無しさん:2008/09/24(水) 02:36:14
規制されてなかった!
PBITMAPINFO = pointer(BITMAPINFO)
pbmpinfo = PBITMAPINFO()
byref(pbmpinfo)
783デフォルトの名無しさん:2008/09/24(水) 02:40:43
GetPicture で取得できるのは HLOCAL のハンドルなんで
LocalLock, LocalUnlockつかってバイト列にアクセスする
784デフォルトの名無しさん:2008/09/24(水) 02:51:16
bytearray = c_uint8 * (640 * 480 * 3) # 画像のサイズ
bytearray.from_address(bmpdata)
785デフォルトの名無しさん:2008/09/24(水) 03:51:58
>>782-784

ありがとうございます。
ただ、>>782 のコードだとPBITMAPINFO = pointer(BITMAPINFO)でエラーが起きます。(python 2.5.2)
一応下のようにすると動くことは動くのですが、同じファイルを処理しているのにbiSizeとbiHeightの値が毎回異なります。
なので、妙なところを見ているのかも知れません。
bmpdataのほうも先頭20個を表示してみたら毎回結果が異なります。

pbmpinfo = pointer(BITMAPINFO())
bmpdata = c_void_p()
err = self.dll.GetPicture(filename, 0, 0, byref(pbmpinfo), byref(bmpdata), 0, 0)
bmpinfo = pbmpinfo.contents
print bmpinfo.bmiHeader.biSize
print bmpinfo.bmiHeader.biWidth
print bmpinfo.bmiHeader.biHeight
pinfo = self.getPictureInfo(filename)
bytearray = c_uint8 * int(pinfo.width * pinfo.height * pinfo.color / 8) # 画像のサイズ
bdata = bytearray.from_address(bmpdata.value)
print bdata[0:20]
786デフォルトの名無しさん:2008/09/24(水) 04:24:15
PBITMAPINFO = POINTER(BITMAPINFO)
pBitmapInfo = PBITMAPINFO()

でも問題はこっちより>>783が言ってくれてることだと思うよ
そのコードだとハンドルをポインタとして扱ってしまっているように見える
ハンドルはファイルディスクリプタのようなもので単なる整数
787デフォルトの名無しさん:2008/09/24(水) 05:10:16
>>786
ポインタだと思ってましたけど、違うんですね。
LocalLockとかを使う方法を試してみます。
788786:2008/09/24(水) 07:37:22
>>787
ごめん大嘘つきました。メモリブロックを指すポインタです
>>786はスルーしてください
789デフォルトの名無しさん:2008/09/24(水) 09:54:31
PBITMAPINFO = POINTER(BITMAPINFO)
pBitmapInfo = PBITMAPINFO()

でも問題はこっちより>>783が言ってくれてることだと思うよ
そのコードだとハンドルをポインタとして扱ってしまっているように見える
ハンドルはファイルディスクリプタのようなもので単なる整数


これ次からテンプレに入れる
790786:2008/09/24(水) 10:25:04
ありがとうございます
791780,785,787:2008/09/24(水) 11:21:10
以下のようなコードでbiWidth, biHeightが正しく読み込めることが確認できました。
これでなんとかなりそうです。

windll.kernel32.LocalLock.argtypes = [ c_void_p ]
windll.kernel32.LocalLock.restypes = c_void_p
windll.kernel32.LocalUnlock.argtypes = [ c_void_p ]
windll.kernel32.LocalUnlock.restypes = c_byte

pbmpinfo = c_void_p()
pbmpdata = c_void_p()
err = self.dll.GetPicture(filename, 0, 0, byref(pbmpinfo), byref(pbmpdata), 0, 0)
pdata = windll.kernel32.LocalLock(pbmpinfo)
bmpinfo = BITMAPINFO.from_address(pdata)
print bmpinfo.bmiHeader.biSize
print bmpinfo.bmiHeader.biWidth
print bmpinfo.bmiHeader.biHeight
windll.kernel32.LocalUnlock(pbmpinfo)
792デフォルトの名無しさん:2008/09/24(水) 11:35:16
LocalSizeでメモリブロックのバイト数が取得できる
あと、LocalFreeでメモリ解放するのも忘れずに
793791:2008/09/24(水) 19:18:52
とりあえず24bitの無圧縮データを返すようなspiであれば
画像をGetPictureで読み込んでPILのイメージオブジェクトを返すことが出来るようになりました。

http://www-2ch.net:8080/up/download/1222251295712076.Y78r1V
794デフォルトの名無しさん:2008/09/25(木) 02:11:50
>>792
うお、初見。
dクス。
795デフォルトの名無しさん:2008/09/25(木) 05:36:02
LocalAlloc っていつまで使えるんだろうな…
796デフォルトの名無しさん:2008/09/26(金) 15:52:48
バイナリもじれつから拡張子を取得するにはどうしたら良いんでしょうか?
797デフォルトの名無しさん:2008/09/26(金) 15:59:38
適当にUnicode文字列に直してos.path.splitext()でいいんじゃない
798デフォルトの名無しさん:2008/09/26(金) 16:04:43
たぶんfileコマンドとmime.typesの複合技みたいなことじゃない?
799デフォルトの名無しさん:2008/09/26(金) 21:31:14
prime = [2]
num = 1
root = 1
while 1:
num += 2
root += 1
while num > root * root:
root += 1
root -= 1
for p in prime:
if num % p == 0:
break
elif p > root:
prime.append(num)
print num
break
800デフォルトの名無しさん:2008/09/26(金) 21:35:06
誤爆……
801デフォルトの名無しさん:2008/09/27(土) 00:36:38
dosでこれができるけどshだと出来ないとか、
無意味に両方使いこなそうとしてる馬鹿が多いから、
Pythonを職場に持ち込みたいんだけどどうしたらいいかな?
802デフォルトの名無しさん:2008/09/27(土) 01:24:29
持ち込めばいいよ
803デフォルトの名無しさん:2008/09/27(土) 01:52:01
>>801
Pythonはシェルやコマンドインタプリタの代用にはならないよ
804デフォルトの名無しさん:2008/09/27(土) 02:02:44
っIPython
805デフォルトの名無しさん:2008/09/27(土) 04:10:02
806デフォルトの名無しさん:2008/09/27(土) 04:10:33
両方使いこなすのはいいことだろ。
文句くらい別にいいじゃん、使いこなせているなら。
まぁ、文面からすると使いこなせていないんだろうけどな。
807デフォルトの名無しさん:2008/09/27(土) 09:01:46
cygwin 使えや
808デフォルトの名無しさん:2008/09/27(土) 22:16:36
ある企画で人員を募集しています。
あたらしい学校型コミュニティサイトを作りましょう!
Python技術者募集中。

進行状況 by GoogleDocs (毎日更新)
http://docs.google.com/Present?docid=dfs7jg57_0gdk2bscj&skipauth=true
809デフォルトの名無しさん:2008/09/27(土) 23:02:36
おいおい、VIP発かよ…
810793:2008/09/27(土) 23:26:41
PILのImagePlugin化ができました。
Susie.pyは

from PIL import Image
import Susie
Susie.regist_to_PIL('ifjp2.spi', "JPEG2000", [".jp2"])

みたいにすることで Image.open('test.jp2') でtest.jp2が読み込めます。

SusieImagePlugin.pyにはSusie.regist_to_PILを使いたいspiの分だけ書いておけば
from PIL import Imageするだけで済むようになります。
(場合によっては Image,init() が必要かも)

http://park7.wakwak.com/~blackbox/etc/Susie.zip
811デフォルトの名無しさん:2008/09/27(土) 23:27:07
812デフォルトの名無しさん:2008/09/28(日) 02:47:22
>>810
一発ネタじゃないんだし、zipへの直リンじゃなく
up用のサイト持ったほうがいいんじゃないか?

デザインとか無視で>>810がそのまま載ってるだけのサイトでいいから
813デフォルトの名無しさん:2008/09/28(日) 03:13:22
urlを削って見てみるとかいう事は考えつかないの?
配布専用じゃないけど↑のファイルには↓からリンク張ってる。
http://park7.wakwak.com/~blackbox/
814デフォルトの名無しさん:2008/09/29(月) 01:34:35
Windows環境でwxPythonのwx.FileDialogからファイルパスを
取得してそれをPythonのfileオブジェクトでテキストファイルとして
出力したいのですが、ファイルパスにエスケープシーケンスと
同じ文字並びが出ると正しいパスになりません。文字列変数に
格納した文字列のエスケープシーケンスを無効にする方法は
ありませんか。
ご教示お願いします。
815デフォルトの名無しさん:2008/09/29(月) 02:03:42
>>813
移動中に携帯から見たんでそんなこと言われても知らね
816デフォルトの名無しさん:2008/09/29(月) 02:22:12
>>814
具体例は?
817デフォルトの名無しさん:2008/09/29(月) 02:28:03
>>814
wx.FileDialogが返すファイル名ってUnicodeじゃなかったっけ?
Pythonはファイル名がunicode文字列ならwfopen()を使う。
もしcp932のファイル名が帰ってくるなら、filename.decode('cp932') とやってUnicodeにしてから
open()すればいい。
818デフォルトの名無しさん:2008/09/29(月) 02:30:33
>>814
俺の環境だとその問題は起きないんだが(勘違いならごめん)
WindowsXP SP2
Python2.5.2
wxPython2.8.8.1(unicode)

dlg = wx.FileDialog(self, 'Choose a file', '.', '', '*.*', wx.OPEN)
try:
if dlg.ShowModal() == wx.ID_OK:
filename = dlg.GetPath()
dst = open(filename+'.txt', "wb")
dst.write(filename+'\n')
dst.write(str(type(filename))+'\n') # <type 'unicode'>
dst.close()
finally:
dlg.Destroy()
819デフォルトの名無しさん:2008/09/29(月) 12:18:31
ファイルパスの中の\を全部/に置換すればいい
820デフォルトの名無しさん:2008/09/29(月) 12:22:52
>>819
"表" が、ゴミ1バイトと/になるんですね。わかります。
821デフォルトの名無しさん:2008/09/29(月) 12:45:49
ちゃんとunicodeで置換したらそうはならないよ
822デフォルトの名無しさん:2008/09/29(月) 15:14:32
>>803
emacsのpython.el
で一度import hogeで読み込んだhoge.so
を解放してもう一度読み込み直しが簡単にできない( hoge.so がコンパイルされた)

これできればpython.elの端末に住めるのに
823デフォルトの名無しさん:2008/09/29(月) 15:45:46
reload(hoge)
824814:2008/09/29(月) 18:01:07
当方の勘違いで全く別のバグでした。問題解決しました。
御回答いただいた方々にお詫びとともに感謝
申し上げます。


別件をwxWidgetsスレで尋ねたのですが、こちらのスレに
詳しい方が多そうなのでもう1つ。

wxWidgetsのDLLをUPX圧縮した状態でwxを使うツールを
2重起動するとOS毎固まる症状が出ています。
調べた限りではwxのどのDLL,pydを圧縮しても
同じ症状が出るようです。

OS Win98
WxWidgets 2.8(wxPython2.8.7.1 本家のWin版)
UPX 2.0.3

AVSP(1.3.6 python2.4 wx2.6)ではUPX圧縮してあっても
多重起動できているのでバージョンの問題かも
しれませんが、ツールを一纏めにして配布する
予定なので出来るだけ圧縮して使用したいのです。
圧縮の目的はサイズ縮小よりも起動時間の短縮です。

検索したところUPXのパラメータをいじるとうまくいったと
あったので-1と-bestを試したのですがダメでした。
AVPSは-bestで圧縮しているようです。

御教示よろしくお願いします。
825デフォルトの名無しさん:2008/09/29(月) 18:30:25
よく分からんがWin98のせいだろ
826デフォルトの名無しさん:2008/09/30(火) 08:50:13
>>824
よほど遅いメディアから起動するのでなければ、UPXで圧縮しても
起動時間は短くならないと思うが。
あとUPXとかで圧縮すると、メモリ消費量が増えるよ。
特に多重起動した場合はインスタンスの数だけ消費するから酷い。
827デフォルトの名無しさん:2008/09/30(火) 14:42:24
古いpythonしかない環境でPIL動かしたい
普通にsetupするとimport Imageでこける
いくつか昔のPILいれれば大丈夫なんでしょうか?
828デフォルトの名無しさん:2008/09/30(火) 14:53:59
古いpythonって具体的にバージョンいくつ?
「こける」ってことは例外すらも出ないってこと?
829デフォルトの名無しさん:2008/09/30(火) 14:58:31
>>827
ライブラリはPythonのバージョンに当然依存するよ

特にPILのようにCで書かれたライブラリなら、厳密にバイナリ互換の
バージョンでないと動かない
マイナーバージョンの違いぐらいなら普通は大丈夫だが
そうでなければアウト
バイナリ互換でなくともソース互換であるのなら、
自分でmakeすれば大丈夫だが
830デフォルトの名無しさん:2008/09/30(火) 16:09:21
wxpythonでキーイベントを受け取って、キーによって処理を分岐させようと思って
いるのですが、やり方がわかりません。
シフトやコントロールキーはWXK_XXXという形で定義されているのでいいんですが、
'a'や'y'といったキーを押されたときにどうやって分岐させればよいでしょうか?
'a'が押されたかどうか判定するのは、
if event.GetKeyCode()==65
で出来ることは出来るんですが、直接アスキーコードで判定するしか方法はない?
831デフォルトの名無しさん:2008/09/30(火) 16:56:53
rpm --prefix=/home/myname hoge.rpm
でhomeにinstallしようとすると
/var/lib/rpmPackages
にアクセスできません(許可されない操作)
といわてinstallできないのですが
rootにならないでinstallすることはできないのでしょうか?
832デフォルトの名無しさん:2008/09/30(火) 16:57:53
>>830
if event.GetKeyCode() == ord('A'):
833デフォルトの名無しさん:2008/09/30(火) 17:05:03
>>832
ありがとうございます!
やっとで解決策が(泣)
絶対アスキーコード(でいいのか?)に変換できる関数があるはずだと
探しても見つからずじまいで…。助かりました!
834デフォルトの名無しさん:2008/09/30(火) 17:42:13
ctypesで、openGLのプログラム

int main(int argc, char *argv[])
{
glutInit(&argc, argv);
省略
}

をpythonではどう表現したらいいのか分からない。
ttp://d.hatena.ne.jp/m107/20070415
を参考にやって見てるんだけど、glutInitの引数の表現の仕方が謎。
PyOpenGL使えとかそういう話じゃなくて、他のライブラリ使う時も上のような
形は良く出てくるような気がするから後学のためにご教示お願いします。


835デフォルトの名無しさん:2008/09/30(火) 18:04:57
ためしてないけど
こんな感じでいけないか?

argc = ctypes.c_int(len(sys.argv))
argv = (ctypes.c_char_p * (len(sys.argv) + 1))()
for i, arg in enumerate(sys.argv):
  argv[i] = ctypes.c_char_p(arg)
glutInit(ctypes.byref(argc), argv)
836814:2008/09/30(火) 18:37:49
>>825,826
御回答有難うございます。

Py2ExeでExe化したものを配布します。この状態でならば
UPX圧縮すると起動時間が半分くらいになります。
スクリプトとして起動するよりかなり早く起動できています。
Exe化が当問題と関係ない事は確認済みです。
2重起動は必要ないのですが誤って多重起動して
ハングする対策をしたかったのです。

対策がなさそうなので起動用の
入り口プログラムを別に用意します。
837デフォルトの名無しさん:2008/09/30(火) 18:50:59
>>835
ありがとうございます。
試して見たところ、動きました!

glutのコールバック関数で少しつまづきましたが、すんなり実行できました。
838デフォルトの名無しさん:2008/09/30(火) 19:42:33
>>831
誤爆した
839デフォルトの名無しさん:2008/09/30(火) 22:01:38
まるまるコピーしてみてログインできないのですが
わかる人、教えてください。

import urllib
import httplib2

http = httplib2.Http()

url = 'https://login.yahoo.co.jp/config/login?.src=www&.done=http://www.yahoo.co.jp'
body = {'USERNAME': 'hogehoge', 'PASSWORD': 'hogehoge'}
headers = {'Content-type': 'application/x-www-form-urlencoded'}
response, content = http.request(url, 'POST', headers=headers, body=urllib.urlencode(body))

840デフォルトの名無しさん:2008/09/30(火) 22:14:01
とりあえずフォームの中身の確認ぐらいしとけ
841デフォルトの名無しさん:2008/09/30(火) 23:57:37
{'Content-type': 'text/html'}
こう?
842デフォルトの名無しさん:2008/10/01(水) 00:00:57
あぁぁぁ
さっぱりわからん。

だれかさんぷるくれ〜〜〜。
843デフォルトの名無しさん:2008/10/01(水) 00:22:21
[('Content-Type', 'text/html')] と予想
違ったらリファレンス見ろ。
844デフォルトの名無しさん:2008/10/01(水) 00:45:33
質問です。以下のような XMLを、HTMLParserで読み込んでいるのですが、

(略)
<link>http://www.qubit.org/people/david/Articles/CommentOnLockwood.html</link>
<title>Comment on “‘Many Minds’ Interpretations of Quantum
Mechanics” by Michael Lockwood</title>
(略)

この部分のtitle要素が
by Michael Lockwood
だけしか取得できません。文字参照があるとうまく行かないようです。

これは何が原因で、どうやったら解決できるでしょうか?
845844:2008/10/01(水) 00:47:46
すみません、文字参照が変換されてしまいました。&を全角にして書き直します。

<link>http://www.qubit.org/people/david/Articles/CommentOnLockwood.html</link>
<title>Comment on &#8220;&#8216;Many Minds&#8217; Interpretations of Quantum
Mechanics&#8221; by Michael Lockwood</title>
846デフォルトの名無しさん:2008/10/01(水) 01:17:44
こんな感じ?

from HTMLParser import HTMLParser

class MyHTMLParser(HTMLParser):
    def __init__(self):
        HTMLParser.__init__(self)
        self.title = ''

    def handle_data(self, data):
        self.title = data

parser = MyHTMLParser()
parser.feed(xml)
print parser.title

これなら def handle_data(self, data): self.title += data に直す
847844:2008/10/01(水) 01:18:42
一応、自分のコードも晒します。単純なので、バグはないと信じたいのですが。

class MyHTMLParser(HTMLParser.HTMLParser):

    def __init__(self):
        HTMLParser.HTMLParser.__init__(self)
        self.__link = ""
        self.__data = ""

    def handle_data(self, data):
        self.__data = data

    def handle_endtag(self, tag):
        if tag == 'link':
            self.__link = self.__data
        elif tag == 'title':
            print self.__data
            print self.__link
            print
848844:2008/10/01(水) 01:32:01
>>846
うまく行きました!ありがとうございました。

    def handle_data(self, data):
        self.__data += data

    def handle_endtag(self, tag):
        ...(略)...
        self.__data = "" # この行を追加。

あとはなんか改行が増えたので、あちこち微調整しましたが、基本的にはこれ
で行けました。


しかし文字参照は完全に無視されてしまうのですね。
http://programming-magic.com/?id=173
この辺を使って直す必要があるのかしら。
849デフォルトの名無しさん:2008/10/01(水) 01:36:24
パーサが文字参照に出会うと handle_charref を呼ぶので
そこに文字参照を解決するコードを書く

ただ基本的にはElementTreeオススメ

import xml.etree.cElementTree as ET
root = ET.fromstring(xml)
print root.find('title').text
850844:2008/10/01(水) 01:39:29
>>849
ありがとうございます。明日試してみます。
851デフォルトの名無しさん:2008/10/01(水) 02:12:54
並列計算のライブラリって結構あるのね

ParallelProcessing - PythonInfo Wiki
http://wiki.python.org/moin/ParallelProcessing
852デフォルトの名無しさん:2008/10/01(水) 09:34:01
python.el
に~/bin/python
を読ませるのってどうするの?
853デフォルトの名無しさん:2008/10/01(水) 10:08:48
854814:2008/10/01(水) 16:23:25
問題の根本が解決しました。UPXのバージョンを最新にして
圧縮したら上手くいきました。
本家でもWin32PEで新規対応したとはなく、何を
BugFixしたのかも書いてないけれど何かあったようです。

先のレスでも書いたように当方の環境ではUPX圧縮すると
起動が速くなっていますが最近のPCでは速くなりませんか。
スクリプトを単体実行するにはいい方法だと思うのですが、
メモリ消費量が多いとか圧縮の可搬性は書庫化で十分
という意見ばかりで、いい印象を持っている方は少ない
ようですね。
スレ違いで失礼しました。
855デフォルトの名無しさん:2008/10/01(水) 20:27:08
PythonのCGIでCookie操作ってどうすればいいの?
856デフォルトの名無しさん:2008/10/01(水) 20:49:13
>>855
JS使え
857デフォルトの名無しさん:2008/10/01(水) 20:54:04
>>855
HTTPヘッダのSet-Cookieに入れる。

取得は環境変数のHTTP_COOKIEを見る。
858デフォルトの名無しさん:2008/10/01(水) 22:05:39
key not found で例外ですねわかります
859855:2008/10/02(木) 02:14:53
すまんが誰か作ったモジュール公開してくれない?
860デフォルトの名無しさん:2008/10/02(木) 02:15:54
お断りします
861デフォルトの名無しさん:2008/10/02(木) 02:19:44
862デフォルトの名無しさん:2008/10/02(木) 05:55:12
7000億のメールってすごいな。
863デフォルトの名無しさん:2008/10/02(木) 11:41:44
Chromeっていいね
864デフォルトの名無しさん:2008/10/02(木) 12:16:19
pythonってどういう目的のときに使うの?
865デフォルトの名無しさん:2008/10/02(木) 12:17:16
2.6リリース
866デフォルトの名無しさん:2008/10/02(木) 14:15:18
>>864
Wikipediaでも見てみるがいいよ
Pythonを利用しているソフトや企業が載ってる
867デフォルトの名無しさん:2008/10/02(木) 14:22:26
868デフォルトの名無しさん:2008/10/02(木) 14:38:02
個人的にはWindowsでのデフォコンパイラがVC9になったのが
意外とデカい(対応が面倒くさいという意味で)
869デフォルトの名無しさん:2008/10/02(木) 18:39:50
#!/usr/local/bin/python
# -*- coding: utf-8 -*-
import Cookie
import os

name = "test"
cookie = os.environ['HTTP_COOKIE']
cookie2 = Cookie.Cookie.decode(cookie)

print 'Content-Type: text/html'
print
if not cookie2:
print 'Set-Cookie: test=' + name + '; expires=' + time.strftime('%a, %d-%b-%Y 23:59:59 GMT') + ';'
print cookie2



クッキー操作ってこれじゃダメなのかな?
870デフォルトの名無しさん:2008/10/02(木) 18:52:40
>>865
GJ!
871デフォルトの名無しさん:2008/10/02(木) 18:55:07
print 'Content-Type: text/html'
print ←ここがおかしい
if not cookie2:
print 'Set-Cookie: test=' + name + '; expires=' + time.strftime('%a, %d-%b-%Y 23:59:59 GMT') + ';'
print cookie2
872デフォルトの名無しさん:2008/10/02(木) 19:06:32
name = "test"
cookie = os.environ['HTTP_COOKIE']
cookie2 = Cookie.Cookie.decode(cookie) ←ここもおかしい
873デフォルトの名無しさん:2008/10/02(木) 21:38:50
2.6 Windowsバイナリも公開されてた。
874デフォルトの名無しさん:2008/10/02(木) 21:46:27
#!/usr/local/bin/python
# -*- coding: utf-8 -*-
import os
import Cookie

Co = Cookie.Cookie()
Co['pytest'] = '123456'
Co['pytest']['expires'] = Cookie._getdate(60*60*20)
Co = str(Co) + ';'

cookie = os.environ['HTTP_COOKIE']
cookie2 = Cookie.SimpleCookie()
cookie2.load(cookie)
print "Content-Type: text/html\n"
print Co
print "<br>"
print cookie2

こうか
875デフォルトの名無しさん:2008/10/03(金) 07:48:19
効果無し
876デフォルトの名無しさん:2008/10/03(金) 09:41:15
すまん。もっと良いものつくれ。
877デフォルトの名無しさん:2008/10/03(金) 11:48:47
急に思い出せなくなちゃった。

pythonってCみたく
return a == b ? a : b
のような書き方はないですか?

878デフォルトの名無しさん:2008/10/03(金) 11:56:49
a if a == b else b
879デフォルトの名無しさん:2008/10/03(金) 12:35:53
880デフォルトの名無しさん:2008/10/03(金) 12:39:59
スレ違い
881デフォルトの名無しさん:2008/10/03(金) 13:31:57
3.0のリリース予定が年内になったな
882デフォルトの名無しさん:2008/10/03(金) 14:32:34
>>879
>Ruby の素直で覚えやすいオブジェクト指向の機能
>Python の豊富なモジュール

なんかわろす
883デフォルトの名無しさん:2008/10/03(金) 14:49:19
慣れ親しんだ Ruby って書いてくれれば違和感ないんだけどねぇ

もっとも… 扇るほどの話じゃないわな
884デフォルトの名無しさん:2008/10/03(金) 18:05:48
>>879
昔rubyのライブラリが少なめだったのであったようなもん
今わざわざこれをつかう理由は無い
885デフォルトの名無しさん:2008/10/03(金) 20:36:03
>>853
よくわかんね
886デフォルトの名無しさん:2008/10/03(金) 22:36:56
python2.6
pygameは既に対応モジュール配布されてるけど、
PILはまだだし様子見だな…
2.5, 2.6, 3.0 が共存できればいいんだけど、
winだと関連付けがネックになるなぁ。
887デフォルトの名無しさん:2008/10/03(金) 22:41:40
>877-878
Pythonの三項演算は宿題スレで嫌われる「条件後付け」だと覚えればいい。

a if pred else b

・a なんです。
・あ、書き忘れましたがそれは pred の時だけです。
・違ったら b にしてください。
888デフォルトの名無しさん:2008/10/03(金) 23:02:20
どうして普通に pred ? a: bにしなかったのだろうか。頭おかしいとしか思えないwww
889デフォルトの名無しさん:2008/10/03(金) 23:03:28
return a == b ? a : b
にしろ
return a if a == b else b
にしろ
retrun b
じゃだめなん?
890デフォルトの名無しさん:2008/10/03(金) 23:04:53
?:が普通だと思う感覚のほうがどうかしている。if elseはガード式の変形みたいなもの。
891デフォルトの名無しさん:2008/10/03(金) 23:05:36
>>887
lispのスレでそんなの見た気がする。
そういう意味だったのか。
892デフォルトの名無しさん:2008/10/03(金) 23:06:43
>>888
「:」の扱いに困ったんじゃないかな
893デフォルトの名無しさん:2008/10/03(金) 23:07:56
a if pred else b の場合 : 使わないのがしばらく違和感あった
894デフォルトの名無しさん:2008/10/03(金) 23:09:21
>>889
呼び出し側でaが指してるオブジェクトを触りたいときに困らないかな
895デフォルトの名無しさん:2008/10/03(金) 23:12:31
return a if a < b else b if b < c else c if c < d else d ...
ゲシュタルト崩壊しそうだ。
896デフォルトの名無しさん:2008/10/03(金) 23:17:16
return a if a < b else b if b < c else c
これってどっちに解釈されるの?

return (a if a < b else b) if b < c else c
return a if a < b else (b if b < c else c)
897デフォルトの名無しさん:2008/10/03(金) 23:24:25
>>889
aとbが==ではあっても同一オブジェクトじゃない場合に困るんじゃね?
例えば、
def either(a, b):
  return a if a == b else b
x = dict()
y = dict()
either(x, y)['x'] = true
y['y'] = true
とした場合、
return b
の場合と
return a if a == b else b
では最終的なxとyの値が変わってくる。
898デフォルトの名無しさん:2008/10/03(金) 23:27:03
>>896
a = 1
b = 2
c = 0
print a if a < b else b if b < c else c
print (a if a < b else b) if b < c else c
print a if a < b else (b if b < c else c)
とすると
1
0
1
だから後者みたいだね。
899デフォルトの名無しさん:2008/10/04(土) 00:47:52
return a if a < b else b if b < c else c if c < d else d
なら
return a if a < b else (b if b < c else (c if c < d else d))
ということですかね
900デフォルトの名無しさん:2008/10/04(土) 16:03:14
2.6アイコン戻ってるwww
なんでwww
901デフォルトの名無しさん:2008/10/04(土) 19:19:28
pygameの和訳作業やれよ屑ども
902デフォルトの名無しさん:2008/10/04(土) 19:58:47
それより標準ライブラリの和訳が必要だ。
いつまでも2.4じゃ困る。
903デフォルトの名無しさん:2008/10/04(土) 20:00:10
英語を読める人は困らないので和訳しない
英語を読めない人は和訳できない
904デフォルトの名無しさん:2008/10/04(土) 20:07:38
そして誰も居なくなった…
905デフォルトの名無しさん:2008/10/04(土) 20:27:56
英語の勉強をしているので和訳する
906デフォルトの名無しさん:2008/10/04(土) 21:05:49
2.6にしたらIDLEが起動しない…
何故だ
907デフォルトの名無しさん:2008/10/04(土) 21:08:41
>>905
叩かれるのを覚悟の上とはいい度胸だ。
まぁ自分のスキルアップとだけ認識していれば、これ以上ない機会かもな。
908デフォルトの名無しさん:2008/10/04(土) 21:39:26
>>903
GJ
909デフォルトの名無しさん:2008/10/05(日) 02:06:57
2.6にしたらpylonsとGenshiがインストールできねー
910デフォルトの名無しさん:2008/10/05(日) 02:09:18
Twistedも早く対応してほしいのう
911デフォルトの名無しさん:2008/10/05(日) 09:00:22
Library Reference、かっこよくなってる。
912デフォルトの名無しさん:2008/10/05(日) 13:56:54
Kokeshiも。
913デフォルトの名無しさん:2008/10/05(日) 18:50:00
inforno :: Python2.6変更点まとめ
http://inforno.net/articles/2008/10/03/python26-features
914デフォルトの名無しさん:2008/10/05(日) 20:55:06
おまいらこれ入れてる?
# -*- coding:utf-8 -*-
915デフォルトの名無しさん:2008/10/05(日) 21:04:36
手が勝手に入れてる
916デフォルトの名無しさん:2008/10/05(日) 23:35:26
Idleが勝手に cp932 いれる。
917913:2008/10/06(月) 09:49:55
すまん、すばらしいブログのエントリ紹介してるのに
コメントよこさない糞なおまえらってなんなの?
918デフォルトの名無しさん:2008/10/06(月) 10:16:13
>>917
既に英語のWhat's Newを全部読んだからなぁ。
919デフォルトの名無しさん:2008/10/06(月) 11:45:14
913本人が本気で言ってたら笑える
920デフォルトの名無しさん:2008/10/06(月) 12:47:37
PIL:http://www.pythonware.com/products/pil/
Python Imaging Library 1.1.6 for Python 2.6 (Windows only)

来てる。
921デフォルトの名無しさん:2008/10/06(月) 14:02:25
What's Newを全部邦訳したらコメント少しは貰えるんじゃない
922デフォルトの名無しさん:2008/10/06(月) 19:05:57
>>913
オレはありがたく読ませてもらってるぜ
923デフォルトの名無しさん:2008/10/06(月) 20:56:51
Pythonには改行しないprint文は無いんだっけ?
924デフォルトの名無しさん:2008/10/06(月) 20:59:33
,
925デフォルトの名無しさん:2008/10/06(月) 21:02:37
>>924
わけわかめ
926デフォルトの名無しさん:2008/10/06(月) 21:03:07
すまん。わけわかった。
927デフォルトの名無しさん:2008/10/06(月) 21:35:26
,で空白がはいるのが嫌な場合はsys.stdout.write
2.6なら↓のような方法も
>>> from __future__ import print_function
>>> print("foo", end="")
928デフォルトの名無しさん:2008/10/06(月) 21:51:20
>>927
トンクス
3000への移行用にprint関数実装されてたのね。
929デフォルトの名無しさん:2008/10/06(月) 21:56:43
どうでも良いかも知れんけど、sys.stdout.writeは数値を出力できないな。
930デフォルトの名無しさん:2008/10/06(月) 21:56:58
__future__タンはひみつしゅぎすぎるとおもう
dirとかhelpとかしてもちっともこたえてくれないの
931デフォルトの名無しさん:2008/10/06(月) 22:01:07
str.formatが素敵すぎる件
932デフォルトの名無しさん:2008/10/06(月) 22:29:04
属性や要素へのアクセス出来るのが面白いね
>>> from collections import namedtuple
>>> Person = namedtuple("Person", "name, age")
>>> p = Person(name="hoge", age=18)
>>> "{0.name} {0.age} {l[4]} {d[value]}".format(p, l=range(10), d={"value":20.0})
'hoge 18 4 20.0'
933デフォルトの名無しさん:2008/10/06(月) 22:50:28
もういっそのことevalにしちゃえと思うけど
def format(s):
    return re.sub(r'{(.*?)}', lambda mo: str(eval(mo.group(1))), s)
そうしないのがPythonかな
934デフォルトの名無しさん:2008/10/06(月) 22:53:50
>>930
あれ以上何が必要なんだ?
935デフォルトの名無しさん:2008/10/07(火) 09:24:31
>929
意味がわカラン

sys.stdout.write("%f\n" % i) で何か問題が?
936デフォルトの名無しさん:2008/10/07(火) 15:16:22
ファイルに数値をバイナリで出力するにはどうすればよいですか
937デフォルトの名無しさん:2008/10/07(火) 15:26:22
>>936
import struct
938デフォルトの名無しさん:2008/10/07(火) 22:51:00
"name: %s, val: %s" % ['age', 123]

"name: %2$s, val: %1$s" % [123, 'age']
のように書くことはできますか。
つまり順番をかえたいということです。
939デフォルトの名無しさん:2008/10/07(火) 22:52:13
やってみればいいじゃない
940デフォルトの名無しさん:2008/10/07(火) 22:56:38
むりだからあきらめな
941デフォルトの名無しさん:2008/10/07(火) 23:05:23
2.6なら
'name: {1}, val: {0}'.format(123, 'age')
942デフォルトの名無しさん:2008/10/07(火) 23:12:37
>>> "name: %(2)s, val: %(1)s" % {"1":123, "2":'age'}
'name: age, val: 123'

>>> from string import digits
>>> "name: %(1)s, val: %(0)s" % dict(zip(digits, [123, "age"]))
'name: age, val: 123'
943デフォルトの名無しさん:2008/10/07(火) 23:25:40
>>> class foo(object):
...   def __init__(self, *args): self.args = args
...   def __getitem__(self, key): return self.args[int(key)]
...
>>> "name: %(1)s, val: %(0)s" % foo(123, 'age')
944デフォルトの名無しさん:2008/10/08(水) 00:22:07
元の質問には「逆順で書けばいいじゃん」とか
tmplist = ['age', 123]
"..." % (tmplist[1],tmplist[0])

で十分な気がするけどね…
945デフォルトの名無しさん:2008/10/08(水) 00:40:13
それだったらreversedや[::-1]でもいい
946デフォルトの名無しさん:2008/10/08(水) 00:46:34
>>941-943
どうもありがとうございます。
しかし % ではできないんですね。
背景を説明すると、まず
msg = {
'M001': "%s: not found.",
'M002': "expected is %s but got %s",
}
のようなメッセージカタログがあって、
print msg['M002'] % (expected, actual)
のようなコードが大量にある中、
ある言語用のカタログではどうしても表示するデータの順番を
いれかえたいという要望がでてきて、それでメッセージカタログの
修正だけでできないかと調査していたところです。
Rubyだと "%2$s %1$s" % ['A','B'] が "B A" になるので、
Pythonでもできるだろうと思って質問しました。
しかし教えていただいた方法はどれも % (arg1, arg2, ...) の部分を
変更する必要があるうえ、"%(2)s %(1)s" や "{2} {1}" とすると
変更する必要のない他のカタログも変更しなきゃいけないので、
ちょっと採用しづらいです。
947デフォルトの名無しさん:2008/10/08(水) 01:11:45
まず背景から説明してくれたらよかったのだが
948デフォルトの名無しさん:2008/10/08(水) 01:23:52
class f(object):
  def __init__(self, text, indices):
    self.text = text
    self.indeces = indices
  def __mod__(self, other):
    return self.text % tuple(other[i] for i in self.indeces)
msg = {
'M001':f("%s %s", [1, 0])
}
print msg['M001'] % ("A", "B");
949デフォルトの名無しさん:2008/10/08(水) 01:38:58
>>948
__mod__ を定義することで、% 演算子をオーバーライドしているわけですか。
あたまいいですね。
ただ、今はメッセージははすべてテキストファイルに書いており、
それをパースしてカタログを作っているんですね。
だからテキストファイルに f("%s %s", [1, 0]) のようなコードを
単純に埋め込むわけにもいかないんですが、ここまでくれば
なんかもう一工夫でできそうな気がします。
どうもありがとうございました。
950デフォルトの名無しさん:2008/10/08(水) 02:27:19
shutilって、何かの略なの?
951デフォルトの名無しさん:2008/10/08(水) 02:37:39
>>949
何がしたいんだ?
f("%s %s", [1, 0])のように書きかえれない。
printを書きかえれない。

どこも変更できないと言ってるようにしか見えないがwww
952デフォルトの名無しさん:2008/10/08(水) 02:54:21
>950
SHell UTILityじゃないの
953デフォルトの名無しさん:2008/10/08(水) 06:31:18
python2.6用のpsycopg2ってまだ出てないのかな?
954デフォルトの名無しさん:2008/10/08(水) 06:36:25
>>952
なるほど!
955デフォルトの名無しさん:2008/10/08(水) 07:58:23
dbutilって、何かの略なの?
956デフォルトの名無しさん:2008/10/08(水) 08:13:00
RubyでのRakeのようなツールはpythonにありますか。
957デフォルトの名無しさん:2008/10/08(水) 08:51:59
>>956
scons
958デフォルトの名無しさん:2008/10/08(水) 11:06:54
>>956
setup.py
959デフォルトの名無しさん:2008/10/08(水) 20:15:56
>>957,958
ありがとうございます。
SCons を見てみたのですが、例が C のコンパイルばかりで、自分でタスクの中身を定義する方法がわかりませんでした。
たとえば *.rst を *.html に変換するのは Makefile だと

.SUFFIXES: .html .rst

.rst.html:
rst2html.py $< > $@

でいいわけですが、同じことをやろうとして SCons のマニュアルを読んだのですが、どこにも書いてないっぽいです。
(書いてあるのかもしれませんが、見つけられませんでした。)

SCons マニュアル:
http://www.scons.org/doc/production/HTML/scons-user.html

もし SCons でのやり方をご存知の方がいれば教えてください。
960デフォルトの名無しさん:2008/10/08(水) 20:45:40
pake
961デフォルトの名無しさん:2008/10/08(水) 20:59:09
>>959
こうかな?

bld = Builder(action = "rst2html.py $SOURCE > $TARGET",
suffix = ".html",
src_suffix = ".rst")
env = Environment(BUILDERS = {"RST2HTML": bld})

env.RST2HTML("test")
962デフォルトの名無しさん:2008/10/08(水) 21:18:01
まんどくせ
963デフォルトの名無しさん:2008/10/08(水) 22:29:54
bir()から、__doc__やメソッド除くにはどうしたらいいの?
964デフォルトの名無しさん:2008/10/08(水) 22:34:41
dir()のことなら
str.startswithとかcallableとか使って除外すればいいんじゃない
965デフォルトの名無しさん:2008/10/08(水) 23:17:14
inspect.getmembersを使うとか
966デフォルトの名無しさん:2008/10/08(水) 23:40:12
inspect.getmro
967デフォルトの名無しさん:2008/10/08(水) 23:43:41
属性値が callable で im_self を持っていて、且つ im_self がクラスと一致するならクラスメソッド。
attr = getattr(klass, name)
bool(callable(attr) and hasattr(attr, 'im_self') and attr.im_self == klass)
968デフォルトの名無しさん:2008/10/09(木) 10:27:41
pygameで作ったウィンドウがとてつもなく重いんだけどどうにかならないの?
969デフォルトの名無しさん:2008/10/09(木) 11:16:58
うちは平気
970デフォルトの名無しさん:2008/10/09(木) 11:24:59
pygame.time.wait(delay?)に小さい値を与えて
ビジーループしてるんじゃないかとエスパーしてみる
971デフォルトの名無しさん:2008/10/09(木) 13:23:00
>>961
ありがとうございます。
なんか、ぜんぜん直感的じゃないですね。
これならMakefileのほうがずっと簡単です。残念。
きっとSConsに組み込みのルールを使うだけなら簡単なんでしょうが、
自分でルールを定義することが多いと、あんまり嬉しくなさそうです。
972デフォルトの名無しさん:2008/10/09(木) 14:16:07
みんなありがとう。dir()でしたww
それか、アトリビュートを追加するときにリストを作るって手もあるかな……。
アトリビュート追加するときに呼び出されるメソッド調べてきます。
973デフォルトの名無しさん:2008/10/09(木) 14:25:52
__setattr__を使えば出来ましたが、それ以前に__dict__で大丈夫でした……。
お騒がせして申し訳ありませんでした。
974デフォルトの名無しさん:2008/10/09(木) 16:13:30
wxPythonの2.6用のバイナリ来た
http://wxpython.org/download.php
975デフォルトの名無しさん:2008/10/09(木) 17:23:37
今、pythonでwebフレームワーク作ってるよ。
まだO/Rマッパーとかなくてフレームワークと呼ぶには程遠いものだけど、
いつか完成したときには公開してみるよ。
976デフォルトの名無しさん:2008/10/09(木) 18:10:49
次スレ

Pythonのお勉強 Part29
http://pc11.2ch.net/test/read.cgi/tech/1223543412/
977デフォルトの名無しさん:2008/10/09(木) 19:19:30
>>975
特長があればアピールしてみて
978デフォルトの名無しさん:2008/10/10(金) 00:21:34
pythonで、ファイルに書き込み権限があるかどうかを調べるライブラリとかありますか。
979デフォルトの名無しさん:2008/10/10(金) 00:41:57
os.accessでどうだろう
980デフォルトの名無しさん:2008/10/10(金) 01:30:34
拡張スライス構文がまったくわからない。
[a:b, c:d] とか [a:b, ..., c:d] とか [..., a:b] とかを使った簡単なサンプルをくれ。。。
どうやってもエラーが出てしまって、
拡張スライスの利用方法がわからん。

981デフォルトの名無しさん:2008/10/10(金) 01:38:30
numpyが使ってる……ということじゃないのかな
982デフォルトの名無しさん:2008/10/10(金) 01:58:26
>>979
さんくす
983デフォルトの名無しさん:2008/10/10(金) 02:35:31
>>977
たぶん、世界の歴史が変わるレベルのもの
984デフォルトの名無しさん:2008/10/10(金) 07:01:40
>>975
奇遇ですね
私も作ってます
985デフォルトの名無しさん:2008/10/10(金) 09:49:14
データのグラフ作成関連

gnuplot 単体にうんざりして gnuplot-py 使うか
matplotlib 試そうかと思ってるんだけど
ほかにも何かお勧めありますか?

これは参考になりそうな感じ:
NumericAndScientific/Plotting - PythonInfo Wiki
http://wiki.python.org/moin/NumericAndScientific/Plotting

986デフォルトの名無しさん:2008/10/10(金) 09:57:44
>>975
Python始めて1ヶ月な俺だが支援できる事があったら言ってくれ
987デフォルトの名無しさん:2008/10/10(金) 10:27:22
>985
自問自答だが Chaco ってのがなかなか有望っぽいみたい

ただし現状の完成度・ドキュメント状況とかを
加味するとまだ matplotlib の方が
現時点では良さげって感じかな?
988デフォルトの名無しさん:2008/10/10(金) 21:09:50
フレームワークには期待を寄せてみるが、既に優秀なものが揃ってるからな……。
何か特異点をつけないといけないだろうね。
989デフォルトの名無しさん:2008/10/10(金) 22:14:57
Rail on Rails
990デフォルトの名無しさん:2008/10/11(土) 05:45:20
RoRにしてもTurboGearsもDjangoもPylonsも
GUIで出来た設計ツールがないよね?
991デフォルトの名無しさん:2008/10/11(土) 06:37:21
なんでウェブアプリフレームワークに設計ツールが必要なんだか…
992デフォルトの名無しさん
WebよりIronPythonでSilverlightやろうぜ