Pythonのお勉強 Part 28
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2008/08/04(月) 16:49:54http://www.python.org/
日本Pythonユーザ会
http://www.python.jp/Zope/
Pythonのお勉強
http://python.rdy.jp/
前スレ
http://pc11.2ch.net/test/read.cgi/tech/1213298522/
関連スレ
http://find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
0002デフォルトの名無しさん
2008/08/04(月) 16:51:320003デフォルトの名無しさん
2008/08/04(月) 17:00:55何かいい方法ないかい?
例えば 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' を3個ずつに分解して、
['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQR', 'STU', 'VWX', 'YZ'] のような状態にしたい。
0004デフォルトの名無しさん
2008/08/04(月) 17:24:59print [str[i:i+3] for i in range(0,len(str),3)]
こんなんかなあ。もっと綺麗に書ける方法あるかもしれないけど。
0005デフォルトの名無しさん
2008/08/04(月) 17:29:050006デフォルトの名無しさん
2008/08/04(月) 20:12:11エロくてエレガントだと思った
0007デフォルトの名無しさん
2008/08/04(月) 21:50:410008デフォルトの名無しさん
2008/08/04(月) 22:40:14Python 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?
0009デフォルトの名無しさん
2008/08/05(火) 00:24:030010デフォルトの名無しさん
2008/08/05(火) 00:56:42ある
http://www.python.jp/doc/release/tut/node5.html#SECTION005120000000000000000
0011デフォルトの名無しさん
2008/08/05(火) 01:37:420013デフォルトの名無しさん
2008/08/05(火) 04:59:25class 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__'
じぶんには無理でした(爆)
0014デフォルトの名無しさん
2008/08/05(火) 05:21:23def __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
下の方がいくらかマシな気がするけど
取ってつけた感が否めない・・・
0015デフォルトの名無しさん
2008/08/05(火) 05:27:10def __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
0016デフォルトの名無しさん
2008/08/05(火) 05:33:31help(sys.path)
0017デフォルトの名無しさん
2008/08/05(火) 09:39:35困った時にはこの本を注文しよう。
http://www.amazon.co.jp/dp/4839922829/
0018デフォルトの名無しさん
2008/08/05(火) 10:09:02そのURLだとアフィリエイトが無効になってるから
貼り直した方がいいよ。
0019デフォルトの名無しさん
2008/08/05(火) 10:18:320020デフォルトの名無しさん
2008/08/05(火) 10:19:240021デフォルトの名無しさん
2008/08/05(火) 10:23:34■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
0022あぼーん
NGNG0023あぼーん
NGNG0024あぼーん
NGNG0025あぼーん
NGNG0026あぼーん
NGNG0027あぼーん
NGNG0028あぼーん
NGNG0029あぼーん
NGNG0030あぼーん
NGNG0031あぼーん
NGNG0032あぼーん
NGNG0033あぼーん
NGNG0034あぼーん
NGNG0035あぼーん
NGNG0036あぼーん
NGNG0037あぼーん
NGNG0038あぼーん
NGNG0039あぼーん
NGNG0040あぼーん
NGNG0041あぼーん
NGNG0042あぼーん
NGNG0043あぼーん
NGNG0044あぼーん
NGNG0045あぼーん
NGNG0046あぼーん
NGNG0047あぼーん
NGNG0048あぼーん
NGNG0049あぼーん
NGNG0050あぼーん
NGNG0051あぼーん
NGNG0052あぼーん
NGNG0053あぼーん
NGNG0054あぼーん
NGNG0055あぼーん
NGNG0056あぼーん
NGNG0057あぼーん
NGNG0058あぼーん
NGNG0059あぼーん
NGNG0060あぼーん
NGNG0061あぼーん
NGNG0062あぼーん
NGNG0063あぼーん
NGNG0064あぼーん
NGNG0065あぼーん
NGNG0066あぼーん
NGNG0067あぼーん
NGNG0068あぼーん
NGNG0069あぼーん
NGNG0070あぼーん
NGNG0071あぼーん
NGNG0072あぼーん
NGNG0073あぼーん
NGNG0074あぼーん
NGNG0075あぼーん
NGNG0076あぼーん
NGNG0077あぼーん
NGNG0078あぼーん
NGNG0079あぼーん
NGNG0080あぼーん
NGNG0081あぼーん
NGNG0082あぼーん
NGNG0083あぼーん
NGNG0084あぼーん
NGNG0085あぼーん
NGNG0086あぼーん
NGNG0087あぼーん
NGNG0088あぼーん
NGNG0089あぼーん
NGNG0090あぼーん
NGNG0091あぼーん
NGNG0092あぼーん
NGNG0093あぼーん
NGNG0094あぼーん
NGNG0095あぼーん
NGNG0096あぼーん
NGNG0097あぼーん
NGNG0098あぼーん
NGNG0099あぼーん
NGNG0100あぼーん
NGNG0101あぼーん
NGNG0102あぼーん
NGNG0103デフォルトの名無しさん
2008/08/05(火) 10:33:410104あぼーん
NGNG0105あぼーん
NGNG0106あぼーん
NGNG0107あぼーん
NGNG0108あぼーん
NGNG0109あぼーん
NGNG0110あぼーん
NGNG0111あぼーん
NGNG0112あぼーん
NGNG0113あぼーん
NGNG0114あぼーん
NGNG0115あぼーん
NGNG0116あぼーん
NGNG0117あぼーん
NGNG0118あぼーん
NGNG0119あぼーん
NGNG0120あぼーん
NGNG0121あぼーん
NGNG0122あぼーん
NGNG0123あぼーん
NGNG0124あぼーん
NGNG0125あぼーん
NGNG0126あぼーん
NGNG0127あぼーん
NGNG0128あぼーん
NGNG0129あぼーん
NGNG0130あぼーん
NGNG0131あぼーん
NGNG0132あぼーん
NGNG0133あぼーん
NGNG0134あぼーん
NGNG0135あぼーん
NGNG0136あぼーん
NGNG0137あぼーん
NGNG0138あぼーん
NGNG0139あぼーん
NGNG0140あぼーん
NGNG0141あぼーん
NGNG0142あぼーん
NGNG0143あぼーん
NGNG0144あぼーん
NGNG0145あぼーん
NGNG0146あぼーん
NGNG0147あぼーん
NGNG0148あぼーん
NGNG0149あぼーん
NGNG0150あぼーん
NGNG0151あぼーん
NGNG0152あぼーん
NGNG0153あぼーん
NGNG0154あぼーん
NGNG0155あぼーん
NGNG0156あぼーん
NGNG0157あぼーん
NGNG0158あぼーん
NGNG0159あぼーん
NGNG0160あぼーん
NGNG0161あぼーん
NGNG0162あぼーん
NGNG0163あぼーん
NGNG0164あぼーん
NGNG0165あぼーん
NGNG0166あぼーん
NGNG0167あぼーん
NGNG0168あぼーん
NGNG0169あぼーん
NGNG0170あぼーん
NGNG0171あぼーん
NGNG0172あぼーん
NGNG0173あぼーん
NGNG0174あぼーん
NGNG0175あぼーん
NGNG0176あぼーん
NGNG0177あぼーん
NGNG0178あぼーん
NGNG0179あぼーん
NGNG0180あぼーん
NGNG0181あぼーん
NGNG0182あぼーん
NGNG0183あぼーん
NGNG0184あぼーん
NGNG0185あぼーん
NGNG0186あぼーん
NGNG0187あぼーん
NGNG0188あぼーん
NGNG0189あぼーん
NGNG0190あぼーん
NGNG0191あぼーん
NGNG0192あぼーん
NGNG0193あぼーん
NGNG0194あぼーん
NGNG0195あぼーん
NGNG0196あぼーん
NGNG0197あぼーん
NGNG0198あぼーん
NGNG0199あぼーん
NGNG0200あぼーん
NGNG0201あぼーん
NGNG0202あぼーん
NGNG0203あぼーん
NGNG0204あぼーん
NGNG0205あぼーん
NGNG0206あぼーん
NGNG0207あぼーん
NGNG0208あぼーん
NGNG0209あぼーん
NGNG0210あぼーん
NGNG0211デフォルトの名無しさん
2008/08/05(火) 15:36:590212デフォルトの名無しさん
2008/08/05(火) 17:49:49s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
t = list(s) + [ None ] * (3 - 1)
print zip(*[t[i::3] for i in xrange(3)])
0213デフォルトの名無しさん
2008/08/05(火) 20:18:200214デフォルトの名無しさん
2008/08/05(火) 20:20:210215デフォルトの名無しさん
2008/08/05(火) 21:53:13もう五冊は注文してます
0216デフォルトの名無しさん
2008/08/05(火) 21:54:36神!
0217デフォルトの名無しさん
2008/08/05(火) 22:12:030218デフォルトの名無しさん
2008/08/05(火) 22:51:50ひょっとして前スレからか 全然気付かなかった
0219デフォルトの名無しさん
2008/08/06(水) 12:32:38書き込もうと思ったら大量に・・・。
お陰で書き込めなかったよorz
0220デフォルトの名無しさん
2008/08/06(水) 12:51:07Pythonスレの荒らし、俺の予想
2007年 6月 2ちゃんねるを本格的に始める
6月 過去ログが見れないことに腹を立て●を購入
12月 VIP初体験
2008年 8月3日 IDが簡単に変更できることを知る
同日 東方シリーズ総合スレッドを荒らす
8月4日 マクロを使って本格的に荒らす
現在 ム板で個人的に気に入らないPythonをスレを潰しにかかる
0221デフォルトの名無しさん
2008/08/06(水) 14:29:08いや、お試し●ってやつだろ。
詳しくは知らんが。
0222デフォルトの名無しさん
2008/08/06(水) 16:41:56.htaccessに何書いたらうごくのかさっぱりわかんないんだよ。
phpから軸足移そうとしてるんだけれど、とっかかりで躓いていますorz
0223222
2008/08/06(水) 17:20:28.htaccessに
AddHandler cgi-script-debug .py
これ書いてたから変なの出てただけでした。
HTML出力するまではやれました。
加えてwebprog板に書くべきでした。ほんとごめんなさい。
0224デフォルトの名無しさん
2008/08/06(水) 18:21:46広告だらけになるね。
cgitbはなんで<body>を複数出力するんだろ?
0225デフォルトの名無しさん
2008/08/06(水) 19:39:05これって、いったん[t[i::3] for i in xrange(3)]ができる時点で、
必要なデータを丸ごとメモリ上に展開するので、あまり
コンピュータにやさしくない書き方だと思う。
多少添え字確認するのがめんどくさくても、>>4みたいに書いた方がいいと思う。
0226デフォルトの名無しさん
2008/08/06(水) 20:36:26listは参照の配列だからメモリ的には大したことないと思う
0227デフォルトの名無しさん
2008/08/06(水) 20:40:07import 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())
0228デフォルトの名無しさん
2008/08/06(水) 20:42:29import re
s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
print re.findall('..?.?', s)
0229デフォルトの名無しさん
2008/08/06(水) 20:48:480230デフォルトの名無しさん
2008/08/06(水) 21:23:320231デフォルトの名無しさん
2008/08/06(水) 21:47:34HTMLコメントで本文がかき消されないようにするためだと思う。
あれなら、ソースの最後にプレーンテキストなtracebackが付いてる。
0232デフォルトの名無しさん
2008/08/07(木) 00:02:01ストーリームじゃないんだから。
メモリが気になるようなシーケンスが対象に出てきたら、
なんか根本的なとこが間違ってる気がする。
0233デフォルトの名無しさん
2008/08/07(木) 14:44:39>>> import gtk
すると「Bus error」と出てPythonが強制終了してしまいます・・・
このエラーの考えられる原因や対処方法があれば教えて頂けませんか?
0234デフォルトの名無しさん
2008/08/07(木) 14:57:050235デフォルトの名無しさん
2008/08/07(木) 15:27:31単に自分が出力したものと
cgitbが出力したもので2つあるだけじゃね?
stdoutはシークできないからな
0236デフォルトの名無しさん
2008/08/07(木) 15:50:35そうかitertoolsにそんな関数もあったんですね。
参考になりました。
0237デフォルトの名無しさん
2008/08/07(木) 17:10:17... 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になる
のが自然なような気がする今日この頃
0238デフォルトの名無しさん
2008/08/07(木) 17:17:390239デフォルトの名無しさん
2008/08/07(木) 23:06:26def islice(gen, n):
def wrap(n):
i=0
while i<n:
yield gen.next()
i += 1
return wrap(n)
だけのことっぽい、
0240デフォルトの名無しさん
2008/08/07(木) 23:07:173.0 で classic class の方は無くなるから、悩まなくてよくなる
0241デフォルトの名無しさん
2008/08/07(木) 23:14:52ドキュメントに等価なPythonのコードが載ってるよ
http://docs.python.org/lib/itertools-functions.html
http://www.python.jp/doc/release/lib/itertools-functions.html
0242デフォルトの名無しさん
2008/08/07(木) 23:28:580243デフォルトの名無しさん
2008/08/07(木) 23:58:47打ってもエラーでます。何ゆえ?
0244デフォルトの名無しさん
2008/08/08(金) 00:12:000245デフォルトの名無しさん
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/
0246デフォルトの名無しさん
2008/08/08(金) 02:11:18なにこれ
0247デフォルトの名無しさん
2008/08/08(金) 09:23:500248デフォルトの名無しさん
2008/08/08(金) 09:25:47http://pc11.2ch.net/test/read.cgi/tech/1218155094/l50
0249デフォルトの名無しさん
2008/08/08(金) 12:18:34ありがとう!
0250デフォルトの名無しさん
2008/08/09(土) 19:41:05def 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
0251デフォルトの名無しさん
2008/08/09(土) 19:43:22def 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
0252デフォルトの名無しさん
2008/08/09(土) 19:44:06dmap = 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!'
0253デフォルトの名無しさん
2008/08/09(土) 20:18:58無視して
0254デフォルトの名無しさん
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)
0255デフォルトの名無しさん
2008/08/10(日) 12:31:42「モジュール」を「継承」して「クラス」を作ろうとしてるの?
モジュールとクラスは別のもので、shutilはモジュールなんだけど、
自分がやりたいことはわかってる?
0256デフォルトの名無しさん
2008/08/10(日) 16:25:020257デフォルトの名無しさん
2008/08/10(日) 16:35:56標準モジュールで提供される関数を
差し替えたい。どういう方法がある?
0258デフォルトの名無しさん
2008/08/10(日) 18:05:120259デフォルトの名無しさん
2008/08/10(日) 18:29:21import os
os.walk = lambda x: x
os.walk('.')
とかやってみたら?
でも
__builtins__.len = lambda x: x
とかやると、ぱいそんが発狂するのでやめたほうがいいです
0260デフォルトの名無しさん
2008/08/10(日) 18:49:060261デフォルトの名無しさん
2008/08/10(日) 19:59:45>差し替えたい。
ソースコードいじるしかないだろうけど、
そういう使い方は標準では用意されてない。
0262デフォルトの名無しさん
2008/08/10(日) 20:12:550263デフォルトの名無しさん
2008/08/10(日) 20:20:42それならソース書き換えるかそのモジュールの名前空間を上書きすればいいだけか
0264デフォルトの名無しさん
2008/08/10(日) 20:39:59それが面倒というのがよく分からない。
標準モジュールの関数とかって、他のモジュールが依存してる
ものとかもあるだろうし、あんまり動作を変えない方がいいと思う
0265デフォルトの名無しさん
2008/08/12(火) 15:45:38キタ━━━━━(゚∀゚)━━━━━!!!!
0266デフォルトの名無しさん
2008/08/12(火) 23:13:330267デフォルトの名無しさん
2008/08/13(水) 06:15:41キタ。
0268デフォルトの名無しさん
2008/08/14(木) 22:08:13それだけで使う気しねえんだけど
0269デフォルトの名無しさん
2008/08/14(木) 22:28:270270デフォルトの名無しさん
2008/08/14(木) 22:42:520271デフォルトの名無しさん
2008/08/15(金) 09:52:200272デフォルトの名無しさん
2008/08/15(金) 10:09:16お前はCROWN音読してろ
0273デフォルトの名無しさん
2008/08/15(金) 12:17:32またpython関連のわけがわからない記事を書くやつがあらわれたなwww
0274デフォルトの名無しさん
2008/08/15(金) 12:30:380275デフォルトの名無しさん
2008/08/16(土) 00:24:200276デフォルトの名無しさん
2008/08/17(日) 01:52:532.6 の翻訳にとりかかるべきじゃないか?
0277デフォルトの名無しさん
2008/08/17(日) 08:49:56Zope 3の記事を見て悔しがる奴なんて日本に二人くらいしかいないよな(ww
0278デフォルトの名無しさん
2008/08/17(日) 13:35:13秋葉で事件起こした彼が最近の代表例らしいけど
0279デフォルトの名無しさん
2008/08/17(日) 13:36:450280デフォルトの名無しさん
2008/08/17(日) 13:43:330281デフォルトの名無しさん
2008/08/17(日) 22:09:31self.x += self.fun(x) if self.fun else x
^
SyntaxError: invalid syntax
はじめてのpythonネットワークプログラミングにのってたやつ。
何でエラー?
0282デフォルトの名無しさん
2008/08/17(日) 22:23:09まあ念のためコード動かしてるPythonのバージョンを調べてみろや
0283デフォルトの名無しさん
2008/08/17(日) 22:25:000284デフォルトの名無しさん
2008/08/18(月) 12:27:360285デフォルトの名無しさん
2008/08/18(月) 13:17:030286デフォルトの名無しさん
2008/08/18(月) 13:29:280287デフォルトの名無しさん
2008/08/18(月) 14:27:24ネタだよな、
ネタだと言ってくれ!!!
0288デフォルトの名無しさん
2008/08/18(月) 14:53:580289デフォルトの名無しさん
2008/08/18(月) 15:34:240290デフォルトの名無しさん
2008/08/18(月) 15:42:50他の言語を扱えるようになるとは到底思えない。
0291デフォルトの名無しさん
2008/08/18(月) 15:48:150292デフォルトの名無しさん
2008/08/18(月) 16:51:25javaは、java言語自体ではつまずかないかもしれないけど
これでWebアプリケーションを作ろうと思ったら
乱立するフレームワークの前に何やっていいのかわからなくなって
途方にくれると思う。
というか、途方にくれた。
0293デフォルトの名無しさん
2008/08/18(月) 16:53:47そういうつまづきかたをするなら
べつにpythonでもかわらないんじゃないのかな
まあでも、むかしならBASICあたりでプログラミングをはじめるのが
ふつうだったわけで
いきなりCやJavaは、やっぱり敷居が高いんだとおもうよ
0294デフォルトの名無しさん
2008/08/18(月) 17:38:080295デフォルトの名無しさん
2008/08/18(月) 18:40:450296デフォルトの名無しさん
2008/08/18(月) 18:52:24あれほどライブラリが充実している言語は他にないし
底辺でもある程度コード品質が保てることもあって
ITドカタご用達です。
0297デフォルトの名無しさん
2008/08/18(月) 18:56:020298デフォルトの名無しさん
2008/08/18(月) 22:47:18通り魔とかやらかさないで欲しいと思うわ。
0299デフォルトの名無しさん
2008/08/18(月) 22:53:020300デフォルトの名無しさん
2008/08/18(月) 22:53:460301デフォルトの名無しさん
2008/08/18(月) 22:57:15演算結果を引数のCollectionに突っ込んで戻り値はintの終了コード
変数名はシステムハンガリアン
例外もGenericsも使えない
俺は会社を辞めるぞジョジョォォッ!
0302デフォルトの名無しさん
2008/08/19(火) 00:05:12>俺は会社を辞めるぞジョジョォォッ!
そして社会の底辺まっしぐら?
ドカタ以下じゃん(ww
0303デフォルトの名無しさん
2008/08/19(火) 08:14:22内定無いのに辞めるとか言わないだろ
0304デフォルトの名無しさん
2008/08/19(火) 08:49:150305デフォルトの名無しさん
2008/08/19(火) 18:49:40自虐をさらに叩かれて>>301カワイソスw
0306デフォルトの名無しさん
2008/08/19(火) 22:43:51この板自体がそうか。
0307デフォルトの名無しさん
2008/08/19(火) 22:56:42ttp://news4vip.livedoor.biz/archives/51197163.html
0308デフォルトの名無しさん
2008/08/20(水) 11:29:02x = 10
def fun1()
return x*2
print fun1()
-----
出力結果:
20
ですが
x = 10
def fun1()
x = x*2
return x
print fun1()
のように関数fun1()内でxへ代入しようとするとエラーになります。
「グローバス変数xは関数内で参照することはできるけど、値を変更する事はできない。」
って事でしょうか??
0309デフォルトの名無しさん
2008/08/20(水) 11:30:44def fun():
global x
x = x * 2
return x
print fun()
0310デフォルトの名無しさん
2008/08/20(水) 11:47:47通り魔のマスコミ発表そのまま信じてる奴なんかいるのか?
そもそもトヨタ系派遣会社の問題なんてマスコミ報道するわけないから
適当な犯行理由でっちあげて報道するだけだろ
0311デフォルトの名無しさん
2008/08/20(水) 11:49:340312308
2008/08/20(水) 11:57:37ただなんで前者はOKで後者がエラーなのか、理解したいのですが、
"そういう仕様だから"的な感じで思っておいてよいでしょうか??
0313デフォルトの名無しさん
2008/08/20(水) 12:03:07x = x * 2 の右辺のxは(ローカル変数としては)未定義なので、エラー。
0314デフォルトの名無しさん
2008/08/20(水) 12:04:01前者はグローバル変数を変更してないが
0315デフォルトの名無しさん
2008/08/20(水) 12:08:330316デフォルトの名無しさん
2008/08/20(水) 12:10:00> "そういう仕様だから"的な感じで思っておいてよいでしょうか??
まあそうだね
pythonではローカル変数を定義/宣言するための
varだのmyだのいう特別な構文はもたない
ローカルに無い名前への代入によってローカル変数が導入されるって仕組みだから、
global変数に代入したい時はちゃんと書かないと区別できない
同様に、C++/Javaみたいなクラススコープも存在しないから、インスタンス変数に
アクセスするときには常にselfと書く必要がある
こっちは代入だけでなくて、参照するときも、そう
もっと学習がすすめば、ネストした関数(クロージャ)で、もう一度そのことに
気づくと思う
0317デフォルトの名無しさん
2008/08/20(水) 12:11:040318デフォルトの名無しさん
2008/08/20(水) 12:12:19で板違いの話をはじめてるが、あえて反論されるタイミングで
「板違い」を言い始めるか。反論されるのいやなら他のスレで話題振れよ
0319デフォルトの名無しさん
2008/08/20(水) 12:24:580320デフォルトの名無しさん
2008/08/20(水) 12:38:41「話題のスコープが違います」
0321デフォルトの名無しさん
2008/08/20(水) 13:44:280322デフォルトの名無しさん
2008/08/20(水) 15:04:22->
>>319-321
>>298-300
ところで別スレで放置されてるこの話題は誰もレスしないの?
16 名前:デフォルトの名無しさん 投稿日:2008/08/14(木) 12:50:18
Pure Pythonなコードをdll exportするようなモジュールってある?
ctypesの逆をやりたい
0323デフォルトの名無しさん
2008/08/20(水) 15:26:310324デフォルトの名無しさん
2008/08/20(水) 15:35:21「パッケージが違います」
0325デフォルトの名無しさん
2008/08/20(水) 16:34:17それ書いたの俺
要するにPythonでdll作りたいってことで何がどの程度馬鹿げているかは承知してる
dll injectionの延長でエクスポートテーブル生成すればどうにかなりそうとか
呼び出し規約が複数あるけどstdcallだけでいいかなとか
そのくらい調べたところで今回やろうとすることにネイティブコードは必要ないことに気づいた
0326デフォルトの名無しさん
2008/08/20(水) 22:38:37これで画像を結合させるってのは
どうやればいいんだろ?
画像サイズが不定なので、都度サイズとって
適当に二つのサイズを合わせるとこまではできたんだけど、
それをくっつけるにはどうしたらいいのかな?
いまは二つの画像のサイズの結合ずみのサイズの
Imageオブジェクト新しく作って、pasteがガンガン貼っていく
やり方をしてるんだけど、もっといい方法があるような気がして。
0327デフォルトの名無しさん
2008/08/20(水) 23:07:47新規Imageオブジェクトに貼り付けていく方法で良さそうに思う
cropはあるけどキャンバスサイズの拡大(画像の拡大ではなく)はなさそう
0328318
2008/08/21(木) 07:42:19その後も調べてたらチュートリアルに下記の記述がありました。
>関数を 実行 (execution) すると、関数のローカル変数のために使われる新たなシンボルテーブル (symbol table) が取り込まれます。
>もっと正確にいうと、関数内で変数への代入を行うと、その値はすべてこのローカルなシンボルテーブルに記憶されます;
>一方、変数の参照を行うと、まずローカルなシンボルテーブルが検索され、その後グローバルなシンボルテーブルを調べ、
>最後に組み込みの名前テーブルを調べます。
>従って、関数の中では、グローバルな変数を参照することはできますが、直接値を代入することは (global 文で名前を挙げておかない限り) できません。
ttp://www.python.jp/doc/release/tut/node6.html
チュートリアルは始めに目を通しておくべきした。。( ;´Д`)スミマセン
0329デフォルトの名無しさん
2008/08/22(金) 13:02:09http://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以外だと、画像加工ライブラリの解説が
すくないことに気づいてびっくりする僕でした。ごはんごはん
0330デフォルトの名無しさん
2008/08/22(金) 15:05:390331デフォルトの名無しさん
2008/08/22(金) 17:30:15どっかにサンプルありませんか?
0332デフォルトの名無しさん
2008/08/22(金) 18:35:260333デフォルトの名無しさん
2008/08/22(金) 19:06:470334デフォルトの名無しさん
2008/08/22(金) 19:07:030335デフォルトの名無しさん
2008/08/23(土) 00:00:56for x in a:
print x
>for x in a:
がどういう意味を持っているのかわかりません。解説サイトに説明が書かれていないので
どなたかこれの意図を翻訳していただけませんか。
0336デフォルトの名無しさん
2008/08/23(土) 00:10:58http://www.python.jp/doc/release/tut/node6.html#SECTION006200000000000000000
0337デフォルトの名無しさん
2008/08/23(土) 00:15:450338デフォルトの名無しさん
2008/08/23(土) 00:46:58ttp://www.pythonweb.jp/tutorial/for/index3.html
0339デフォルトの名無しさん
2008/08/23(土) 08:36:00http://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html
よくまとまってた。あとで読む
0340デフォルトの名無しさん
2008/08/23(土) 19:25:32DBによる
0341デフォルトの名無しさん
2008/08/23(土) 23:11:000342330
2008/08/23(土) 23:27:090343330
2008/08/24(日) 00:10:460344デフォルトの名無しさん
2008/08/24(日) 00:15:520345デフォルトの名無しさん
2008/08/24(日) 01:40:040346330
2008/08/24(日) 08:16:01使っているのはpsycopg2です。
マルチスレッドで使っていて、行ロックでデッドロックの可能性があります。
PostgreSQLはデッドロックを検知したらトランザクションをアボートさせますが、
Python側ではそれをどうやって知ることができるのでしょうか?
例外が発生するのでしょうか、それともcommit()の返り値でしょうか?
0347デフォルトの名無しさん
2008/08/24(日) 10:06:500348デフォルトの名無しさん
2008/08/24(日) 10:11:120349デフォルトの名無しさん
2008/08/24(日) 10:33:44tests/test_transaction.py
lib/errorcodes.py
とかそれっぽいよ。自分のとこじゃ試せないから適当だけど
0350デフォルトの名無しさん
2008/08/24(日) 11:28:490352デフォルトの名無しさん
2008/08/24(日) 11:40:420353330
2008/08/24(日) 15:25:020354330
2008/08/25(月) 09:23:00psycopg2.extensions.TransactionRollbackErrorが投げられるようです。
>>349さん、ありがとうございました。
0355330
2008/08/25(月) 09:46:56その他に利用可能なライブラリはありますでしょうか。
デバッグに利用ができるようなもの。
0356330
2008/08/25(月) 09:47:500357330
2008/08/25(月) 09:57:23そうでないのなら黙っててください。
0358デフォルトの名無しさん
2008/08/25(月) 13:15:180359358
2008/08/25(月) 23:25:570360デフォルトの名無しさん
2008/08/26(火) 00:15:38lists = ['a','b','c','d','e','f','g']
i = [0,1,4]
があるとき、mapとlambda関数(あるいは何か)のような、組み合わせで
>>[a,b,d]
と表示させたいんですが、可能であれば、方法を教えてもらえないでしょうか?
0361デフォルトの名無しさん
2008/08/26(火) 00:16:46lists = ['a','b','c','d','e','f','g']
i = [0,1,4]
であれば、
>>[a,b,e]
です。
うーん。できそうで、できない。。
0362デフォルトの名無しさん
2008/08/26(火) 00:18:20lists = ['a','b','c','d','e','f','g']
i = [0,1,4]
であれば、
>>['a','b','e']
です。
うーん。できそうで、できない。。
0363デフォルトの名無しさん
2008/08/26(火) 00:18:45>>> indexes = [0, 1, 4]
>>> [lists[i] for i in indexes]
['a', 'b', 'e']
0364デフォルトの名無しさん
2008/08/26(火) 00:19:09['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']
0365デフォルトの名無しさん
2008/08/26(火) 00:21:230366デフォルトの名無しさん
2008/08/26(火) 00:21:3930分以上考えていたのに。。。流石です。
ありがとうございました!
0367デフォルトの名無しさん
2008/08/26(火) 00:28:49[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)
0368デフォルトの名無しさん
2008/08/26(火) 13:39:51def itemgetter(item):
return lambda x: x[item]
これじゃ駄目なわけだ
0369デフォルトの名無しさん
2008/08/26(火) 15:08:29['a', 'b', 'e']
>>> map(lists.__getitem__, i)
['a', 'b', 'e']
この2つってどっちの方がいいんだろう。
0370デフォルトの名無しさん
2008/08/26(火) 15:16:180371デフォルトの名無しさん
2008/08/26(火) 15:16:180372デフォルトの名無しさん
2008/08/26(火) 15:24:210373デフォルトの名無しさん
2008/08/26(火) 15:39:16こんなのがボルトネックになるのはありえないから上を選ぶべき
0374デフォルトの名無しさん
2008/08/26(火) 15:42:030375デフォルトの名無しさん
2008/08/26(火) 16:32:240376デフォルトの名無しさん
2008/08/26(火) 16:51:03Neet山かも
0377デフォルトの名無しさん
2008/08/26(火) 19:41:55ex,ey,ez = [5,5,5]
dx = 0.0212312(例えば)
listx = []
for x in xrange( sx, ex, dx):
listx.append(x)
ということをやりたいのですが、浮動小数点だとできないようです。
こういった簡潔な表記でできる方法ってありますか?
0378デフォルトの名無しさん
2008/08/26(火) 19:51:13http://code.activestate.com/recipes/66472/
0379デフォルトの名無しさん
2008/08/26(火) 20:15:36自分なりにググったのですが、色々甘かったようです。
ご指摘の通りです。
教えていただきありがとうございます。大変助かりました。
0380デフォルトの名無しさん
2008/08/26(火) 20:26:450381デフォルトの名無しさん
2008/08/26(火) 21:34:50のモードにチェックが入っていてうまく検索できませんでした。
お恥ずかしい・・・
0382デフォルトの名無しさん
2008/08/26(火) 23:51:39どっかにないだろうか?
0383382
2008/08/27(水) 00:07:030384デフォルトの名無しさん
2008/08/27(水) 00:48:400385デフォルトの名無しさん
2008/08/28(木) 00:34:48"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はどう記述すればいいんでしょう?
0386デフォルトの名無しさん
2008/08/28(木) 13:14:160387デフォルトの名無しさん
2008/08/28(木) 13:34:32hi があったので low を探したら nen tuki が見つかりました・・・
day にしろよ・・・
0388デフォルトの名無しさん
2008/08/28(木) 16:36:200389デフォルトの名無しさん
2008/08/29(金) 00:55:31正常な回答を寄せていただける方以外レスは控えてくださいますようお願いします。
0390デフォルトの名無しさん
2008/08/29(金) 01:10:550391デフォルトの名無しさん
2008/08/29(金) 01:40:07日本語訳すると「何様のつもりだ?」ですね、分かります。
0392デフォルトの名無しさん
2008/08/29(金) 02:04:390393デフォルトの名無しさん
2008/08/29(金) 02:10:370394デフォルトの名無しさん
2008/08/29(金) 09:25:310395385
2008/08/29(金) 09:46:54お願いしますから
早く回答くれませんか
strptimeメソッドの処理について私が悩んでるのに
質問スレで回答が付かない理由がよくわかりません
おねがいします
0396385
2008/08/29(金) 09:48:51の
+が
該当するところが
%+でいいのかどうなのかが
知りたいだけです
それが解決すれば
この問題は終わります
0397デフォルトの名無しさん
2008/08/29(金) 09:52:160398デフォルトの名無しさん
2008/08/29(金) 10:21:58(2008, 8, 27, 22, 51, 1, 2, 240, -1)
0399385
2008/08/29(金) 11:24:07私は本当に困っているのです。
ふざけるのもいい加減にしてください。
早く答えてください!
0400デフォルトの名無しさん
2008/08/29(金) 11:54:08処理できないようだから、strptime()一発でやるのは諦めれ
どっちみちtime.struct_timeは単なるCのstruct tmのラッパーだから
タイムゾーンの情報なんぞ持たないし持てない
・+でsplit()して前半をstrptime()に食わせてstruct_timeを構築
・それをもとにより高級なdatetime.timeを構築
・タイムゾーンオフセットの処理は自前で
こんな感じになるんじゃないの
0401デフォルトの名無しさん
2008/08/29(金) 12:28:56>質問スレで回答が付かない理由がよくわかりません
ここは「お勉強スレ」で「質問スレ」じゃないから。
Please say joke between rest.
0402デフォルトの名無しさん
2008/08/29(金) 14:52:45なぜならオレが385だから
0403デフォルトの名無しさん
2008/08/29(金) 15:29:46私が385です。勝手に名乗らないでください。
0404デフォルトの名無しさん
2008/08/29(金) 17:59:260405デフォルトの名無しさん
2008/08/29(金) 23:14:390406デフォルトの名無しさん
2008/08/29(金) 23:45:220407デフォルトの名無しさん
2008/08/30(土) 00:56:530408デフォルトの名無しさん
2008/08/30(土) 01:12:050409デフォルトの名無しさん
2008/08/30(土) 08:06:170410デフォルトの名無しさん
2008/08/30(土) 08:19:20def get_tomorrow_date():
... time.sleep(86400)
... return time.localtime()
0411デフォルトの名無しさん
2008/08/30(土) 08:25:340412デフォルトの名無しさん
2008/08/30(土) 14:19:570413デフォルトの名無しさん
2008/08/30(土) 17:54:590414デフォルトの名無しさん
2008/08/30(土) 21:13:490415デフォルトの名無しさん
2008/08/31(日) 00:11:570416デフォルトの名無しさん
2008/08/31(日) 01:00:110417デフォルトの名無しさん
2008/08/31(日) 01:18:340418デフォルトの名無しさん
2008/08/31(日) 02:12:52某社のカップ自販機ウーロン茶原液に材料として入ってるが、無害なのか?
0419デフォルトの名無しさん
2008/08/31(日) 03:04:400420デフォルトの名無しさん
2008/09/01(月) 11:55:090421デフォルトの名無しさん
2008/09/01(月) 20:45:02CGIだったらPHPのほうが上だよね?
小物アプリだったらrubyのほうが上だし、
どういうときに使うの?
0422デフォルトの名無しさん
2008/09/01(月) 21:03:430423デフォルトの名無しさん
2008/09/01(月) 21:04:400424デフォルトの名無しさん
2008/09/01(月) 21:59:280425デフォルトの名無しさん
2008/09/01(月) 22:35:12ライブラリはPythonの方が多そうなのに
0426デフォルトの名無しさん
2008/09/01(月) 22:39:160427デフォルトの名無しさん
2008/09/01(月) 22:40:38書き捨てのコード
0428デフォルトの名無しさん
2008/09/01(月) 22:45:09どうしてもPythonじゃなきゃだめだっていうのなら
3DCG系のソフトなどでPythonでプラグイン書くってのがけっこうあるよ
0429デフォルトの名無しさん
2008/09/01(月) 22:46:250430デフォルトの名無しさん
2008/09/01(月) 22:53:08http://code.djangoproject.com/wiki/DjangoAndPyPy
0431デフォルトの名無しさん
2008/09/01(月) 23:13:340432デフォルトの名無しさん
2008/09/01(月) 23:33:030433デフォルトの名無しさん
2008/09/01(月) 23:44:46Rubyには絶対かなわない
0434デフォルトの名無しさん
2008/09/01(月) 23:48:21http://pc11.2ch.net/test/read.cgi/tech/1215319832/
0435デフォルトの名無しさん
2008/09/02(火) 01:07:330436デフォルトの名無しさん
2008/09/02(火) 05:13:12//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]
これしかない?
0437デフォルトの名無しさん
2008/09/02(火) 05:14:570438デフォルトの名無しさん
2008/09/02(火) 06:17:01もしa["a"]、a["b"]、…のようにキーの昇順に取り出したいなら
for key in sorted(a.keys()):
print a[key]
とするといい
0439436
2008/09/02(火) 07:45:43>単純にディクショナリをforループで回すと、要素の順番は保証されないので
それは知ってる。
a[key]みたいに連想配列のキーを指定して(見た目)間接的に値にアクセスじゃなくて変数hogeに直接値が代入されないかって事。
Pythonにはそういう文無い?
0440デフォルトの名無しさん
2008/09/02(火) 07:55:300441デフォルトの名無しさん
2008/09/02(火) 08:43:140442デフォルトの名無しさん
2008/09/02(火) 09:14:160443デフォルトの名無しさん
2008/09/02(火) 09:17:520444デフォルトの名無しさん
2008/09/02(火) 09:59:56for v in a.itervalues():
っていうか、436からどうやってそれを読み取れと…
0445デフォルトの名無しさん
2008/09/02(火) 10:01:01夏休みが終わってない厨房がいるのはナゼなんだぜ?
0446デフォルトの名無しさん
2008/09/02(火) 16:04:190447デフォルトの名無しさん
2008/09/02(火) 17:08:06大学は9月ちょい初めぐらいまで夏休みだろ
0448デフォルトの名無しさん
2008/09/02(火) 20:23:03小物に向いてるのがrubyなだけだ。
0449デフォルトの名無しさん
2008/09/02(火) 22:06:42各モジュールが大丈夫かどうかの確認とかしないとなんだよな。
楽しみでもあり苦労しそうだなあ。
0450デフォルトの名無しさん
2008/09/03(水) 11:02:21network 系のツール移植やろうとして途中でやめちゃったよ。
0451デフォルトの名無しさん
2008/09/03(水) 12:56:350452デフォルトの名無しさん
2008/09/03(水) 13:52:52Python入ってんの?
0453デフォルトの名無しさん
2008/09/03(水) 14:09:59パイソンはGOOGLEが作った言語なんです!
パイソンはGOOGLEが作った言語なんです!
0454デフォルトの名無しさん
2008/09/03(水) 15:56:42google設立は1998年、Pythonが作られたのは95年以前。
タイムパラドックスか?
0455デフォルトの名無しさん
2008/09/03(水) 16:05:400456デフォルトの名無しさん
2008/09/03(水) 16:06:140457デフォルトの名無しさん
2008/09/03(水) 16:10:130458デフォルトの名無しさん
2008/09/03(水) 16:18:270459デフォルトの名無しさん
2008/09/03(水) 16:24:51http://docs.python.org/ref/node110.html
0460デフォルトの名無しさん
2008/09/03(水) 21:56:140461デフォルトの名無しさん
2008/09/03(水) 22:11:410462デフォルトの名無しさん
2008/09/03(水) 22:22:380463デフォルトの名無しさん
2008/09/03(水) 23:32:28>「Google言語。」
これ昔なんかの本のコピーになってるの見たよ。
知りあいのGoogle社員に聞いたら、めっちゃイヤがってた
0464デフォルトの名無しさん
2008/09/03(水) 23:54:400465デフォルトの名無しさん
2008/09/04(木) 02:15:51警察に行ってブラックリストに載るらしいぞ
ガンバレ(wwWwwwWwWWwww
0466デフォルトの名無しさん
2008/09/04(木) 06:52:460467デフォルトの名無しさん
2008/09/04(木) 08:54:08今時JAROとか小学生でも言わないわ(プ、ププププ
0468デフォルトの名無しさん
2008/09/04(木) 09:06:050469デフォルトの名無しさん
2008/09/04(木) 11:12:22Rubyにはプログラミング言語以上の価値があると思う [WebProg]
0470デフォルトの名無しさん
2008/09/04(木) 11:23:17宣伝乙。信者も大変だな。
0471デフォルトの名無しさん
2008/09/04(木) 15:29:56構造体配列とか使いたいんですが。
タプルとかは出てきたんですけど、なんか目的に沿わないようで。
クラスはメンバ作れても、配列にできなくて。orz
皆さんそういう時ってどうしてますか?
0472デフォルトの名無しさん
2008/09/04(木) 15:40:46シーケンスに何を入れようと自由だよ。
0473デフォルトの名無しさん
2008/09/04(木) 16:11:15http://rarfile.berlios.de/
これで
r = rarfile.RarFile("path.rar","r")
print r.read(r.infolist()[0].filename)
するとException: Error reading fileが出るんだけど、これは何故?
infolistやらfilenameは取得できる。
0474デフォルトの名無しさん
2008/09/04(木) 16:55:17class kls: pass
klsins_list = [kls() for r in range(0, 5)]
でいいのかな。もっと一般的な書き方ってあったっけ。
0475473
2008/09/04(木) 16:55:57orz...すいません出直してきます。
0476デフォルトの名無しさん
2008/09/04(木) 18:24:180477デフォルトの名無しさん
2008/09/04(木) 19:06:53「メモリ上の一続きの領域に要素なりメンバが並んでるもの」
ってことなんじゃないか
構造体配列の「配列」もそういう意味で使ってる気がする
(構造体の配列ではなく)
0478デフォルトの名無しさん
2008/09/04(木) 19:34:470479デフォルトの名無しさん
2008/09/04(木) 21:59:370480デフォルトの名無しさん
2008/09/04(木) 22:32:150481デフォルトの名無しさん
2008/09/05(金) 00:48:39>>> 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
0482デフォルトの名無しさん
2008/09/05(金) 01:23:260483デフォルトの名無しさん
2008/09/05(金) 01:42:09Named Tuples ≪ ActiveState Code
http://code.activestate.com/recipes/500261/
0484デフォルトの名無しさん
2008/09/05(金) 05:55:430485デフォルトの名無しさん
2008/09/05(金) 09:32:00なんか、自分の理解不足と説明不足でグデグデにしてしまって。(´Д`;
>>476
構造体をを配列にするのを代わりでクラスでできないかな?と思って。
自分でやった中ではできなかったので。orz
>>477
メモリ上・・・までは意識して無かったです。;
構造体配列は、一応構造体の配列のつもりで。
>>481
お、なんか面白そうですね。2.6以降っすか。無いと思ったらbeta版なんですね。
自分はいいけど、他の環境も更新しないと動かないのはちと痛いっす。;
ちょっとやりたいことをCで書いてみます。
・・・と行制限が。(´Д`;
0486デフォルトの名無しさん
2008/09/05(金) 09:33:45struct 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;
のトコみたく、メンバ(?)をバラバラに指定できると助かります。
0487デフォルトの名無しさん
2008/09/05(金) 09:45:48見にくくてすいません。((orz
0488宿題か?
2008/09/05(金) 10:08:26class 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)
0489デフォルトの名無しさん
2008/09/05(金) 10:14:490490デフォルトの名無しさん
2008/09/05(金) 12:37:44>>> params = (("ENG16", 0xff, 8), ("MET08", 0xff, 6), ("MET08", 0xff, 6))
>>> frm = list(itertools.starmap(Frame, params))
0491デフォルトの名無しさん
2008/09/05(金) 12:39:220492いいえ、ケフィ(ry
2008/09/05(金) 13:11:50SUGEEEEE!!!!動きました。
やり方自体はあったんですね。見つからなかっただけで。
構造体とかそっち方面から情報漁ってたんですが、全然辿り着かなくて。
んで、宿題ではなく業務のおうc(ry
・・・効率化をしようかと。w
元々、数十、数百、てか千弱のとある要素を、手動でやいやいしてたみたいで。(’A`;
自分なりに作ったものの、全部ただの多次元配列でやったんで、
ソートとかもう。orz
これで大分簡略化できそうです。
と、実はまだ関数のselfがきっちり理解できてなかったりします。(^^;
0493デフォルトの名無しさん
2008/09/05(金) 13:19:49>>> v = (("ENG16", 0xff, 8), ("MET08", 0xff, 6))
>>> [type('Frame', (object, ), dict(zip(k, i))) for i in v]
真似しなくていいぞ
0494デフォルトの名無しさん
2008/09/05(金) 18:00:18http://pc11.2ch.net/test/read.cgi/tech/1220604777/
0495デフォルトの名無しさん
2008/09/05(金) 18:40:320496デフォルトの名無しさん
2008/09/05(金) 22:06:31python2.6で入るモジュールmultiprocessing、面白そうだ
前にスレで話題に出たParallel Pythonと同じような仕組みなのかなぁ
0497デフォルトの名無しさん
2008/09/05(金) 22:08:01全然違う
0498デフォルトの名無しさん
2008/09/05(金) 22:26:35Python 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/
0499デフォルトの名無しさん
2008/09/06(土) 07:04:24これはいいものを教えてもらいました。ありがとう。
早速お試しということで、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 もどきが
欲しくなりますねー。
0500デフォルトの名無しさん
2008/09/06(土) 10:45:471 : 一次情報に接触しようとしない
2 : 人に教えてもらわないと気づかない
3 : 英語ができない
4 : その割には偉そう
5 : 自分の能力のなさを棚に上げて他人を逆恨みする
0501デフォルトの名無しさん
2008/09/06(土) 10:56:15妙に意固地になって利用したがらない俺がいます
0502デフォルトの名無しさん
2008/09/06(土) 10:58:00そうやって最新情報を使っているひとたちとの差が広がってゆくんですね、分かります。
0503デフォルトの名無しさん
2008/09/06(土) 10:59:16>4 : その割には偉そう
>5 : 自分の能力のなさを棚に上げて他人を逆恨みする
0504デフォルトの名無しさん
2008/09/06(土) 12:47:116 : 都合が悪くなると逃げる
0505デフォルトの名無しさん
2008/09/06(土) 14:35:44MPIもどきはPythonでの並列プログラミングへのアプローチの仕方としては良くない。
複雑なことをやろうとすればするほど、CやFORTRANでMPIライブラリを使うときの
ようにアホみたいにソースコードが長くなって、デバッグが困難になる。はじめか
らCあるいはFORTRANでやってりゃよかったということになってしまうだろうなと思う。
C/C++、FORTRANならキャッシュラインサイズやデータアクセスの局所化を意識した
ソースコードの最適化+インテルコンパイラで爆速になるし、PsycoとかPyPyとか
JITコンパイラがあるとはいえ、Pythonの勝負できるフィールドではないと思う。
OpenMPもどきでお手軽にデータ並列のプログラムを作るぐらいがPythonらしい。
0506デフォルトの名無しさん
2008/09/06(土) 15:05:320507デフォルトの名無しさん
2008/09/06(土) 21:38:290508デフォルトの名無しさん
2008/09/06(土) 21:39:481 : 一次情報に接触しようとしない
2 : 人に教えてもらわないと気づかない
3 : 英語ができない
4 : その割には偉そう
5 : 自分の能力のなさを棚に上げて他人を逆恨みする
6 : 都合が悪くなると逃げる
7:自己解決シマシタ
8 : Rubyが諸悪の根源と考えている
0509デフォルトの名無しさん
2008/09/06(土) 21:52:540510デフォルトの名無しさん
2008/09/06(土) 22:03:38そしたら、TABが無効化されるので、
そのままコピペしても動かないよね。
0511デフォルトの名無しさん
2008/09/06(土) 22:11:060512デフォルトの名無しさん
2008/09/06(土) 22:16:48別に。
基本的にスペースで書くから問題ない。
0513デフォルトの名無しさん
2008/09/06(土) 22:17:080514デフォルトの名無しさん
2008/09/06(土) 22:21:20無効化じゃなくてブラウザの仕様で見えなくなってるだけだ
0515デフォルトの名無しさん
2008/09/07(日) 06:14:560516デフォルトの名無しさん
2008/09/07(日) 06:35:04コードを書かれることを考えていない2ch側の問題。
0517デフォルトの名無しさん
2008/09/07(日) 07:02:23HTMLのダイエットを最優先にしている2chにコードを張ったり使おうと思う奴の問題。
0518デフォルトの名無しさん
2008/09/07(日) 07:19:00AA ズレるけどな
0519デフォルトの名無しさん
2008/09/07(日) 10:01:47ポップアップしたらインデントされてるよね
それコピペすればいいんじゃね
0520デフォルトの名無しさん
2008/09/07(日) 10:17:04コードが見難いので、TABが表示されるモードつけてくれ!って
0521デフォルトの名無しさん
2008/09/07(日) 12:30:15>>> 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にもメソッドがあるのですが
逆方向への変換の方法がわかりません。
どなたかご存知ありませんか?
0522デフォルトの名無しさん
2008/09/07(日) 12:34:370523デフォルトの名無しさん
2008/09/07(日) 13:55:18タイムゾーン変換に関してdatetimeはtzinfoに丸投げでtzinfo.utcoffset()が夏時間も込みのオフセットを返さなければならないところが機能していないようなのです。
そうなると、tzinfoの作り方が間違っているかもしれないのですが、pytzのソースを見る限りモジュールの外から使う場合にはpytz.timezone('xxxxxx')で作られるようにモジュール関数が作られていますし、テストケースでもこれが使われています。
使い方に関しては、テストケースの最後の方にutcoffset関連のテストの中で一度ローカルタイムへ変換されたものの逆変換が、 utc_dt = loc_dt.astimezone(UTC)で行われているます。
何か大きな勘違いをしているのでしょうか?
0524デフォルトの名無しさん
2008/09/08(月) 13:58:24Apache上で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として実行されるんでしょうか?
0525デフォルトの名無しさん
2008/09/08(月) 17:21:020526デフォルトの名無しさん
2008/09/08(月) 19:50:01ありがとうございます。
PythonHandler mptest
に変更して、アクセスするファイルもmptest.pyにしてみましたが変わりませんでした。
0527デフォルトの名無しさん
2008/09/08(月) 20:39:38あとは <Directory "/example"> が怪しげ。c:/example って解釈されてる気がする
ブラウザからアクセスしたときにスクリプトのソースが見えるのなら
DocumentRoot の下にそのスクリプトを置いていると思う
その DocumentRoot を c:\Apache\htdocs と仮定すると
* c:\Apache\htdocs\example に mptest.py を設置
* <Directory "c:\Apache\htdocs\example"> ... </Directory> に変更
0528デフォルトの名無しさん
2008/09/08(月) 21:33:19うおー。動きました!
Pythonとは全く関係ないところでしたが、ご教授ありがとうございます!
0529デフォルトの名無しさん
2008/09/09(火) 01:08:05いちいち
>>> import _tkinter
>>> _tkinter._flatten
とか
>>> import compiler
>>> compiler.ast.flatten
とかしたくない。
0530デフォルトの名無しさん
2008/09/09(火) 04:04:23とか
from compiler.ast import flatten
でお茶を濁す。
0531デフォルトの名無しさん
2008/09/09(火) 13:54:450532デフォルトの名無しさん
2008/09/10(水) 12:29:49やはりバイブルとかも一通り読んで、言語仕様把握しちゃってるんでしょうか?
やりとり見てるとSUGEEEE!!!
なので(´Д`;
0533デフォルトの名無しさん
2008/09/10(水) 13:10:37合計しちゃうとそういう風に見える。
0534デフォルトの名無しさん
2008/09/10(水) 13:16:50標準モジュールの中にも未だに知らないのがあるから困る
0535デフォルトの名無しさん
2008/09/10(水) 13:28:260536デフォルトの名無しさん
2008/09/11(木) 01:25:05http://pc11.2ch.net/test/read.cgi/prog/1219109959/l50x
0537デフォルトの名無しさん
2008/09/11(木) 16:34:560538デフォルトの名無しさん
2008/09/11(木) 16:59:190539デフォルトの名無しさん
2008/09/11(木) 18:03:570540デフォルトの名無しさん
2008/09/11(木) 21:25:100541デフォルトの名無しさん
2008/09/11(木) 21:31:350542デフォルトの名無しさん
2008/09/11(木) 23:09:20まだまだ多いし、・・・
0543デフォルトの名無しさん
2008/09/11(木) 23:16:04pythonの中の人もそう言ってる。
0544デフォルトの名無しさん
2008/09/12(金) 03:14:293.xを覚えて2.xのライブラリを3.xに移植する。
0545デフォルトの名無しさん
2008/09/12(金) 04:19:390546デフォルトの名無しさん
2008/09/12(金) 17:15:13今はメインはこれって統合されてるの?
0547デフォルトの名無しさん
2008/09/12(金) 17:16:370548デフォルトの名無しさん
2008/09/12(金) 17:24:56ボタンをクリックさせた後、次のページのHTMLを取得する場合
読み込み待機(ieWait)に入るまでの間に
ie.ReadyStateが4に切り替わってくれない為に
python上では読み込みが完了したと処理してしまい
前に表示していたページのHTMLを表示してしまいます。
皆さんならどうするか、回避方法を教えていただけないでしょうか?
ソース >> http://kissho.xii.jp/1/src/1jyou48304.py.html
よろしくお願いします。
0549デフォルトの名無しさん
2008/09/13(土) 01:17:310550デフォルトの名無しさん
2008/09/13(土) 01:50:46ie.ReadyState == 4 の直後に数秒wait入れてみるとか
0551デフォルトの名無しさん
2008/09/13(土) 02:37:21doc.all.btnG.click()しても
ブラウザが遷移するのは非同期なのが原因なんだけど
使い捨てツールならそんなんでいいと思う。
0552デフォルトの名無しさん
2008/09/13(土) 02:53:500553デフォルトの名無しさん
2008/09/13(土) 07:11:170554548
2008/09/13(土) 15:33:50助かります。
while ie.ReadyState != 4 or ie.Busy: time.sleep(0.5)
で簡単に解決出来ました!
ありがとうございました。
また行き詰った時はお願いします。
0555デフォルトの名無しさん
2008/09/13(土) 17:21:470556デフォルトの名無しさん
2008/09/13(土) 20:40:250557デフォルトの名無しさん
2008/09/13(土) 21:36:150558デフォルトの名無しさん
2008/09/13(土) 22:49:070559デフォルトの名無しさん
2008/09/13(土) 22:56:450560デフォルトの名無しさん
2008/09/14(日) 06:46:27http://www.python.jp/pipermail/python-ml-jp/2008-September/004500.html
なんでこの人って
他の技術的な話題に一切コメントしないのに
こういうどうしようもない自サイトの宣伝及び
Jython本の宣伝にはMLに流してくるんだろうね。
はっきりいってうざいです。
0561デフォルトの名無しさん
2008/09/14(日) 06:54:42そういうのは無視していたほうがいいよ。
イライラするより、コーディングしたほうが有意義。
前からそのお方はずっとそういうスタンスだから、
ここで書いて本人が目にしたとしても変えないよ。
その人の名前がメール本文に入ってたらゴミ箱行くようにするとかで
解決するんじゃないの、目にしたくなければさ。
0562デフォルトの名無しさん
2008/09/14(日) 09:32:26どの言語のコミュにもいるよ、そういう人。
0563デフォルトの名無しさん
2008/09/14(日) 09:36:09本来のMLの目的通りお前がいい回答をすればいいじゃないか
0564デフォルトの名無しさん
2008/09/14(日) 09:49:51とあるマイナー言語のMLには、自著の宣伝と宗教話しか流さない人がいるよ。
長老らしく、誰も文句言えないらしい。
0565デフォルトの名無しさん
2008/09/14(日) 09:53:58コメントしてたりするんだけど具体的に何を作ったのかさっぱりわからんな
0566デフォルトの名無しさん
2008/09/14(日) 09:57:270567デフォルトの名無しさん
2008/09/14(日) 12:29:110568デフォルトの名無しさん
2008/09/14(日) 12:33:370569デフォルトの名無しさん
2008/09/14(日) 13:57:000570デフォルトの名無しさん
2008/09/14(日) 14:54:17boostを使うと、C++に埋め込めますか?
コンパイルすると、一つのEXEにファイルになりますか?
EXEの内部にスクリプトに必要なファイルが埋め込んであるだけではないですよね?
0571デフォルトの名無しさん
2008/09/14(日) 15:07:480572デフォルトの名無しさん
2008/09/14(日) 15:16:25IronPythonでも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
0573デフォルトの名無しさん
2008/09/14(日) 15:42:06/\⌒ヽペッタン
/ /⌒)ノ ペッタン
∧_∧ \ (( ∧_∧
(; ´Д`))' ))(・∀・ ;)
/ ⌒ノ ( ⌒ヽ⊂⌒ヽ
.(O ノ ) ̄ ̄ ̄()__ )
)_)_) (;;;;;;;;;;;;;;;;)(_(
まずは、何がしたいのか、がわからないと、アドバイスのしようがない。
0574デフォルトの名無しさん
2008/09/14(日) 15:56:010575デフォルトの名無しさん
2008/09/14(日) 17:26:30それとも3.1くらいから乗り換えるか…
0576デフォルトの名無しさん
2008/09/15(月) 12:34:100577デフォルトの名無しさん
2008/09/15(月) 12:41:48俺の会社ではRubyに乗り換えることが決定的になった。
Rubyのが仕様変更安定してるからなあ。
0578デフォルトの名無しさん
2008/09/15(月) 12:42:260579デフォルトの名無しさん
2008/09/15(月) 12:44:530580デフォルトの名無しさん
2008/09/15(月) 12:46:460581デフォルトの名無しさん
2008/09/15(月) 12:48:350582デフォルトの名無しさん
2008/09/15(月) 12:49:280583デフォルトの名無しさん
2008/09/15(月) 16:42:31お気の毒
0584デフォルトの名無しさん
2008/09/15(月) 16:56:58英断だと思う。明らかに今回のPython刷新は
意味が不明な点が多すぎる。
0585デフォルトの名無しさん
2008/09/15(月) 16:58:450586デフォルトの名無しさん
2008/09/15(月) 17:00:22ていうかPythonを何に使ってたのか気になる。
0587デフォルトの名無しさん
2008/09/15(月) 17:03:22おーやっぱあなたの会社もそうしますか。
Rubyの勉強会に行ってこいとか上司に言われるようになりました。
影舞に代表されるようなすぐれたBTSなどもありますしね。
0588デフォルトの名無しさん
2008/09/15(月) 17:05:310589デフォルトの名無しさん
2008/09/15(月) 17:05:44どうしても影舞以降棒読みになる
0590デフォルトの名無しさん
2008/09/15(月) 17:05:450591デフォルトの名無しさん
2008/09/15(月) 17:06:400592デフォルトの名無しさん
2008/09/15(月) 17:08:320593デフォルトの名無しさん
2008/09/15(月) 17:11:02昔からいるやつなら分かるはず
0594593
2008/09/15(月) 17:16:140595デフォルトの名無しさん
2008/09/15(月) 17:20:52そんな返答は許可しません。
0596デフォルトの名無しさん
2008/09/15(月) 17:23:280597デフォルトの名無しさん
2008/09/15(月) 17:25:34パクっていったよなあ
0598デフォルトの名無しさん
2008/09/15(月) 17:29:270599デフォルトの名無しさん
2008/09/15(月) 17:31:510600デフォルトの名無しさん
2008/09/15(月) 17:49:33とPHPみたいなことを言ってみる。
0601デフォルトの名無しさん
2008/09/15(月) 17:57:582.0が出たのが2000年だよ?
Pythonは普通のバージョンアップは下位互換性を大切にしてる。popenがいっぱいあったりするのはそのせい。
3.0は、滅多に無い下位互換性を切ってリフレッシュするメジャーバージョンアップ。
しかも、2.6と3.0両方で動くコードが書けたり、2.7と3.1両方で動くコードが書けるように計画していたり、
バージョンアップがしやすいようにちゃんと考えられてる。
言語の安定性は、 Python>Perl>>Ruby,PHP
0602デフォルトの名無しさん
2008/09/15(月) 18:08:45Matzが思いつきでコードをいじり倒してrailsの互換性が平気で
無くなったりするRubyを比べられても、ネタとしか思えんのだが
まあネタなんだろうな
0603デフォルトの名無しさん
2008/09/15(月) 18:27:400604デフォルトの名無しさん
2008/09/15(月) 18:49:23PHPがRubyと同列なんてあんまりだ。
0605デフォルトの名無しさん
2008/09/15(月) 19:28:390606デフォルトの名無しさん
2008/09/15(月) 20:10:34まさにゴキブリww
0607デフォルトの名無しさん
2008/09/15(月) 20:19:59http://gihyo.jp/dev/feature/01/python3000/0004
0608606
2008/09/15(月) 20:20:11イテレータについても早期に実装されたりしているし
0609デフォルトの名無しさん
2008/09/15(月) 20:29:090610デフォルトの名無しさん
2008/09/15(月) 20:36:51コードコンバータ周りの説明が何言ってるのかわからん
0611デフォルトの名無しさん
2008/09/15(月) 21:25:12イケメンハッカーって、このひとの事ですか?
0612デフォルトの名無しさん
2008/09/15(月) 21:56:39Nと間違えるなよ。
この人は米国に赴いてきちんとGuidoと会話して
話聞いたりしっかりしてんだぞ。
0613デフォルトの名無しさん
2008/09/15(月) 22:21:08本人乙
0614612
2008/09/15(月) 22:39:260615デフォルトの名無しさん
2008/09/15(月) 22:46:18本人乙
0616デフォルトの名無しさん
2008/09/16(火) 00:07:400617デフォルトの名無しさん
2008/09/16(火) 00:46:320618デフォルトの名無しさん
2008/09/16(火) 00:51:33http://www.python.org/dev/peps/pep-0361/
少し延期しちゃったな。3.0は2.6と同時のはずだったのに。
0619デフォルトの名無しさん
2008/09/16(火) 10:27:34http://mail.python.org/pipermail/python-dev/2008-September/082360.html
http://mail.python.org/pipermail/python-dev/2008-September/082371.html
0620デフォルトの名無しさん
2008/09/16(火) 16:06:45今のままじゃ安心して使えない
0621デフォルトの名無しさん
2008/09/16(火) 17:22:39つまりpythonをcから呼びたいのです
0622621
2008/09/16(火) 17:31:18http://docs.python.org/lib/ctypes-callback-functions.html
0623621
2008/09/16(火) 17:50:31あくまでpythonの中でCの関数にうめこめるだけぽい
0624デフォルトの名無しさん
2008/09/17(水) 08:57:320625デフォルトの名無しさん
2008/09/17(水) 10:10:57rubyの余りの良さにびっくりし、改宗することにしました。
0626デフォルトの名無しさん
2008/09/17(水) 10:25:57どんなトコが良かった?
0627デフォルトの名無しさん
2008/09/17(水) 10:26:46使う側に立って開発されている感じ。
0628デフォルトの名無しさん
2008/09/17(水) 10:29:42どっちの言語にもファンはいるが、両方好きな人はそんなに多くないとの噂
0629626
2008/09/17(水) 10:29:530630デフォルトの名無しさん
2008/09/17(水) 10:30:19ユーザはpythonのほうが凄く多いよね
0631デフォルトの名無しさん
2008/09/17(水) 10:31:370632デフォルトの名無しさん
2008/09/17(水) 10:32:08言語キチガイが発生してるってだけのことか。時間無駄にした
0633デフォルトの名無しさん
2008/09/17(水) 10:36:030634デフォルトの名無しさん
2008/09/17(水) 10:48:080635デフォルトの名無しさん
2008/09/17(水) 17:17:48pycファイルを作らないようなオプションはないでしょうか?
0636デフォルトの名無しさん
2008/09/17(水) 17:30:05Rubyを使えばいいと思うよ。
0637デフォルトの名無しさん
2008/09/17(水) 17:36:310638デフォルトの名無しさん
2008/09/17(水) 18:05:19エラーってどんなの?
0639635
2008/09/17(水) 19:12:20分かりました、Rubyを使う様にしたいと思います。
どうしても中間ファイル pycが作られてしまうのに耐えられません。
ありがとうございました。
0640デフォルトの名無しさん
2008/09/17(水) 21:35:280641デフォルトの名無しさん
2008/09/17(水) 21:41:170642デフォルトの名無しさん
2008/09/17(水) 21:42:460643デフォルトの名無しさん
2008/09/17(水) 21:47:14誰も使ってない言語の方がクールだろ。
0644デフォルトの名無しさん
2008/09/17(水) 22:34:12きっと3日後にはRubyスレに同じこと書いてるよw
0645デフォルトの名無しさん
2008/09/17(水) 22:41:45MacOSでの開発を実際に行われてる方っていますか?
日本語が問題なくソース内に打ち込めて(ことえりを使って入力できる、という意味)、使えるものといえば
Xcode及びEmacs(オリジナル及びCarbon版どれでも)以外ないのでしょうか..
wxPython実装のものなどを使ってみたりしましたが、
どうもうまく日本語入力できなかったりするんですよね。
PyScripterのようなお気軽なものってないんですかね?
Macでの開発環境スレとかで書くべき話題かもしれません。
0646デフォルトの名無しさん
2008/09/17(水) 22:43:050647デフォルトの名無しさん
2008/09/17(水) 22:50:250649デフォルトの名無しさん
2008/09/17(水) 22:59:15>>645のような。こういった質問はこのスレッドでは一切認めません。
0650デフォルトの名無しさん
2008/09/17(水) 23:00:25Eclipse+PyDevとかは?
http://wiki.python.org/moin/PythonEditors
http://wiki.python.org/moin/IntegratedDevelopmentEnvironments
0651デフォルトの名無しさん
2008/09/17(水) 23:01:480652デフォルトの名無しさん
2008/09/17(水) 23:12:21実装していったから結構やれること多いよ
0653デフォルトの名無しさん
2008/09/17(水) 23:19:04Ruby>=Perl>>>Python>=PHP
こんな感じかな。
webに限定すると
Ruby>>PHP>>Perl>>>>>>>Python
になるな。Pythonは使いづらい点がある
0654デフォルトの名無しさん
2008/09/17(水) 23:21:59このスレを見ている人はこんなスレも見ています。(ver 0.20)
Rubyにはプログラミング言語以上の価値があると思う [WebProg]
0655デフォルトの名無しさん
2008/09/17(水) 23:29:350656デフォルトの名無しさん
2008/09/17(水) 23:29:54みんなで645の質問に答えよう!
0657デフォルトの名無しさん
2008/09/17(水) 23:32:26じゃ俺から。つ TextWrangler
0658デフォルトの名無しさん
2008/09/18(木) 00:06:53空気のような存在になるよ。
0659デフォルトの名無しさん
2008/09/18(木) 00:51:380660デフォルトの名無しさん
2008/09/18(木) 01:03:49Rubyすごいって言いにきたのかPythonの不満な点を指摘しにきたのかどっちなの
0661デフォルトの名無しさん
2008/09/18(木) 01:16:420662デフォルトの名無しさん
2008/09/18(木) 01:20:18後者に決まってるだろう
これだからPython厨は困る
0663デフォルトの名無しさん
2008/09/18(木) 01:24:54self地獄でもインデントでもlambdaでもなんでもいいから
0664デフォルトの名無しさん
2008/09/18(木) 01:25:060665デフォルトの名無しさん
2008/09/18(木) 01:32:520666デフォルトの名無しさん
2008/09/18(木) 01:35:20相手は一人なんだし。
0667デフォルトの名無しさん
2008/09/18(木) 01:50:35パイソンは終わった言語です
0668デフォルトの名無しさん
2008/09/18(木) 05:10:35アンチじゃなくて参考に聞きたいんだけど
self減らすテクニックとかってあるの?
0669デフォルトの名無しさん
2008/09/18(木) 06:30:13無視するしかない。
0670デフォルトの名無しさん
2008/09/18(木) 06:35:23エディタの機能を使ってselfを簡単に入力できるようにするしかないと思う。
0671デフォルトの名無しさん
2008/09/18(木) 08:10:51俺はselfなくなったらpython捨てる
0672デフォルトの名無しさん
2008/09/18(木) 08:31:040673デフォルトの名無しさん
2008/09/18(木) 08:43:260674デフォルトの名無しさん
2008/09/18(木) 09:31:520675デフォルトの名無しさん
2008/09/18(木) 10:52:21明るい展望が見えてこない。
0676デフォルトの名無しさん
2008/09/18(木) 11:59:46iPythonみたいな。流行りそうだろ?
0677デフォルトの名無しさん
2008/09/18(木) 12:02:250678デフォルトの名無しさん
2008/09/18(木) 12:27:200679デフォルトの名無しさん
2008/09/18(木) 12:32:23ひょっとしてc++をやたら批判しにくる連中と同じなのかい
0680デフォルトの名無しさん
2008/09/18(木) 12:34:43RoRとか金になりそうだけど、いろいろハマって精神壊しそう、みたいな。
どうよ$Ruby。流行りそうだろ?
0681デフォルトの名無しさん
2008/09/18(木) 12:38:580682デフォルトの名無しさん
2008/09/18(木) 12:42:370683デフォルトの名無しさん
2008/09/18(木) 13:20:360684デフォルトの名無しさん
2008/09/18(木) 13:52:02使いやすいのはわかりきってること…
0685デフォルトの名無しさん
2008/09/18(木) 14:14:33PythonのMLに来てるのを見かけた時は唖然としたわ
0686デフォルトの名無しさん
2008/09/18(木) 14:29:32下のように端末幅より長い文字列を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)
0687デフォルトの名無しさん
2008/09/18(木) 15:58:20オレの知り合いがRails案件に手を出してマジで鬱になってたよ。
要求通りのアプリを組むのは簡単だったみたいだが、パフォーマンス問題があって。
最後は発注元に訴えられて裁判沙汰になったらしい。
そして開発してたやつらはほとんど鬱になったそうだ。
0688デフォルトの名無しさん
2008/09/18(木) 16:14:14あんな罠言語に手を出すから。
なんで刑務所でRuby教えるんだろ?
0689デフォルトの名無しさん
2008/09/18(木) 16:43:310690デフォルトの名無しさん
2008/09/18(木) 17:19:590691デフォルトの名無しさん
2008/09/18(木) 18:19:58はネタじゃねえな。
Railsってフレームワークのはずなのに
互換性をユーザが考えなくてはならない、
中身を知らないと駄目とかそういうレベルの
どうしようもない代物なのになぜか日本で流行ってるんだよな。
バージョンアップが早すぎて互換性が無くなるのはしょうがないとか
そういう議論で切り返されたりするわけだけど、
その場合同一のインタフェースを使い続けるんじゃなくて
別の物を定義してユーザにどちらか選ばせるとか
できないのかなとか疑問に思う。
Rails案件会社内で幾人かの人たちが携わってるけど、
最初は楽だ楽だと言ってたが、最近は「勉強不足で自分自身の存在疑う」
とまで言い始めた。いつに成ればRails or Ruby の拡張及び変更は
落ち着くのだろう。
0692デフォルトの名無しさん
2008/09/18(木) 18:35:010693デフォルトの名無しさん
2008/09/18(木) 18:47:11初心者的な書込み及びステートメントに関する疑問は
別スレッドでどうぞ
0694デフォルトの名無しさん
2008/09/18(木) 19:36:18>Railsってフレームワークのはずなのに
RailsもRubyも言語じゃないよ宗教だよ
Pythonは言語だけど
0695デフォルトの名無しさん
2008/09/18(木) 20:07:04普通でいたい人 => Python
粘着Ruby厨 => 死に神
ということでFA?
0696デフォルトの名無しさん
2008/09/18(木) 21:48:400697デフォルトの名無しさん
2008/09/18(木) 22:25:150698デフォルトの名無しさん
2008/09/18(木) 22:36:540699デフォルトの名無しさん
2008/09/18(木) 23:23:250700デフォルトの名無しさん
2008/09/19(金) 00:07:14そうだろうね。
ちょうどmultiprocessingの話題が出たころから始まってるwww
0701デフォルトの名無しさん
2008/09/19(金) 05:50:420702デフォルトの名無しさん
2008/09/19(金) 08:52:470703デフォルトの名無しさん
2008/09/19(金) 10:20:370704デフォルトの名無しさん
2008/09/19(金) 14:55:250705デフォルトの名無しさん
2008/09/19(金) 15:08:360706デフォルトの名無しさん
2008/09/19(金) 15:13:160707デフォルトの名無しさん
2008/09/19(金) 20:38:340708デフォルトの名無しさん
2008/09/19(金) 20:48:34置かないといけないんじゃなかったっけ?あれが汚いなぁと思った。
あと、いつまでもヴァージョン上がらないし
0709デフォルトの名無しさん
2008/09/19(金) 23:04:510710デフォルトの名無しさん
2008/09/20(土) 01:53:44kwsk
0711デフォルトの名無しさん
2008/09/20(土) 02:32:15/::::::;ゝ-──- 、._/::::::ヽ
ヾ-"´ \::::::| r ‐、r ‐、r ‐、r ‐、
/ _ Perl _ ヾノ .|~ ̄ ̄ ̄ ̄ ̄| | | ! ,,, i ̄
/ /・::::ヽ /・::::ヽ ヽ .| 潰す リスト | ,,,. i ,,,,. ! ,,. ト _,ノ
| 丶:::::ノ ▼ ヽ:::::ノ | | ───── ヽ_,人_,.人__ノ ──
l 、、、 (_人_) 、、、 l ..| ・C←(潰した)
丶 ヽノ / .|─────────────
丶、 / ....| ・ ASP←(叩き潰した)
.. |─────────────
| ・ PHP ←(特に念入りに潰した)
|─────────────
| ・ Ruby ←(みんなの期待に答えて潰した)
|─────────────
| ・ Tomcat ←(最後の最後に叩き潰した)
|─────────────
0712デフォルトの名無しさん
2008/09/20(土) 08:54:150713デフォルトの名無しさん
2008/09/20(土) 09:09:300714デフォルトの名無しさん
2008/09/20(土) 09:30:12オレが調べてやるよ。
一件1万でどうだ?
0715デフォルトの名無しさん
2008/09/20(土) 09:41:000716デフォルトの名無しさん
2008/09/20(土) 20:36:200717デフォルトの名無しさん
2008/09/20(土) 22:57:180718デフォルトの名無しさん
2008/09/21(日) 00:31:010719デフォルトの名無しさん
2008/09/21(日) 20:59:540720デフォルトの名無しさん
2008/09/21(日) 21:01:16は導入されていません。末尾再帰の最適化自体は、コンパイラの最適化のテクニックであ
り、既存のコードに殆ど影響を与えることなく、python に導入可能でしょう。にもかか
らわず、なぜ現在の python には末尾再帰の最適化が導入されていないのでしょうか?
私は、末尾再帰は goto と同様に避けるべきだと Guido が判断しているのだと推測しま
す。末尾再帰のテクニックは参照透明性を保つテクニックです。でも副作用を使いまくり
な python では参照透明な関数を追求する意味はありません。ならば不必要にコードを分
かり難くする末尾再帰は goto と同様に避けるべきだと判断しているのだと推測します。
皆様は どのように考えますでしょうか。
0721デフォルトの名無しさん
2008/09/21(日) 21:47:000722デフォルトの名無しさん
2008/09/21(日) 21:47:43> 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...
0723デフォルトの名無しさん
2008/09/21(日) 22:15:370724デフォルトの名無しさん
2008/09/21(日) 22:50:290725デフォルトの名無しさん
2008/09/21(日) 23:22:020726デフォルトの名無しさん
2008/09/22(月) 06:14:41参照透明なコードを書こうとするのはコードの易化にも繋がるし、悪いことだとは思えない。
末尾再帰ってニュースで興味を持つやつだっているだろうし、実装がつらくないなら入れて欲しい。
避けるべきなのは goto、そして副作用だと思う。
アローで完全に無くせとか言い出すのはやめて欲しいが。
0727デフォルトの名無しさん
2008/09/22(月) 06:42:29・emacsを使ってる奴は須らくキチガイ
と思ってて、西尾何とかのブログをみたんですが、
pythonを使うにはキチガイ染みた
LISPを理解しないと駄目なんでしょうか?
python使ってるとああいう変な人になっちゃうんでしょうか?
西尾という人については良く知らないけど、
経験的にemacsマンセーな人はほぼキチガイなので
正直戸惑います。
0728デフォルトの名無しさん
2008/09/22(月) 08:08:320729デフォルトの名無しさん
2008/09/22(月) 08:45:16すれ違い
0730デフォルトの名無しさん
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"
0731デフォルトの名無しさん
2008/09/22(月) 08:56:080732デフォルトの名無しさん
2008/09/22(月) 09:27:070733デフォルトの名無しさん
2008/09/22(月) 10:31:21見た目の上での使い方は似たようなもの。
どう違うかは、それぞれの言語をきっちり理解すればわかる。
ここで説明するのは難しい。
0734デフォルトの名無しさん
2008/09/22(月) 11:22:030735デフォルトの名無しさん
2008/09/22(月) 12:08:51どうやったらそれを Ruby がパクれるんですか?
0736デフォルトの名無しさん
2008/09/22(月) 12:14:17それだけじゃ情報が足りん!
0737デフォルトの名無しさん
2008/09/22(月) 12:23:420738デフォルトの名無しさん
2008/09/22(月) 12:28:131999年出版
0739デフォルトの名無しさん
2008/09/22(月) 12:42:170740デフォルトの名無しさん
2008/09/22(月) 12:43:590741デフォルトの名無しさん
2008/09/22(月) 12:58:50自分が知ってるのは、open officeのマクロを書ける。
グーグルの公式社内言語
pygameとかいうものがあるらしい
教育用に向いてる?
こんくらい。
0742デフォルトの名無しさん
2008/09/22(月) 12:59:230743デフォルトの名無しさん
2008/09/22(月) 13:02:342番目、おまえには全くメリットじゃないと思うがw
0744デフォルトの名無しさん
2008/09/22(月) 13:24:410745デフォルトの名無しさん
2008/09/22(月) 13:42:550746デフォルトの名無しさん
2008/09/22(月) 14:19:59なんかどれもこれも違和感あるな
組み込みスクリプトとしては、多分Pythonが一番使われてるのは
3Dグラフィックスの分野
俺的には以下のような点が気に入っているが、
別にオンリーワン的なものじゃない
・比較的まともなUnicodeサポート
・インタプリタが使いやすい(特にipythonを利用する場合)
・インタプリタ言語のなかでは比較的高速
・標準/外部ライブラリセットの品揃えがわりと豊富
・C/C++との連携がわりと容易で、boost.pythonのようなものもあり、
Windowsではexeも生成できる
・ソースコードが比較的擬似コードに近く、読みやすい
・マルチパラダイム
・モジュールシステムが比較的使いやすく便利
0747デフォルトの名無しさん
2008/09/22(月) 15:16:37・Perlじゃない
・PHPじゃない
0748デフォルトの名無しさん
2008/09/22(月) 15:22:04・1行野郎できない
・そもそもスクリプトで大規模なものを書かない
・よって使い道がない
0749デフォルトの名無しさん
2008/09/22(月) 15:27:520750デフォルトの名無しさん
2008/09/22(月) 15:29:49単にimport reするよりダラダラ呪文を書く必要があるような気がするんだが
0751デフォルトの名無しさん
2008/09/22(月) 15:33:05なにを言っているんだ、Perl界の貴公子miyagawaですら正規表現大好きっ子なんだぞ。
正規表現こそ正義だ!
HTMLもXMLも正規表現を使ってパースしろ!!
0752デフォルトの名無しさん
2008/09/22(月) 15:36:06いっそチューリング完全な正規表現エンジン組み込んで
Perl言語も正規表現でパースすればよくね?(w
0753デフォルトの名無しさん
2008/09/22(月) 15:39:40それplaggerで(ry
0754デフォルトの名無しさん
2008/09/22(月) 16:21:590755デフォルトの名無しさん
2008/09/22(月) 16:25:16読みやすいの一環とも言えるけど
変な暗黙動作(perl の存在しない変数が読めるとか)がない
(→スッキリ明快、バグ少なくしやすい)
ってのが重要かな
>747
一瞬納得しかけたw
0756デフォルトの名無しさん
2008/09/22(月) 21:08:29IDLE起動するバッチはどう書けばいいのかな?
フォルダ構造は、Fにバッチ、F直下にpython25。
0757デフォルトの名無しさん
2008/09/22(月) 23:39:290758756
2008/09/23(火) 15:01:320759デフォルトの名無しさん
2008/09/23(火) 18:07:37>>756のやりたいことからするとPortable Pythonを使えば済みそう
http://www.portablepython.com/
まだ自分が使ったとこないので使い勝手については何もいえないが・・・
0761デフォルトの名無しさん
2008/09/23(火) 20:08:43Python起動→IDLE実行の流れで行きたいんだけどね。
0762デフォルトの名無しさん
2008/09/23(火) 20:20:36pythonインタプリタから実行したいんなら
import idlelib.PyShell
idlelib.PyShell.main()
とかでダメか?
0763デフォルトの名無しさん
2008/09/23(火) 20:28:480764デフォルトの名無しさん
2008/09/23(火) 20:34:52その環境で、IDLEを一発で起動させる策を考えてる。
0765デフォルトの名無しさん
2008/09/23(火) 20:38:240766デフォルトの名無しさん
2008/09/23(火) 20:38:28そのコードをpythonwのショートカットに放り込むのは出来た。
もうちょっとスマートにいけないものかと。
0767デフォルトの名無しさん
2008/09/23(火) 20:40:180768デフォルトの名無しさん
2008/09/23(火) 20:50:13勝手に自演すなwww
0769デフォルトの名無しさん
2008/09/23(火) 21:02:170770デフォルトの名無しさん
2008/09/23(火) 21:24:38勝手に自演すなwww
ID表示って大切なんだなww
0771デフォルトの名無しさん
2008/09/23(火) 21:28:47�d。
これでいいのね。
start Python25/pythonw.exe -m idlelib.idle
0772デフォルトの名無しさん
2008/09/23(火) 21:41:430773デフォルトの名無しさん
2008/09/23(火) 21:47:06うお、初見。
�dクス。
0774デフォルトの名無しさん
2008/09/23(火) 21:51:10できたよ?
0775デフォルトの名無しさん
2008/09/23(火) 21:56:10できたよ?
0776デフォルトの名無しさん
2008/09/23(火) 21:58:420777デフォルトの名無しさん
2008/09/23(火) 22:01:27うお、初見。
�dクス。
0778デフォルトの名無しさん
2008/09/23(火) 22:12:16�dクス。
0779デフォルトの名無しさん
2008/09/23(火) 22:13:390780デフォルトの名無しさん
2008/09/24(水) 01:49:24GetPluginInfo, IsSupported, GetPictureInfoに関しては
最低限使いたい部分の利用が出来ることを確認したんですが、
GetPictureで実際にBITMAPデータを取って来るところで詰まってしまいました。
やりたいことは要するにポインタが指しているアドレスにあるデータを
構造体や配列にキャストしたいっていうことなんですけど、
どうやればよいんでしょう?
↓現時点でのソースコードです。
http://www-2ch.net:8080/up/download/1222188052755856.MLJkF6
0781デフォルトの名無しさん
2008/09/24(水) 02:34:08返事したいが規制されてる希ガス。。。
0782デフォルトの名無しさん
2008/09/24(水) 02:36:14PBITMAPINFO = pointer(BITMAPINFO)
pbmpinfo = PBITMAPINFO()
byref(pbmpinfo)
0783デフォルトの名無しさん
2008/09/24(水) 02:40:43LocalLock, LocalUnlockつかってバイト列にアクセスする
0784デフォルトの名無しさん
2008/09/24(水) 02:51:16bytearray.from_address(bmpdata)
0785デフォルトの名無しさん
2008/09/24(水) 03:51:58ありがとうございます。
ただ、>>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]
0786デフォルトの名無しさん
2008/09/24(水) 04:24:15pBitmapInfo = PBITMAPINFO()
でも問題はこっちより>>783が言ってくれてることだと思うよ
そのコードだとハンドルをポインタとして扱ってしまっているように見える
ハンドルはファイルディスクリプタのようなもので単なる整数
0787デフォルトの名無しさん
2008/09/24(水) 05:10:16ポインタだと思ってましたけど、違うんですね。
LocalLockとかを使う方法を試してみます。
0789デフォルトの名無しさん
2008/09/24(水) 09:54:31pBitmapInfo = PBITMAPINFO()
でも問題はこっちより>>783が言ってくれてることだと思うよ
そのコードだとハンドルをポインタとして扱ってしまっているように見える
ハンドルはファイルディスクリプタのようなもので単なる整数
これ次からテンプレに入れる
0790786
2008/09/24(水) 10:25:040791780,785,787
2008/09/24(水) 11:21:10これでなんとかなりそうです。
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)
0792デフォルトの名無しさん
2008/09/24(水) 11:35:16あと、LocalFreeでメモリ解放するのも忘れずに
0793791
2008/09/24(水) 19:18:52画像をGetPictureで読み込んでPILのイメージオブジェクトを返すことが出来るようになりました。
http://www-2ch.net:8080/up/download/1222251295712076.Y78r1V
0794デフォルトの名無しさん
2008/09/25(木) 02:11:50うお、初見。
�dクス。
0795デフォルトの名無しさん
2008/09/25(木) 05:36:020796デフォルトの名無しさん
2008/09/26(金) 15:52:480797デフォルトの名無しさん
2008/09/26(金) 15:59:380798デフォルトの名無しさん
2008/09/26(金) 16:04:430799デフォルトの名無しさん
2008/09/26(金) 21:31:14num = 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
0800デフォルトの名無しさん
2008/09/26(金) 21:35:060801デフォルトの名無しさん
2008/09/27(土) 00:36:38無意味に両方使いこなそうとしてる馬鹿が多いから、
Pythonを職場に持ち込みたいんだけどどうしたらいいかな?
0802デフォルトの名無しさん
2008/09/27(土) 01:24:290803デフォルトの名無しさん
2008/09/27(土) 01:52:01Pythonはシェルやコマンドインタプリタの代用にはならないよ
0804デフォルトの名無しさん
2008/09/27(土) 02:02:440805デフォルトの名無しさん
2008/09/27(土) 04:10:020806デフォルトの名無しさん
2008/09/27(土) 04:10:33文句くらい別にいいじゃん、使いこなせているなら。
まぁ、文面からすると使いこなせていないんだろうけどな。
0807デフォルトの名無しさん
2008/09/27(土) 09:01:460808デフォルトの名無しさん
2008/09/27(土) 22:16:36あたらしい学校型コミュニティサイトを作りましょう!
Python技術者募集中。
進行状況 by GoogleDocs (毎日更新)
http://docs.google.com/Present?docid=dfs7jg57_0gdk2bscj&skipauth=true
0809デフォルトの名無しさん
2008/09/27(土) 23:02:360810793
2008/09/27(土) 23:26:41Susie.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
0811デフォルトの名無しさん
2008/09/27(土) 23:27:070812デフォルトの名無しさん
2008/09/28(日) 02:47:22一発ネタじゃないんだし、zipへの直リンじゃなく
up用のサイト持ったほうがいいんじゃないか?
デザインとか無視で>>810がそのまま載ってるだけのサイトでいいから
0813デフォルトの名無しさん
2008/09/28(日) 03:13:22配布専用じゃないけど↑のファイルには↓からリンク張ってる。
http://park7.wakwak.com/~blackbox/
0814デフォルトの名無しさん
2008/09/29(月) 01:34:35取得してそれをPythonのfileオブジェクトでテキストファイルとして
出力したいのですが、ファイルパスにエスケープシーケンスと
同じ文字並びが出ると正しいパスになりません。文字列変数に
格納した文字列のエスケープシーケンスを無効にする方法は
ありませんか。
ご教示お願いします。
0815デフォルトの名無しさん
2008/09/29(月) 02:03:42移動中に携帯から見たんでそんなこと言われても知らね
0816デフォルトの名無しさん
2008/09/29(月) 02:22:12具体例は?
0817デフォルトの名無しさん
2008/09/29(月) 02:28:03wx.FileDialogが返すファイル名ってUnicodeじゃなかったっけ?
Pythonはファイル名がunicode文字列ならwfopen()を使う。
もしcp932のファイル名が帰ってくるなら、filename.decode('cp932') とやってUnicodeにしてから
open()すればいい。
0818デフォルトの名無しさん
2008/09/29(月) 02:30:33俺の環境だとその問題は起きないんだが(勘違いならごめん)
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()
0819デフォルトの名無しさん
2008/09/29(月) 12:18:310820デフォルトの名無しさん
2008/09/29(月) 12:22:52"表" が、ゴミ1バイトと/になるんですね。わかります。
0821デフォルトの名無しさん
2008/09/29(月) 12:45:490822デフォルトの名無しさん
2008/09/29(月) 15:14:32emacsのpython.el
で一度import hogeで読み込んだhoge.so
を解放してもう一度読み込み直しが簡単にできない( hoge.so がコンパイルされた)
これできればpython.elの端末に住めるのに
0823デフォルトの名無しさん
2008/09/29(月) 15:45:460824814
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で圧縮しているようです。
御教示よろしくお願いします。
0825デフォルトの名無しさん
2008/09/29(月) 18:30:250826デフォルトの名無しさん
2008/09/30(火) 08:50:13よほど遅いメディアから起動するのでなければ、UPXで圧縮しても
起動時間は短くならないと思うが。
あとUPXとかで圧縮すると、メモリ消費量が増えるよ。
特に多重起動した場合はインスタンスの数だけ消費するから酷い。
0827デフォルトの名無しさん
2008/09/30(火) 14:42:24普通にsetupするとimport Imageでこける
いくつか昔のPILいれれば大丈夫なんでしょうか?
0828デフォルトの名無しさん
2008/09/30(火) 14:53:59「こける」ってことは例外すらも出ないってこと?
0829デフォルトの名無しさん
2008/09/30(火) 14:58:31ライブラリはPythonのバージョンに当然依存するよ
特にPILのようにCで書かれたライブラリなら、厳密にバイナリ互換の
バージョンでないと動かない
マイナーバージョンの違いぐらいなら普通は大丈夫だが
そうでなければアウト
バイナリ互換でなくともソース互換であるのなら、
自分でmakeすれば大丈夫だが
0830デフォルトの名無しさん
2008/09/30(火) 16:09:21いるのですが、やり方がわかりません。
シフトやコントロールキーはWXK_XXXという形で定義されているのでいいんですが、
'a'や'y'といったキーを押されたときにどうやって分岐させればよいでしょうか?
'a'が押されたかどうか判定するのは、
if event.GetKeyCode()==65
で出来ることは出来るんですが、直接アスキーコードで判定するしか方法はない?
0831デフォルトの名無しさん
2008/09/30(火) 16:56:53でhomeにinstallしようとすると
/var/lib/rpmPackages
にアクセスできません(許可されない操作)
といわてinstallできないのですが
rootにならないでinstallすることはできないのでしょうか?
0832デフォルトの名無しさん
2008/09/30(火) 16:57:53if event.GetKeyCode() == ord('A'):
0833デフォルトの名無しさん
2008/09/30(火) 17:05:03ありがとうございます!
やっとで解決策が(泣)
絶対アスキーコード(でいいのか?)に変換できる関数があるはずだと
探しても見つからずじまいで…。助かりました!
0834デフォルトの名無しさん
2008/09/30(火) 17:42:13int main(int argc, char *argv[])
{
glutInit(&argc, argv);
省略
}
をpythonではどう表現したらいいのか分からない。
ttp://d.hatena.ne.jp/m107/20070415
を参考にやって見てるんだけど、glutInitの引数の表現の仕方が謎。
PyOpenGL使えとかそういう話じゃなくて、他のライブラリ使う時も上のような
形は良く出てくるような気がするから後学のためにご教示お願いします。
0835デフォルトの名無しさん
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)
0836814
2008/09/30(火) 18:37:49御回答有難うございます。
Py2ExeでExe化したものを配布します。この状態でならば
UPX圧縮すると起動時間が半分くらいになります。
スクリプトとして起動するよりかなり早く起動できています。
Exe化が当問題と関係ない事は確認済みです。
2重起動は必要ないのですが誤って多重起動して
ハングする対策をしたかったのです。
対策がなさそうなので起動用の
入り口プログラムを別に用意します。
0837デフォルトの名無しさん
2008/09/30(火) 18:50:59ありがとうございます。
試して見たところ、動きました!
glutのコールバック関数で少しつまづきましたが、すんなり実行できました。
0838デフォルトの名無しさん
2008/09/30(火) 19:42:33誤爆した
0839デフォルトの名無しさん
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))
0840デフォルトの名無しさん
2008/09/30(火) 22:14:010841デフォルトの名無しさん
2008/09/30(火) 23:57:37こう?
0842デフォルトの名無しさん
2008/10/01(水) 00:00:57さっぱりわからん。
だれかさんぷるくれ〜〜〜。
0843デフォルトの名無しさん
2008/10/01(水) 00:22:21違ったらリファレンス見ろ。
0844デフォルトの名無しさん
2008/10/01(水) 00:45:33(略)
<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
だけしか取得できません。文字参照があるとうまく行かないようです。
これは何が原因で、どうやったら解決できるでしょうか?
0845844
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>
0846デフォルトの名無しさん
2008/10/01(水) 01:17:44from 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 に直す
0847844
2008/10/01(水) 01:18:42class 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
0848844
2008/10/01(水) 01:32:01うまく行きました!ありがとうございました。
def handle_data(self, data):
self.__data += data
def handle_endtag(self, tag):
...(略)...
self.__data = "" # この行を追加。
あとはなんか改行が増えたので、あちこち微調整しましたが、基本的にはこれ
で行けました。
しかし文字参照は完全に無視されてしまうのですね。
http://programming-magic.com/?id=173
この辺を使って直す必要があるのかしら。
0849デフォルトの名無しさん
2008/10/01(水) 01:36:24そこに文字参照を解決するコードを書く
ただ基本的にはElementTreeオススメ
import xml.etree.cElementTree as ET
root = ET.fromstring(xml)
print root.find('title').text
0851デフォルトの名無しさん
2008/10/01(水) 02:12:54ParallelProcessing - PythonInfo Wiki
http://wiki.python.org/moin/ParallelProcessing
0852デフォルトの名無しさん
2008/10/01(水) 09:34:01に~/bin/python
を読ませるのってどうするの?
0853デフォルトの名無しさん
2008/10/01(水) 10:08:480854814
2008/10/01(水) 16:23:25圧縮したら上手くいきました。
本家でもWin32PEで新規対応したとはなく、何を
BugFixしたのかも書いてないけれど何かあったようです。
先のレスでも書いたように当方の環境ではUPX圧縮すると
起動が速くなっていますが最近のPCでは速くなりませんか。
スクリプトを単体実行するにはいい方法だと思うのですが、
メモリ消費量が多いとか圧縮の可搬性は書庫化で十分
という意見ばかりで、いい印象を持っている方は少ない
ようですね。
スレ違いで失礼しました。
0855デフォルトの名無しさん
2008/10/01(水) 20:27:080856デフォルトの名無しさん
2008/10/01(水) 20:49:13JS使え
0857デフォルトの名無しさん
2008/10/01(水) 20:54:04HTTPヘッダのSet-Cookieに入れる。
取得は環境変数のHTTP_COOKIEを見る。
0858デフォルトの名無しさん
2008/10/01(水) 22:05:390859855
2008/10/02(木) 02:14:530860デフォルトの名無しさん
2008/10/02(木) 02:15:540861デフォルトの名無しさん
2008/10/02(木) 02:19:440862デフォルトの名無しさん
2008/10/02(木) 05:55:120863デフォルトの名無しさん
2008/10/02(木) 11:41:440864デフォルトの名無しさん
2008/10/02(木) 12:16:190865デフォルトの名無しさん
2008/10/02(木) 12:17:160866デフォルトの名無しさん
2008/10/02(木) 14:15:18Wikipediaでも見てみるがいいよ
Pythonを利用しているソフトや企業が載ってる
0867デフォルトの名無しさん
2008/10/02(木) 14:22:260868デフォルトの名無しさん
2008/10/02(木) 14:38:02意外とデカい(対応が面倒くさいという意味で)
0869デフォルトの名無しさん
2008/10/02(木) 18:39:50# -*- coding: utf-8 -*-
import Cookie
import os
name = "test"
cookie = os.environ['HTTP_COOKIE']
cookie2 = Cookie.Cookie.decode(cookie)
print 'Content-Type: text/html'
if not cookie2:
print 'Set-Cookie: test=' + name + '; expires=' + time.strftime('%a, %d-%b-%Y 23:59:59 GMT') + ';'
print cookie2
クッキー操作ってこれじゃダメなのかな?
0870デフォルトの名無しさん
2008/10/02(木) 18:52:40GJ!
0871デフォルトの名無しさん
2008/10/02(木) 18:55:07print ←ここがおかしい
if not cookie2:
print 'Set-Cookie: test=' + name + '; expires=' + time.strftime('%a, %d-%b-%Y 23:59:59 GMT') + ';'
print cookie2
0872デフォルトの名無しさん
2008/10/02(木) 19:06:32cookie = os.environ['HTTP_COOKIE']
cookie2 = Cookie.Cookie.decode(cookie) ←ここもおかしい
0873デフォルトの名無しさん
2008/10/02(木) 21:38:500874デフォルトの名無しさん
2008/10/02(木) 21:46:27# -*- 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
こうか
0875デフォルトの名無しさん
2008/10/03(金) 07:48:190876デフォルトの名無しさん
2008/10/03(金) 09:41:150877デフォルトの名無しさん
2008/10/03(金) 11:48:47pythonってCみたく
return a == b ? a : b
のような書き方はないですか?
0878デフォルトの名無しさん
2008/10/03(金) 11:56:490879デフォルトの名無しさん
2008/10/03(金) 12:35:53これって便利なの?
0880デフォルトの名無しさん
2008/10/03(金) 12:39:590881デフォルトの名無しさん
2008/10/03(金) 13:31:570882デフォルトの名無しさん
2008/10/03(金) 14:32:34>Ruby の素直で覚えやすいオブジェクト指向の機能
>Python の豊富なモジュール
なんかわろす
0883デフォルトの名無しさん
2008/10/03(金) 14:49:19もっとも… 扇るほどの話じゃないわな
0884デフォルトの名無しさん
2008/10/03(金) 18:05:48昔rubyのライブラリが少なめだったのであったようなもん
今わざわざこれをつかう理由は無い
0885デフォルトの名無しさん
2008/10/03(金) 20:36:03よくわかんね
0886デフォルトの名無しさん
2008/10/03(金) 22:36:56pygameは既に対応モジュール配布されてるけど、
PILはまだだし様子見だな…
2.5, 2.6, 3.0 が共存できればいいんだけど、
winだと関連付けがネックになるなぁ。
0887デフォルトの名無しさん
2008/10/03(金) 22:41:40Pythonの三項演算は宿題スレで嫌われる「条件後付け」だと覚えればいい。
a if pred else b
・a なんです。
・あ、書き忘れましたがそれは pred の時だけです。
・違ったら b にしてください。
0888デフォルトの名無しさん
2008/10/03(金) 23:02:200889デフォルトの名無しさん
2008/10/03(金) 23:03:28にしろ
return a if a == b else b
にしろ
retrun b
じゃだめなん?
0890デフォルトの名無しさん
2008/10/03(金) 23:04:530891デフォルトの名無しさん
2008/10/03(金) 23:05:36lispのスレでそんなの見た気がする。
そういう意味だったのか。
0892デフォルトの名無しさん
2008/10/03(金) 23:06:43「:」の扱いに困ったんじゃないかな
0893デフォルトの名無しさん
2008/10/03(金) 23:07:560894デフォルトの名無しさん
2008/10/03(金) 23:09:21呼び出し側でaが指してるオブジェクトを触りたいときに困らないかな
0895デフォルトの名無しさん
2008/10/03(金) 23:12:31ゲシュタルト崩壊しそうだ。
0896デフォルトの名無しさん
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)
0897デフォルトの名無しさん
2008/10/03(金) 23:24:25aと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の値が変わってくる。
0898デフォルトの名無しさん
2008/10/03(金) 23:27:03a = 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
だから後者みたいだね。
0899デフォルトの名無しさん
2008/10/04(土) 00:47:52なら
return a if a < b else (b if b < c else (c if c < d else d))
ということですかね
0900デフォルトの名無しさん
2008/10/04(土) 16:03:14なんでwww
0901デフォルトの名無しさん
2008/10/04(土) 19:19:280902デフォルトの名無しさん
2008/10/04(土) 19:58:47いつまでも2.4じゃ困る。
0903デフォルトの名無しさん
2008/10/04(土) 20:00:10英語を読めない人は和訳できない
0904デフォルトの名無しさん
2008/10/04(土) 20:07:380905デフォルトの名無しさん
2008/10/04(土) 20:27:560906デフォルトの名無しさん
2008/10/04(土) 21:05:49何故だ
0907デフォルトの名無しさん
2008/10/04(土) 21:08:41叩かれるのを覚悟の上とはいい度胸だ。
まぁ自分のスキルアップとだけ認識していれば、これ以上ない機会かもな。
0908デフォルトの名無しさん
2008/10/04(土) 21:39:26GJ
0909デフォルトの名無しさん
2008/10/05(日) 02:06:570910デフォルトの名無しさん
2008/10/05(日) 02:09:180911デフォルトの名無しさん
2008/10/05(日) 09:00:220912デフォルトの名無しさん
2008/10/05(日) 13:56:540913デフォルトの名無しさん
2008/10/05(日) 18:50:00http://inforno.net/articles/2008/10/03/python26-features
0914デフォルトの名無しさん
2008/10/05(日) 20:55:06# -*- coding:utf-8 -*-
0915デフォルトの名無しさん
2008/10/05(日) 21:04:360916デフォルトの名無しさん
2008/10/05(日) 23:35:260917913
2008/10/06(月) 09:49:55コメントよこさない糞なおまえらってなんなの?
0918デフォルトの名無しさん
2008/10/06(月) 10:16:13既に英語のWhat's Newを全部読んだからなぁ。
0919デフォルトの名無しさん
2008/10/06(月) 11:45:140920デフォルトの名無しさん
2008/10/06(月) 12:47:37Python Imaging Library 1.1.6 for Python 2.6 (Windows only)
来てる。
0921デフォルトの名無しさん
2008/10/06(月) 14:02:250922デフォルトの名無しさん
2008/10/06(月) 19:05:57オレはありがたく読ませてもらってるぜ
0923デフォルトの名無しさん
2008/10/06(月) 20:56:510924デフォルトの名無しさん
2008/10/06(月) 20:59:330925デフォルトの名無しさん
2008/10/06(月) 21:02:37わけわかめ
0926デフォルトの名無しさん
2008/10/06(月) 21:03:070927デフォルトの名無しさん
2008/10/06(月) 21:35:262.6なら↓のような方法も
>>> from __future__ import print_function
>>> print("foo", end="")
0928デフォルトの名無しさん
2008/10/06(月) 21:51:20トンクス
3000への移行用にprint関数実装されてたのね。
0929デフォルトの名無しさん
2008/10/06(月) 21:56:430930デフォルトの名無しさん
2008/10/06(月) 21:56:58dirとかhelpとかしてもちっともこたえてくれないの
0931デフォルトの名無しさん
2008/10/06(月) 22:01:070932デフォルトの名無しさん
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'
0933デフォルトの名無しさん
2008/10/06(月) 22:50:28def format(s):
return re.sub(r'{(.*?)}', lambda mo: str(eval(mo.group(1))), s)
そうしないのがPythonかな
0934デフォルトの名無しさん
2008/10/06(月) 22:53:50あれ以上何が必要なんだ?
0935デフォルトの名無しさん
2008/10/07(火) 09:24:31意味がわカラン
sys.stdout.write("%f\n" % i) で何か問題が?
0936デフォルトの名無しさん
2008/10/07(火) 15:16:220937デフォルトの名無しさん
2008/10/07(火) 15:26:22import struct
0938デフォルトの名無しさん
2008/10/07(火) 22:51:00を
"name: %2$s, val: %1$s" % [123, 'age']
のように書くことはできますか。
つまり順番をかえたいということです。
0939デフォルトの名無しさん
2008/10/07(火) 22:52:130940デフォルトの名無しさん
2008/10/07(火) 22:56:380941デフォルトの名無しさん
2008/10/07(火) 23:05:23'name: {1}, val: {0}'.format(123, 'age')
0942デフォルトの名無しさん
2008/10/07(火) 23:12:37'name: age, val: 123'
>>> from string import digits
>>> "name: %(1)s, val: %(0)s" % dict(zip(digits, [123, "age"]))
'name: age, val: 123'
0943デフォルトの名無しさん
2008/10/07(火) 23:25:40... 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')
0944デフォルトの名無しさん
2008/10/08(水) 00:22:07tmplist = ['age', 123]
"..." % (tmplist[1],tmplist[0])
で十分な気がするけどね…
0945デフォルトの名無しさん
2008/10/08(水) 00:40:130946デフォルトの名無しさん
2008/10/08(水) 00:46:34どうもありがとうございます。
しかし % ではできないんですね。
背景を説明すると、まず
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}" とすると
変更する必要のない他のカタログも変更しなきゃいけないので、
ちょっと採用しづらいです。
0947デフォルトの名無しさん
2008/10/08(水) 01:11:450948デフォルトの名無しさん
2008/10/08(水) 01:23:52def __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");
0949デフォルトの名無しさん
2008/10/08(水) 01:38:58__mod__ を定義することで、% 演算子をオーバーライドしているわけですか。
あたまいいですね。
ただ、今はメッセージははすべてテキストファイルに書いており、
それをパースしてカタログを作っているんですね。
だからテキストファイルに f("%s %s", [1, 0]) のようなコードを
単純に埋め込むわけにもいかないんですが、ここまでくれば
なんかもう一工夫でできそうな気がします。
どうもありがとうございました。
0950デフォルトの名無しさん
2008/10/08(水) 02:27:190951デフォルトの名無しさん
2008/10/08(水) 02:37:39何がしたいんだ?
f("%s %s", [1, 0])のように書きかえれない。
printを書きかえれない。
どこも変更できないと言ってるようにしか見えないがwww
0952デフォルトの名無しさん
2008/10/08(水) 02:54:21SHell UTILityじゃないの
0953デフォルトの名無しさん
2008/10/08(水) 06:31:180954デフォルトの名無しさん
2008/10/08(水) 06:36:25なるほど!
0955デフォルトの名無しさん
2008/10/08(水) 07:58:230956デフォルトの名無しさん
2008/10/08(水) 08:13:000957デフォルトの名無しさん
2008/10/08(水) 08:51:59scons
0958デフォルトの名無しさん
2008/10/08(水) 11:06:54setup.py
0959デフォルトの名無しさん
2008/10/08(水) 20:15:56ありがとうございます。
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 でのやり方をご存知の方がいれば教えてください。
0960デフォルトの名無しさん
2008/10/08(水) 20:45:400961デフォルトの名無しさん
2008/10/08(水) 20:59:09こうかな?
bld = Builder(action = "rst2html.py $SOURCE > $TARGET",
suffix = ".html",
src_suffix = ".rst")
env = Environment(BUILDERS = {"RST2HTML": bld})
env.RST2HTML("test")
0962デフォルトの名無しさん
2008/10/08(水) 21:18:010963デフォルトの名無しさん
2008/10/08(水) 22:29:540964デフォルトの名無しさん
2008/10/08(水) 22:34:41str.startswithとかcallableとか使って除外すればいいんじゃない
0965デフォルトの名無しさん
2008/10/08(水) 23:17:140966デフォルトの名無しさん
2008/10/08(水) 23:40:120967デフォルトの名無しさん
2008/10/08(水) 23:43:41attr = getattr(klass, name)
bool(callable(attr) and hasattr(attr, 'im_self') and attr.im_self == klass)
0968デフォルトの名無しさん
2008/10/09(木) 10:27:410969デフォルトの名無しさん
2008/10/09(木) 11:16:580970デフォルトの名無しさん
2008/10/09(木) 11:24:59ビジーループしてるんじゃないかとエスパーしてみる
0971デフォルトの名無しさん
2008/10/09(木) 13:23:00ありがとうございます。
なんか、ぜんぜん直感的じゃないですね。
これならMakefileのほうがずっと簡単です。残念。
きっとSConsに組み込みのルールを使うだけなら簡単なんでしょうが、
自分でルールを定義することが多いと、あんまり嬉しくなさそうです。
0972デフォルトの名無しさん
2008/10/09(木) 14:16:07それか、アトリビュートを追加するときにリストを作るって手もあるかな……。
アトリビュート追加するときに呼び出されるメソッド調べてきます。
0973デフォルトの名無しさん
2008/10/09(木) 14:25:52お騒がせして申し訳ありませんでした。
0974デフォルトの名無しさん
2008/10/09(木) 16:13:30http://wxpython.org/download.php
0975デフォルトの名無しさん
2008/10/09(木) 17:23:37まだO/Rマッパーとかなくてフレームワークと呼ぶには程遠いものだけど、
いつか完成したときには公開してみるよ。
0976デフォルトの名無しさん
2008/10/09(木) 18:10:49Pythonのお勉強 Part29
http://pc11.2ch.net/test/read.cgi/tech/1223543412/
0977デフォルトの名無しさん
2008/10/09(木) 19:19:30特長があればアピールしてみて
0978デフォルトの名無しさん
2008/10/10(金) 00:21:340979デフォルトの名無しさん
2008/10/10(金) 00:41:570980デフォルトの名無しさん
2008/10/10(金) 01:30:34[a:b, c:d] とか [a:b, ..., c:d] とか [..., a:b] とかを使った簡単なサンプルをくれ。。。
どうやってもエラーが出てしまって、
拡張スライスの利用方法がわからん。
0981デフォルトの名無しさん
2008/10/10(金) 01:38:300982デフォルトの名無しさん
2008/10/10(金) 01:58:26さんくす
0983デフォルトの名無しさん
2008/10/10(金) 02:35:31たぶん、世界の歴史が変わるレベルのもの
0984デフォルトの名無しさん
2008/10/10(金) 07:01:40奇遇ですね
私も作ってます
0985デフォルトの名無しさん
2008/10/10(金) 09:49:14gnuplot 単体にうんざりして gnuplot-py 使うか
matplotlib 試そうかと思ってるんだけど
ほかにも何かお勧めありますか?
これは参考になりそうな感じ:
NumericAndScientific/Plotting - PythonInfo Wiki
http://wiki.python.org/moin/NumericAndScientific/Plotting
0986デフォルトの名無しさん
2008/10/10(金) 09:57:44Python始めて1ヶ月な俺だが支援できる事があったら言ってくれ
0987デフォルトの名無しさん
2008/10/10(金) 10:27:22自問自答だが Chaco ってのがなかなか有望っぽいみたい
ただし現状の完成度・ドキュメント状況とかを
加味するとまだ matplotlib の方が
現時点では良さげって感じかな?
0988デフォルトの名無しさん
2008/10/10(金) 21:09:50何か特異点をつけないといけないだろうね。
0989デフォルトの名無しさん
2008/10/10(金) 22:14:570990デフォルトの名無しさん
2008/10/11(土) 05:45:20GUIで出来た設計ツールがないよね?
0991デフォルトの名無しさん
2008/10/11(土) 06:37:210992デフォルトの名無しさん
2008/10/11(土) 07:58:470993デフォルトの名無しさん
2008/10/11(土) 09:08:15IDLEがあるじゃないか。
0994975
2008/10/11(土) 10:00:580995デフォルトの名無しさん
2008/10/11(土) 12:17:27やるなら Densha on Rails だろ
0996デフォルトの名無しさん
2008/10/11(土) 14:23:49Oct 15 2008: Python 3.0rc2 planned
Nov 05 2008: Python 3.0rc3 planned (if needed)
Nov 19 2008: Python 3.0rc4 planned (if needed)
Dec 03 2008: Python 3.0 final planned
0997デフォルトの名無しさん
2008/10/11(土) 19:46:50馬鹿ばっかですね
0998デフォルトの名無しさん
2008/10/11(土) 19:47:400999デフォルトの名無しさん
2008/10/11(土) 19:48:101000デフォルトの名無しさん
2008/10/11(土) 19:48:5210011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。