トップページ⇒tech
1001コメント216KB

Pythonのお勉強 Part 28

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2008/08/04(月) 16:49:54
Python オフィシャルサイト
http://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:32
Py乙
0003デフォルトの名無しさん2008/08/04(月) 17:00:55
シーケンスをn個ずつに分割したいんだが
何かいい方法ないかい?

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

こんなんかなあ。もっと綺麗に書ける方法あるかもしれないけど。
0005デフォルトの名無しさん2008/08/04(月) 17:29:05
xrangeのほうがよかったか。
0006デフォルトの名無しさん2008/08/04(月) 20:12:11
>>2
エロくてエレガントだと思った
0007デフォルトの名無しさん2008/08/04(月) 21:50:41
re.findall(".{1,3}", s)
0008デフォルトの名無しさん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?
0009デフォルトの名無しさん2008/08/05(火) 00:24:03
pythonってヒアドキュメント構文ないの?
0010デフォルトの名無しさん2008/08/05(火) 00:56:42
>>9
ある
http://www.python.jp/doc/release/tut/node5.html#SECTION005120000000000000000
0011デフォルトの名無しさん2008/08/05(火) 01:37:42
やっぱり、ただの文字列リテラルしかないのね。残念。
001232008/08/05(火) 01:42:28
>>4
やっぱり、それしかないのかな

>>7
それだと文字列には通用するのだが
リストやタプルのようなシーケンスには使えないのよ
0013デフォルトの名無しさん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__'
じぶんには無理でした(爆)
0014デフォルトの名無しさん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

下の方がいくらかマシな気がするけど
取ってつけた感が否めない・・・
0015デフォルトの名無しさん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
0016デフォルトの名無しさん2008/08/05(火) 05:33:31
import sys
help(sys.path)
0017デフォルトの名無しさん2008/08/05(火) 09:39:35
スレ住民全員一致のPython本のバイブル
困った時にはこの本を注文しよう。

http://www.amazon.co.jp/dp/4839922829/
0018デフォルトの名無しさん2008/08/05(火) 10:09:02
>>17
そのURLだとアフィリエイトが無効になってるから
貼り直した方がいいよ。
0019デフォルトの名無しさん2008/08/05(火) 10:18:32
アフィに金取られるな
0020デフォルトの名無しさん2008/08/05(火) 10:19:24
金はとられないがな
0021デフォルトの名無しさん2008/08/05(火) 10:23:34
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
0022あぼーんNGNG
あぼーん
0023あぼーんNGNG
あぼーん
0024あぼーんNGNG
あぼーん
0025あぼーんNGNG
あぼーん
0026あぼーんNGNG
あぼーん
0027あぼーんNGNG
あぼーん
0028あぼーんNGNG
あぼーん
0029あぼーんNGNG
あぼーん
0030あぼーんNGNG
あぼーん
0031あぼーんNGNG
あぼーん
0032あぼーんNGNG
あぼーん
0033あぼーんNGNG
あぼーん
0034あぼーんNGNG
あぼーん
0035あぼーんNGNG
あぼーん
0036あぼーんNGNG
あぼーん
0037あぼーんNGNG
あぼーん
0038あぼーんNGNG
あぼーん
0039あぼーんNGNG
あぼーん
0040あぼーんNGNG
あぼーん
0041あぼーんNGNG
あぼーん
0042あぼーんNGNG
あぼーん
0043あぼーんNGNG
あぼーん
0044あぼーんNGNG
あぼーん
0045あぼーんNGNG
あぼーん
0046あぼーんNGNG
あぼーん
0047あぼーんNGNG
あぼーん
0048あぼーんNGNG
あぼーん
0049あぼーんNGNG
あぼーん
0050あぼーんNGNG
あぼーん
0051あぼーんNGNG
あぼーん
0052あぼーんNGNG
あぼーん
0053あぼーんNGNG
あぼーん
0054あぼーんNGNG
あぼーん
0055あぼーんNGNG
あぼーん
0056あぼーんNGNG
あぼーん
0057あぼーんNGNG
あぼーん
0058あぼーんNGNG
あぼーん
0059あぼーんNGNG
あぼーん
0060あぼーんNGNG
あぼーん
0061あぼーんNGNG
あぼーん
0062あぼーんNGNG
あぼーん
0063あぼーんNGNG
あぼーん
0064あぼーんNGNG
あぼーん
0065あぼーんNGNG
あぼーん
0066あぼーんNGNG
あぼーん
0067あぼーんNGNG
あぼーん
0068あぼーんNGNG
あぼーん
0069あぼーんNGNG
あぼーん
0070あぼーんNGNG
あぼーん
0071あぼーんNGNG
あぼーん
0072あぼーんNGNG
あぼーん
0073あぼーんNGNG
あぼーん
0074あぼーんNGNG
あぼーん
0075あぼーんNGNG
あぼーん
0076あぼーんNGNG
あぼーん
0077あぼーんNGNG
あぼーん
0078あぼーんNGNG
あぼーん
0079あぼーんNGNG
あぼーん
0080あぼーんNGNG
あぼーん
0081あぼーんNGNG
あぼーん
0082あぼーんNGNG
あぼーん
0083あぼーんNGNG
あぼーん
0084あぼーんNGNG
あぼーん
0085あぼーんNGNG
あぼーん
0086あぼーんNGNG
あぼーん
0087あぼーんNGNG
あぼーん
0088あぼーんNGNG
あぼーん
0089あぼーんNGNG
あぼーん
0090あぼーんNGNG
あぼーん
0091あぼーんNGNG
あぼーん
0092あぼーんNGNG
あぼーん
0093あぼーんNGNG
あぼーん
0094あぼーんNGNG
あぼーん
0095あぼーんNGNG
あぼーん
0096あぼーんNGNG
あぼーん
0097あぼーんNGNG
あぼーん
0098あぼーんNGNG
あぼーん
0099あぼーんNGNG
あぼーん
0100あぼーんNGNG
あぼーん
0101あぼーんNGNG
あぼーん
0102あぼーんNGNG
あぼーん
0103デフォルトの名無しさん2008/08/05(火) 10:33:41
Pythonに親でも殺されたのか?
0104あぼーんNGNG
あぼーん
0105あぼーんNGNG
あぼーん
0106あぼーんNGNG
あぼーん
0107あぼーんNGNG
あぼーん
0108あぼーんNGNG
あぼーん
0109あぼーんNGNG
あぼーん
0110あぼーんNGNG
あぼーん
0111あぼーんNGNG
あぼーん
0112あぼーんNGNG
あぼーん
0113あぼーんNGNG
あぼーん
0114あぼーんNGNG
あぼーん
0115あぼーんNGNG
あぼーん
0116あぼーんNGNG
あぼーん
0117あぼーんNGNG
あぼーん
0118あぼーんNGNG
あぼーん
0119あぼーんNGNG
あぼーん
0120あぼーんNGNG
あぼーん
0121あぼーんNGNG
あぼーん
0122あぼーんNGNG
あぼーん
0123あぼーんNGNG
あぼーん
0124あぼーんNGNG
あぼーん
0125あぼーんNGNG
あぼーん
0126あぼーんNGNG
あぼーん
0127あぼーんNGNG
あぼーん
0128あぼーんNGNG
あぼーん
0129あぼーんNGNG
あぼーん
0130あぼーんNGNG
あぼーん
0131あぼーんNGNG
あぼーん
0132あぼーんNGNG
あぼーん
0133あぼーんNGNG
あぼーん
0134あぼーんNGNG
あぼーん
0135あぼーんNGNG
あぼーん
0136あぼーんNGNG
あぼーん
0137あぼーんNGNG
あぼーん
0138あぼーんNGNG
あぼーん
0139あぼーんNGNG
あぼーん
0140あぼーんNGNG
あぼーん
0141あぼーんNGNG
あぼーん
0142あぼーんNGNG
あぼーん
0143あぼーんNGNG
あぼーん
0144あぼーんNGNG
あぼーん
0145あぼーんNGNG
あぼーん
0146あぼーんNGNG
あぼーん
0147あぼーんNGNG
あぼーん
0148あぼーんNGNG
あぼーん
0149あぼーんNGNG
あぼーん
0150あぼーんNGNG
あぼーん
0151あぼーんNGNG
あぼーん
0152あぼーんNGNG
あぼーん
0153あぼーんNGNG
あぼーん
0154あぼーんNGNG
あぼーん
0155あぼーんNGNG
あぼーん
0156あぼーんNGNG
あぼーん
0157あぼーんNGNG
あぼーん
0158あぼーんNGNG
あぼーん
0159あぼーんNGNG
あぼーん
0160あぼーんNGNG
あぼーん
0161あぼーんNGNG
あぼーん
0162あぼーんNGNG
あぼーん
0163あぼーんNGNG
あぼーん
0164あぼーんNGNG
あぼーん
0165あぼーんNGNG
あぼーん
0166あぼーんNGNG
あぼーん
0167あぼーんNGNG
あぼーん
0168あぼーんNGNG
あぼーん
0169あぼーんNGNG
あぼーん
0170あぼーんNGNG
あぼーん
0171あぼーんNGNG
あぼーん
0172あぼーんNGNG
あぼーん
0173あぼーんNGNG
あぼーん
0174あぼーんNGNG
あぼーん
0175あぼーんNGNG
あぼーん
0176あぼーんNGNG
あぼーん
0177あぼーんNGNG
あぼーん
0178あぼーんNGNG
あぼーん
0179あぼーんNGNG
あぼーん
0180あぼーんNGNG
あぼーん
0181あぼーんNGNG
あぼーん
0182あぼーんNGNG
あぼーん
0183あぼーんNGNG
あぼーん
0184あぼーんNGNG
あぼーん
0185あぼーんNGNG
あぼーん
0186あぼーんNGNG
あぼーん
0187あぼーんNGNG
あぼーん
0188あぼーんNGNG
あぼーん
0189あぼーんNGNG
あぼーん
0190あぼーんNGNG
あぼーん
0191あぼーんNGNG
あぼーん
0192あぼーんNGNG
あぼーん
0193あぼーんNGNG
あぼーん
0194あぼーんNGNG
あぼーん
0195あぼーんNGNG
あぼーん
0196あぼーんNGNG
あぼーん
0197あぼーんNGNG
あぼーん
0198あぼーんNGNG
あぼーん
0199あぼーんNGNG
あぼーん
0200あぼーんNGNG
あぼーん
0201あぼーんNGNG
あぼーん
0202あぼーんNGNG
あぼーん
0203あぼーんNGNG
あぼーん
0204あぼーんNGNG
あぼーん
0205あぼーんNGNG
あぼーん
0206あぼーんNGNG
あぼーん
0207あぼーんNGNG
あぼーん
0208あぼーんNGNG
あぼーん
0209あぼーんNGNG
あぼーん
0210あぼーんNGNG
あぼーん
0211デフォルトの名無しさん2008/08/05(火) 15:36:59
夏休みらしくなってきたな
0212デフォルトの名無しさん2008/08/05(火) 17:49:49
出てくるものがちょっと違うけど。
s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
t = list(s) + [ None ] * (3 - 1)
print zip(*[t[i::3] for i in xrange(3)])
0213デフォルトの名無しさん2008/08/05(火) 20:18:20
何で荒らされてるん?
0214デフォルトの名無しさん2008/08/05(火) 20:20:21
野良p2じゃね?
0215デフォルトの名無しさん2008/08/05(火) 21:53:13
>>17
もう五冊は注文してます
0216デフォルトの名無しさん2008/08/05(火) 21:54:36
>>215
神!
0217デフォルトの名無しさん2008/08/05(火) 22:12:03
imprt
0218デフォルトの名無しさん2008/08/05(火) 22:51:50
レス番が一気に飛んでると思ったら荒されてんのか
ひょっとして前スレからか 全然気付かなかった
0219デフォルトの名無しさん2008/08/06(水) 12:32:38
昨日の昼頃からかな?
書き込もうと思ったら大量に・・・。
お陰で書き込めなかったよorz
0220デフォルトの名無しさん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をスレを潰しにかかる
0221デフォルトの名無しさん2008/08/06(水) 14:29:08
>>214
いや、お試し●ってやつだろ。
詳しくは知らんが。
0222デフォルトの名無しさん2008/08/06(水) 16:41:56
Xrea.comでPythonCGI書いてる人いない?
.htaccessに何書いたらうごくのかさっぱりわかんないんだよ。
phpから軸足移そうとしてるんだけれど、とっかかりで躓いていますorz
02232222008/08/06(水) 17:20:28
自己レス。
.htaccessに
AddHandler cgi-script-debug .py
これ書いてたから変なの出てただけでした。
HTML出力するまではやれました。
加えてwebprog板に書くべきでした。ほんとごめんなさい。
0224デフォルトの名無しさん2008/08/06(水) 18:21:46
xreaの自動挿入広告は<body>タグに反応するから、cgitbの出力が
広告だらけになるね。
cgitbはなんで<body>を複数出力するんだろ?
0225デフォルトの名無しさん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みたいに書いた方がいいと思う。
0226デフォルトの名無しさん2008/08/06(水) 20:36:26
>データを丸ごとメモリ上に展開
listは参照の配列だからメモリ的には大したことないと思う
0227デフォルトの名無しさん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())
0228デフォルトの名無しさん2008/08/06(水) 20:42:29
sに改行とか混じると動かない可能性大。

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

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

メモリが気になるようなシーケンスが対象に出てきたら、
なんか根本的なとこが間違ってる気がする。
0233デフォルトの名無しさん2008/08/07(木) 14:44:39
TwitterNotifierを動かしたくてMacPortsでpy25-gtkやら何やら入れて、
>>> import gtk
すると「Bus error」と出てPythonが強制終了してしまいます・・・
このエラーの考えられる原因や対処方法があれば教えて頂けませんか?
0234デフォルトの名無しさん2008/08/07(木) 14:57:05
向こうが本刷れでいいん?
0235デフォルトの名無しさん2008/08/07(木) 15:27:31
>>231
単に自分が出力したものと
cgitbが出力したもので2つあるだけじゃね?
stdoutはシークできないからな
0236デフォルトの名無しさん2008/08/07(木) 15:50:35
>>227
そうかitertoolsにそんな関数もあったんですね。
参考になりました。
0237デフォルトの名無しさん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になる
のが自然なような気がする今日この頃
0238デフォルトの名無しさん2008/08/07(木) 17:17:39
http://docs.python.org/ref/node33.html
0239デフォルトの名無しさん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)

だけのことっぽい、
0240デフォルトの名無しさん2008/08/07(木) 23:07:17
>>237
3.0 で classic class の方は無くなるから、悩まなくてよくなる
0241デフォルトの名無しさん2008/08/07(木) 23:14:52
>>239
ドキュメントに等価な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:58
全然多機能だった・・・orz
0243デフォルトの名無しさん2008/08/07(木) 23:58:47
(defun hello-world () (format t "Hello, World"))
打ってもエラーでます。何ゆえ?
0244デフォルトの名無しさん2008/08/08(金) 00:12:00
PythonはLispではないからです
0245デフォルトの名無しさん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
http://pc11.2ch.net/test/read.cgi/tech/1218125335/
なにこれ
0247デフォルトの名無しさん2008/08/08(金) 09:23:50
荒らしが立てたかな?
0248デフォルトの名無しさん2008/08/08(金) 09:25:47
>>245 立てたよ
http://pc11.2ch.net/test/read.cgi/tech/1218155094/l50
0249デフォルトの名無しさん2008/08/08(金) 12:18:34
>>248
ありがとう!
0250デフォルトの名無しさん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
0251デフォルトの名無しさん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
0252デフォルトの名無しさん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!'
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
>>254
「モジュール」を「継承」して「クラス」を作ろうとしてるの?
モジュールとクラスは別のもので、shutilはモジュールなんだけど、
自分がやりたいことはわかってる?
0256デフォルトの名無しさん2008/08/10(日) 16:25:02
ボンジュール
0257デフォルトの名無しさん2008/08/10(日) 16:35:56
ああじゃあ質問をもう少し広くして、

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

でも
__builtins__.len = lambda x: x
とかやると、ぱいそんが発狂するのでやめたほうがいいです
0260デフォルトの名無しさん2008/08/10(日) 18:49:06
「おっぱい発狂」まで読んだ
0261デフォルトの名無しさん2008/08/10(日) 19:59:45
>標準モジュールで提供される関数を
>差し替えたい。
ソースコードいじるしかないだろうけど、
そういう使い方は標準では用意されてない。
0262デフォルトの名無しさん2008/08/10(日) 20:12:55
新しい定義をバインドするだけじゃね
0263デフォルトの名無しさん2008/08/10(日) 20:20:42
from hage import hige してるのが面倒なんだよなとか思ったけど
それならソース書き換えるかそのモジュールの名前空間を上書きすればいいだけか
0264デフォルトの名無しさん2008/08/10(日) 20:39:59
>from hage import hige してるのが面倒なんだよなとか思ったけど
それが面倒というのがよく分からない。
標準モジュールの関数とかって、他のモジュールが依存してる
ものとかもあるだろうし、あんまり動作を変えない方がいいと思う
0265デフォルトの名無しさん2008/08/12(火) 15:45:38
http://qb5.2ch.net/test/read.cgi/sec2chd/1218011484/
キタ━━━━━(゚∀゚)━━━━━!!!!
0266デフォルトの名無しさん2008/08/12(火) 23:13:33
そういうのは静かにやってくれ
0267デフォルトの名無しさん2008/08/13(水) 06:15:41
http://qb5.2ch.net/test/read.cgi/sec2chd/1218011484/
キタ。
0268デフォルトの名無しさん2008/08/14(木) 22:08:13
wxpythonって何で命名規則をpythonに合わせてないの
それだけで使う気しねえんだけど
0269デフォルトの名無しさん2008/08/14(木) 22:28:27
名前変えたら整合性のチェックが大変だからだろ
0270デフォルトの名無しさん2008/08/14(木) 22:42:52
PythonにあわせたらwxWidgetsに慣れてる人から苦情が来る
0271デフォルトの名無しさん2008/08/15(金) 09:52:20
pygameのドキュメント和訳作業さっさとやれ屑共
0272デフォルトの名無しさん2008/08/15(金) 10:09:16
>>271
お前はCROWN音読してろ
0273デフォルトの名無しさん2008/08/15(金) 12:17:32
http://www.atmarkit.co.jp/fcoding/articles/zope3/01/zope301b.html
またpython関連のわけがわからない記事を書くやつがあらわれたなwww
0274デフォルトの名無しさん2008/08/15(金) 12:30:38
「何ぞや?」が馬鹿っぽい
0275デフォルトの名無しさん2008/08/16(土) 00:24:20
名ばかりのコミッターより1000000000倍マシ
0276デフォルトの名無しさん2008/08/17(日) 01:52:53
いつも思うんだけど、もう 2.5 のドキュメント日本語訳プロジェクトは破棄して、
2.6 の翻訳にとりかかるべきじゃないか?
0277デフォルトの名無しさん2008/08/17(日) 08:49:56
>>273
Zope 3の記事を見て悔しがる奴なんて日本に二人くらいしかいないよな(ww
0278デフォルトの名無しさん2008/08/17(日) 13:35:13
ネットで匿名で文句たれてる奴は負け組とか呼ばれるらしいよね
秋葉で事件起こした彼が最近の代表例らしいけど
0279デフォルトの名無しさん2008/08/17(日) 13:36:45
論理的思考力の欠落というやつですね、わかります
0280デフォルトの名無しさん2008/08/17(日) 13:43:33
家族を悲しませるようなことをしてはいけませんよ!
0281デフォルトの名無しさん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ネットワークプログラミングにのってたやつ。
何でエラー?
0282デフォルトの名無しさん2008/08/17(日) 22:23:09
クソ本だからだろ(ww
まあ念のためコード動かしてるPythonのバージョンを調べてみろや
0283デフォルトの名無しさん2008/08/17(日) 22:25:00
2.5より古いバージョン使ってるとか?
0284デフォルトの名無しさん2008/08/18(月) 12:27:36
CとかC++とかJavaとかで躓いてPythonに流れ着いた訳なんですが、Pythonって凄いですね!プロンプトからコードが書けるなんて!!
0285デフォルトの名無しさん2008/08/18(月) 13:17:03
いやまあなんつうか、インタプリタってのはそういうもんだ
0286デフォルトの名無しさん2008/08/18(月) 13:29:28
つまずいた理由がよくわかる本当に秀逸なレスだと思う。
0287デフォルトの名無しさん2008/08/18(月) 14:27:24
284はネタだろ、
ネタだよな、
ネタだと言ってくれ!!!
0288デフォルトの名無しさん2008/08/18(月) 14:53:58
こんな多様な時代だもん、ふつうにありえるだろ
0289デフォルトの名無しさん2008/08/18(月) 15:34:24
Pythonを知ってしまったら他ので仕事できなくなるよ
0290デフォルトの名無しさん2008/08/18(月) 15:42:50
CはおろかJAVAでつまずくようなヤツが
他の言語を扱えるようになるとは到底思えない。
0291デフォルトの名無しさん2008/08/18(月) 15:48:15
趣味プログラマなんだろうしほっとけよ
0292デフォルトの名無しさん2008/08/18(月) 16:51:25
>>290
javaは、java言語自体ではつまずかないかもしれないけど
これでWebアプリケーションを作ろうと思ったら
乱立するフレームワークの前に何やっていいのかわからなくなって
途方にくれると思う。

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

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


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

そして社会の底辺まっしぐら?
ドカタ以下じゃん(ww
0303デフォルトの名無しさん2008/08/19(火) 08:14:22
底辺の気に障っちゃったみたいだな
内定無いのに辞めるとか言わないだろ
0304デフォルトの名無しさん2008/08/19(火) 08:49:15
301はスキル以前にパーソナリティに問題があって底辺なんだとオモタ。
0305デフォルトの名無しさん2008/08/19(火) 18:49:40
なぜか>>301=298の流れになっているような気が
自虐をさらに叩かれて>>301カワイソスw
0306デフォルトの名無しさん2008/08/19(火) 22:43:51
性格悪いの多そうだねこのスレ。
この板自体がそうか。
0307デフォルトの名無しさん2008/08/19(火) 22:56:42
性格のいい奴は別のコミュニティに移ってるだろ
ttp://news4vip.livedoor.biz/archives/51197163.html
0308デフォルトの名無しさん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は関数内で参照することはできるけど、値を変更する事はできない。」
って事でしょうか??
0309デフォルトの名無しさん2008/08/20(水) 11:30:44
x = 10
def fun():
    global x
    x = x * 2
    return x
print fun()
0310デフォルトの名無しさん2008/08/20(水) 11:47:47
>>298
通り魔のマスコミ発表そのまま信じてる奴なんかいるのか?
そもそもトヨタ系派遣会社の問題なんてマスコミ報道するわけないから
適当な犯行理由でっちあげて報道するだけだろ
0311デフォルトの名無しさん2008/08/20(水) 11:49:34
板違いの話題を蒸し返すな
03123082008/08/20(水) 11:57:37
globalってのあったんですね。ありがとうございます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

とかそれっぽいよ。自分のとこじゃ試せないから適当だけど
0350デフォルトの名無しさん2008/08/24(日) 11:28:49
詳細について説明をお願いします
03513302008/08/24(日) 11:31:17
>>349
情報ありがとうございます。調べてみます。
0352デフォルトの名無しさん2008/08/24(日) 11:40:42
イケメンハッカーが自己処理しました。
03533302008/08/24(日) 15:25:02
やっぱりわかりませんでした。
03543302008/08/25(月) 09:23:00
>>353は騙りです。
psycopg2.extensions.TransactionRollbackErrorが投げられるようです。
>>349さん、ありがとうございました。
03553302008/08/25(月) 09:46:56
やはりすこし微妙な点があります。
その他に利用可能なライブラリはありますでしょうか。
デバッグに利用ができるようなもの。
03563302008/08/25(月) 09:47:50
自己解決しました
03573302008/08/25(月) 09:57:23
詳しい人に聞いています。
そうでないのなら黙っててください。
0358デフォルトの名無しさん2008/08/25(月) 13:15:18
死ね
03593582008/08/25(月) 23:25:57
自己解決しました
0360デフォルトの名無しさん2008/08/26(火) 00:15:38
python初心者です。
lists = ['a','b','c','d','e','f','g']
i = [0,1,4]
があるとき、mapとlambda関数(あるいは何か)のような、組み合わせで
>>[a,b,d]
と表示させたいんですが、可能であれば、方法を教えてもらえないでしょうか?
0361デフォルトの名無しさん2008/08/26(火) 00:16:46
間違えました、
lists = ['a','b','c','d','e','f','g']
i = [0,1,4]
であれば、
>>[a,b,e]
です。
うーん。できそうで、できない。。
0362デフォルトの名無しさん2008/08/26(火) 00:18:20
またまた、間違えました、
lists = ['a','b','c','d','e','f','g']
i = [0,1,4]
であれば、
>>['a','b','e']
です。
うーん。できそうで、できない。。
0363デフォルトの名無しさん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']
0364デフォルトの名無しさん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']
0365デフォルトの名無しさん2008/08/26(火) 00:21:23
itemgetterが複数の引数をとれるとは
0366デフォルトの名無しさん2008/08/26(火) 00:21:39
すごい。完璧です!
30分以上考えていたのに。。。流石です。
ありがとうございました!
0367デフォルトの名無しさん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)
0368デフォルトの名無しさん2008/08/26(火) 13:39:51
>>365
def itemgetter(item):
return lambda x: x[item]

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

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

この2つってどっちの方がいいんだろう。
0370デフォルトの名無しさん2008/08/26(火) 15:16:18
下のはパラノイアっぽいな
0371デフォルトの名無しさん2008/08/26(火) 15:16:18
実測しよう
0372デフォルトの名無しさん2008/08/26(火) 15:24:21
読み易さで上かな。
0373デフォルトの名無しさん2008/08/26(火) 15:39:16
下のが速いみたいだけれども
こんなのがボルトネックになるのはありえないから上を選ぶべき
0374デフォルトの名無しさん2008/08/26(火) 15:42:03
s/ルト/トル/
0375デフォルトの名無しさん2008/08/26(火) 16:32:24
下を書いちゃう人は、変態か精神病のどちらか。
0376デフォルトの名無しさん2008/08/26(火) 16:51:03
>>375
Neet山かも
0377デフォルトの名無しさん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)

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

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

0382デフォルトの名無しさん2008/08/26(火) 23:51:39
日本語マニュアルのアーカイブが欲しかったんだが、ttp://www.python.jp/Zope/が503でアクセスできない。
どっかにないだろうか?
03833822008/08/27(水) 00:07:03
すまん、今繋がった
0384デフォルトの名無しさん2008/08/27(水) 00:48:40
急ぎの時は internet archive を見るのだ
0385デフォルトの名無しさん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はどう記述すればいいんでしょう?
0386デフォルトの名無しさん2008/08/28(木) 13:14:16
man date
0387デフォルトの名無しさん2008/08/28(木) 13:34:32
24 名前:仕様書無しさん []: 2008/08/24(日) 05:21:20
hi があったので low を探したら nen tuki が見つかりました・・・
day にしろよ・・・
0388デフォルトの名無しさん2008/08/28(木) 16:36:20
自己解決しました
0389デフォルトの名無しさん2008/08/29(金) 00:55:31
済みません真面目に質問をしています。
正常な回答を寄せていただける方以外レスは控えてくださいますようお願いします。
0390デフォルトの名無しさん2008/08/29(金) 01:10:55
who are you?
0391デフォルトの名無しさん2008/08/29(金) 01:40:07
>>390
日本語訳すると「何様のつもりだ?」ですね、分かります。
0392デフォルトの名無しさん2008/08/29(金) 02:04:39
pygameのドキュメント和訳する作業始めろ屑ども
0393デフォルトの名無しさん2008/08/29(金) 02:10:37
Please start transulation by pygame you shit.
0394デフォルトの名無しさん2008/08/29(金) 09:25:31
Please start transulation by pygame you shit.
03953852008/08/29(金) 09:46:54
すみません

お願いしますから

早く回答くれませんか

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

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

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

の

+が

該当するところが

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

知りたいだけです

それが解決すれば

この問題は終わります
0397デフォルトの名無しさん2008/08/29(金) 09:52:16
It was accomplished by hansame hacker.
0398デフォルトの名無しさん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)
03993852008/08/29(金) 11:24:07
おねがいします。

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

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

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

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

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

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

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

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

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

http://code.djangoproject.com/wiki/DjangoAndPyPy
0431デフォルトの名無しさん2008/09/01(月) 23:13:34
RMTPyのドキュメント和訳しろよくずども
0432デフォルトの名無しさん2008/09/01(月) 23:33:03
Python/Perl/Ruby/PHPなんて大体同じなんだからPython使えよ。
0433デフォルトの名無しさん2008/09/01(月) 23:44:46
Pythonほど未完成な言語はないだろう。
Rubyには絶対かなわない
0434デフォルトの名無しさん2008/09/01(月) 23:48:21
【Perl,PHP】LLバトルロワイヤル3【Ruby,Python】
http://pc11.2ch.net/test/read.cgi/tech/1215319832/
0435デフォルトの名無しさん2008/09/02(火) 01:07:33
ruby厨は巣に帰れ
0436デフォルトの名無しさん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]

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

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

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

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

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

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

皆さんそういう時ってどうしてますか?
0472デフォルトの名無しさん2008/09/04(木) 15:40:46
>>471
シーケンスに何を入れようと自由だよ。
0473デフォルトの名無しさん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は取得できる。
0474デフォルトの名無しさん2008/09/04(木) 16:55:17
クラスインスタンスを固定数だけ配列みたいに造るのって。

class kls: pass

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

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

構造体配列の「配列」もそういう意味で使ってる気がする
(構造体の配列ではなく)
0478デフォルトの名無しさん2008/09/04(木) 19:34:47
固定長配列なんて久しく使ってないなあ
0479デフォルトの名無しさん2008/09/04(木) 21:59:37
Microsoftの作った構造体とか頭が痛くなる
0480デフォルトの名無しさん2008/09/04(木) 22:32:15
馬鹿はなにやってもダメだな
0481デフォルトの名無しさん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
0482デフォルトの名無しさん2008/09/05(金) 01:23:26
おもしろいねそれ
0483デフォルトの名無しさん2008/09/05(金) 01:42:09
これが取り入れられたんだよね、確か
Named Tuples ≪ ActiveState Code
http://code.activestate.com/recipes/500261/
0484デフォルトの名無しさん2008/09/05(金) 05:55:43
ordereddictは?
0485デフォルトの名無しさん2008/09/05(金) 09:32:00
>>471っす
なんか、自分の理解不足と説明不足でグデグデにしてしまって。(´Д`;

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

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

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

ちょっとやりたいことをCで書いてみます。
・・・と行制限が。(´Д`;
0486デフォルトの名無しさん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;
のトコみたく、メンバ(?)をバラバラに指定できると助かります。
0487デフォルトの名無しさん2008/09/05(金) 09:45:48
魚っ!タブがorz
見にくくてすいません。((orz
0488宿題か?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)
0489デフォルトの名無しさん2008/09/05(金) 10:14:49
あっ!もっと沢山の回答お待ちしてますorz
0490デフォルトの名無しさん2008/09/05(金) 12:37:44
>>> import itertools
>>> params = (("ENG16", 0xff, 8), ("MET08", 0xff, 6), ("MET08", 0xff, 6))
>>> frm = list(itertools.starmap(Frame, params))
0491デフォルトの名無しさん2008/09/05(金) 12:39:22
>>> [Frame(*args) for args in (("ENG16", 0xff, 8), ("MET08", 0xff, 6))]
0492いいえ、ケフィ(ry2008/09/05(金) 13:11:50
>>488
SUGEEEEE!!!!動きました。
やり方自体はあったんですね。見つからなかっただけで。
構造体とかそっち方面から情報漁ってたんですが、全然辿り着かなくて。

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

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

と、実はまだ関数のselfがきっちり理解できてなかったりします。(^^;
0493デフォルトの名無しさん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]
真似しなくていいぞ
0494デフォルトの名無しさん2008/09/05(金) 18:00:18
俺のPython勉強日記
http://pc11.2ch.net/test/read.cgi/tech/1220604777/
0495デフォルトの名無しさん2008/09/05(金) 18:40:32
早いとこ転職先探すべきだろう
0496デフォルトの名無しさん2008/09/05(金) 22:06:31
http://coreblog.org/ats/multiprocessing-package
python2.6で入るモジュールmultiprocessing、面白そうだ
前にスレで話題に出たParallel Pythonと同じような仕組みなのかなぁ
0497デフォルトの名無しさん2008/09/05(金) 22:08:01
>>496
全然違う
0498デフォルトの名無しさん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/
0499デフォルトの名無しさん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 もどきが
欲しくなりますねー。
0500デフォルトの名無しさん2008/09/06(土) 10:45:47
情報弱者の特徴

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

1 : 一次情報に接触しようとしない
2 : 人に教えてもらわないと気づかない
3 : 英語ができない
4 : その割には偉そう
5 : 自分の能力のなさを棚に上げて他人を逆恨みする
6 : 都合が悪くなると逃げる
7:自己解決シマシタ
8 : Rubyが諸悪の根源と考えている
0509デフォルトの名無しさん2008/09/06(土) 21:52:54
8 : 508のごとくすぐキレる
0510デフォルトの名無しさん2008/09/06(土) 22:03:38
pythonのソースコードを2ちゃんに張るじゃん。
そしたら、TABが無効化されるので、
そのままコピペしても動かないよね。
0511デフォルトの名無しさん2008/09/06(土) 22:11:06
8 : 温泉とかキャバクラとか行く暇があったらpygameの翻訳をする
0512デフォルトの名無しさん2008/09/06(土) 22:16:48
>>510
別に。
基本的にスペースで書くから問題ない。
0513デフォルトの名無しさん2008/09/06(土) 22:17:08
10: Batteries Inserted
0514デフォルトの名無しさん2008/09/06(土) 22:21:20
>>510
無効化じゃなくてブラウザの仕様で見えなくなってるだけだ
0515デフォルトの名無しさん2008/09/07(日) 06:14:56
2chに貼られたソースコードをコピペして動かすことってそうない気がする。
0516デフォルトの名無しさん2008/09/07(日) 06:35:04
オレはあるから、頻度は主観の話だな。
コードを書かれることを考えていない2ch側の問題。
0517デフォルトの名無しさん2008/09/07(日) 07:02:23
オレはないから、頻度は主観の問題だな。
HTMLのダイエットを最優先にしている2chにコードを張ったり使おうと思う奴の問題。
0518デフォルトの名無しさん2008/09/07(日) 07:19:00
dat には入ってるんだから pre 表示するブラウザ作ればいいだけじゃね?
AA ズレるけどな
0519デフォルトの名無しさん2008/09/07(日) 10:01:47
JaneDoeStyleならアンカにカーソル乗せて
ポップアップしたらインデントされてるよね
それコピペすればいいんじゃね
0520デフォルトの名無しさん2008/09/07(日) 10:17:04
専ブラの作者に頼めばいいじゃない
コードが見難いので、TABが表示されるモードつけてくれ!って
0521デフォルトの名無しさん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にもメソッドがあるのですが
逆方向への変換の方法がわかりません。
どなたかご存知ありませんか?
0522デフォルトの名無しさん2008/09/07(日) 12:34:37
ドキュメント、穴があくぐらい読んだのか?
0523デフォルトの名無しさん2008/09/07(日) 13:55:18
まだ穴はあいていませんが、読んでいるのはライブラリリファレンスとpytzのソースとテストケースです。

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

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

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

何か大きな勘違いをしているのでしょうか?
0524デフォルトの名無しさん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として実行されるんでしょうか?
0525デフォルトの名無しさん2008/09/08(月) 17:21:02
標準モジュールのtestと衝突してるとか
0526デフォルトの名無しさん2008/09/08(月) 19:50:01
>>525
ありがとうございます。
PythonHandler mptest
に変更して、アクセスするファイルもmptest.pyにしてみましたが変わりませんでした。
0527デフォルトの名無しさん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> に変更
0528デフォルトの名無しさん2008/09/08(月) 21:33:19
>>527
うおー。動きました!
Pythonとは全く関係ないところでしたが、ご教授ありがとうございます!
0529デフォルトの名無しさん2008/09/09(火) 01:08:05
pythonでlistやtupleにflattenを追加して欲しい。
いちいち
>>> import _tkinter
>>> _tkinter._flatten
とか
>>> import compiler
>>> compiler.ast.flatten
とかしたくない。
0530デフォルトの名無しさん2008/09/09(火) 04:04:23
flatten = _tkinter._flatten
とか
from compiler.ast import flatten
でお茶を濁す。
0531デフォルトの名無しさん2008/09/09(火) 13:54:45
そんなに頻繁に使う?
0532デフォルトの名無しさん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:26
公式のドキュメント一式
0536デフォルトの名無しさん2008/09/11(木) 01:25:05
Ruby プラグラマー 田中ばびえ こと 馬場道明さん
http://pc11.2ch.net/test/read.cgi/prog/1219109959/l50x

0537デフォルトの名無しさん2008/09/11(木) 16:34:56
今からならPython3覚える方がいいの?
0538デフォルトの名無しさん2008/09/11(木) 16:59:19
当分は2.Xが主流じゃまいか?
0539デフォルトの名無しさん2008/09/11(木) 18:03:57
2.x覚えつつ3.0を予習といった感じで
0540デフォルトの名無しさん2008/09/11(木) 21:25:10
Ruby1.9のが先進的だからそっちを覚えた方が良いよ
0541デフォルトの名無しさん2008/09/11(木) 21:31:35
むしろ全部やれよ。
0542デフォルトの名無しさん2008/09/11(木) 23:09:20
今すぐ始めるんだったら、2.x がいいと思う、3.0 は情報少ないし、未対応なものも
まだまだ多いし、・・・
0543デフォルトの名無しさん2008/09/11(木) 23:16:04
普通に2.5でいいだろ。
pythonの中の人もそう言ってる。
0544デフォルトの名無しさん2008/09/12(金) 03:14:29
>>537
3.xを覚えて2.xのライブラリを3.xに移植する。
0545デフォルトの名無しさん2008/09/12(金) 04:19:39
jython 2.5 a3 release
0546デフォルトの名無しさん2008/09/12(金) 17:15:13
前にpythonでjsonするためのlibrary検索したらいくつか乱立してた
今はメインはこれって統合されてるの?
0547デフォルトの名無しさん2008/09/12(金) 17:16:37
simplejsonが2.6/3.0に入るからこれかな
0548デフォルトの名無しさん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

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

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

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

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

はっきりいってうざいです。
0561デフォルトの名無しさん2008/09/14(日) 06:54:42
>>560
そういうのは無視していたほうがいいよ。
イライラするより、コーディングしたほうが有意義。
前からそのお方はずっとそういうスタンスだから、
ここで書いて本人が目にしたとしても変えないよ。
その人の名前がメール本文に入ってたらゴミ箱行くようにするとかで
解決するんじゃないの、目にしたくなければさ。
0562デフォルトの名無しさん2008/09/14(日) 09:32:26
>>560
どの言語のコミュにもいるよ、そういう人。
0563デフォルトの名無しさん2008/09/14(日) 09:36:09
>>560
本来のMLの目的通りお前がいい回答をすればいいじゃないか
0564デフォルトの名無しさん2008/09/14(日) 09:49:51
>>562
とあるマイナー言語のMLには、自著の宣伝と宗教話しか流さない人がいるよ。
長老らしく、誰も文句言えないらしい。
0565デフォルトの名無しさん2008/09/14(日) 09:53:58
そーいやPythonの開発者サイド代表的な立ち位置で
コメントしてたりするんだけど具体的に何を作ったのかさっぱりわからんな
0566デフォルトの名無しさん2008/09/14(日) 09:57:27
何もないでしょ。最初からエラソーな顔してるだけじゃね?
0567デフォルトの名無しさん2008/09/14(日) 12:29:11
お笑い芸人みたいなもんだからな。技術者と言うよりは。
0568デフォルトの名無しさん2008/09/14(日) 12:33:37
まだ良い方だって。
0569デフォルトの名無しさん2008/09/14(日) 13:57:00
イケメンでもなければハッカーでもないということですね、分かります。
0570デフォルトの名無しさん2008/09/14(日) 14:54:17
Pythonは簡単にネットワーク関係のコードをかけると思います。
boostを使うと、C++に埋め込めますか?  
コンパイルすると、一つのEXEにファイルになりますか?
EXEの内部にスクリプトに必要なファイルが埋め込んであるだけではないですよね?
0571デフォルトの名無しさん2008/09/14(日) 15:07:48
あとPythonはコンパイルしてEXE出来ますか? IronPython は作れるらしいですが、こっちの方が性能上なんですか?
0572デフォルトの名無しさん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
0573デフォルトの名無しさん2008/09/14(日) 15:42:06
もちつけ
     /\⌒ヽペッタン
   /  /⌒)ノ ペッタン
  ∧_∧ \ (( ∧_∧
 (; ´Д`))' ))(・∀・ ;)  
 /  ⌒ノ ( ⌒ヽ⊂⌒ヽ
.(O   ノ ) ̄ ̄ ̄()__   )
 )_)_) (;;;;;;;;;;;;;;;;)(_(

まずは、何がしたいのか、がわからないと、アドバイスのしようがない。
0574デフォルトの名無しさん2008/09/14(日) 15:56:01
python3.0のリリース日が10月1日から10月15日に変わったんだな
0575デフォルトの名無しさん2008/09/14(日) 17:26:30
正直もうちょっと遅くてもいい
それとも3.1くらいから乗り換えるか…
0576デフォルトの名無しさん2008/09/15(月) 12:34:10
printが関数になるとか。文のままがよかったなあ
0577デフォルトの名無しさん2008/09/15(月) 12:41:48
Python3.0がリリースされると同時に、
俺の会社ではRubyに乗り換えることが決定的になった。
Rubyのが仕様変更安定してるからなあ。
0578デフォルトの名無しさん2008/09/15(月) 12:42:26
print文の事はPython Regretsにもあったじゃん
0579デフォルトの名無しさん2008/09/15(月) 12:44:53
Pythonが最強だろ マイクロソフト (.NET版) もC++言語 (boost版) でも開発してるし。
0580デフォルトの名無しさん2008/09/15(月) 12:46:46
Java実装のものが常に新しいRubyが一番いいと思いますけどね。
0581デフォルトの名無しさん2008/09/15(月) 12:48:35
ところでPythonのVMを理解するのに参考になる資料をしってる方いませんかね
0582デフォルトの名無しさん2008/09/15(月) 12:49:28
python.org
0583デフォルトの名無しさん2008/09/15(月) 16:42:31
>>577
お気の毒
0584デフォルトの名無しさん2008/09/15(月) 16:56:58
>>577
英断だと思う。明らかに今回のPython刷新は
意味が不明な点が多すぎる。
0585デフォルトの名無しさん2008/09/15(月) 16:58:45
べつに3にいこうしなければいいじゃん
0586デフォルトの名無しさん2008/09/15(月) 17:00:22
>>577
ていうかPythonを何に使ってたのか気になる。
0587デフォルトの名無しさん2008/09/15(月) 17:03:22
>>577
おーやっぱあなたの会社もそうしますか。
Rubyの勉強会に行ってこいとか上司に言われるようになりました。
影舞に代表されるようなすぐれたBTSなどもありますしね。
0588デフォルトの名無しさん2008/09/15(月) 17:05:31
そんでRuby2.0へ移行するときにまたpythonへ
0589デフォルトの名無しさん2008/09/15(月) 17:05:44
>>587を脳内で再生すると
どうしても影舞以降棒読みになる
0590デフォルトの名無しさん2008/09/15(月) 17:05:45
この流れ自作自演なの?
0591デフォルトの名無しさん2008/09/15(月) 17:06:40
*具体的に*気に入らないとこを語れ
0592デフォルトの名無しさん2008/09/15(月) 17:08:32
pythonよりRubyが優れている事が実証されたな
0593デフォルトの名無しさん2008/09/15(月) 17:11:02
>>590
昔からいるやつなら分かるはず
05945932008/09/15(月) 17:16:14
誤爆
0595デフォルトの名無しさん2008/09/15(月) 17:20:52
ダメです。
そんな返答は許可しません。
0596デフォルトの名無しさん2008/09/15(月) 17:23:28
ていうかこの流れで誰が得すんの?
0597デフォルトの名無しさん2008/09/15(月) 17:25:34
Pythonは色々なところをRubyから
パクっていったよなあ
0598デフォルトの名無しさん2008/09/15(月) 17:29:27
それは皮肉なのかボケなのか事実の指摘なのか判別できないお
0599デフォルトの名無しさん2008/09/15(月) 17:31:51
これが自作自演Rubyユーザーの粘着ってやつか
0600デフォルトの名無しさん2008/09/15(月) 17:49:33
どうせ4.0になったらまたがらりと変わるんでしょ。
とPHPみたいなことを言ってみる。
0601デフォルトの名無しさん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
0602デフォルトの名無しさん2008/09/15(月) 18:08:45
つーか公式に仕様を検討する場がありPEPという形で文書化されているPythonと
Matzが思いつきでコードをいじり倒してrailsの互換性が平気で
無くなったりするRubyを比べられても、ネタとしか思えんのだが

まあネタなんだろうな
0603デフォルトの名無しさん2008/09/15(月) 18:27:40
サーバー用途ではなくオフラインで使うならHSPかPythonとおみうよ
0604デフォルトの名無しさん2008/09/15(月) 18:49:23
安定性はPHP>Rubyだと思うけど。
PHPがRubyと同列なんてあんまりだ。
0605デフォルトの名無しさん2008/09/15(月) 19:28:39
やはりRubyが最強なようだ
0606デフォルトの名無しさん2008/09/15(月) 20:10:34
>>605
まさにゴキブリww
0607デフォルトの名無しさん2008/09/15(月) 20:19:59
もっと知りたいPython3000:第4回 Python 2.xから3.0への移行方法|gihyo.jp … 技術評論社
http://gihyo.jp/dev/feature/01/python3000/0004
06086062008/09/15(月) 20:20:11
PythonもいいけどRubyもまあいいよね、
イテレータについても早期に実装されたりしているし
0609デフォルトの名無しさん2008/09/15(月) 20:29:09
2系と3系ってそんなに違うのか。
0610デフォルトの名無しさん2008/09/15(月) 20:36:51
>>607
コードコンバータ周りの説明が何言ってるのかわからん
0611デフォルトの名無しさん2008/09/15(月) 21:25:12
>>607
イケメンハッカーって、このひとの事ですか?
0612デフォルトの名無しさん2008/09/15(月) 21:56:39
>>611
Nと間違えるなよ。
この人は米国に赴いてきちんとGuidoと会話して
話聞いたりしっかりしてんだぞ。
0613デフォルトの名無しさん2008/09/15(月) 22:21:08
>>612
本人乙
06146122008/09/15(月) 22:39:26
西尾さんすっげいい人だしちょーかっこいいから。残念。
0615デフォルトの名無しさん2008/09/15(月) 22:46:18
>>614
本人乙
0616デフォルトの名無しさん2008/09/16(火) 00:07:40
田中さんはすごい人だ
0617デフォルトの名無しさん2008/09/16(火) 00:46:32
2.6はもうすぐなの?
0618デフォルトの名無しさん2008/09/16(火) 00:51:33
>>617
http://www.python.org/dev/peps/pep-0361/
少し延期しちゃったな。3.0は2.6と同時のはずだったのに。
0619デフォルトの名無しさん2008/09/16(火) 10:27:34
2.6 rc1 performance
http://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
pyublasをどこでもいいから公式libraryの一部としてとりこんでほしい
今のままじゃ安心して使えない
0621デフォルトの名無しさん2008/09/16(火) 17:22:39
ctypesの逆ってできるのでしょうか?
つまりpythonをcから呼びたいのです
06226212008/09/16(火) 17:31:18
自己解決
http://docs.python.org/lib/ctypes-callback-functions.html
06236212008/09/16(火) 17:50:31
よく読んでみたらpythonの関数をdllにするんじゃなくて
あくまでpythonの中でCの関数にうめこめるだけぽい
0624デフォルトの名無しさん2008/09/17(水) 08:57:32
Python フィトン
0625デフォルトの名無しさん2008/09/17(水) 10:10:57
今まで3年間pythonを使い続けたが、
rubyの余りの良さにびっくりし、改宗することにしました。
0626デフォルトの名無しさん2008/09/17(水) 10:25:57
>>625
どんなトコが良かった?
0627デフォルトの名無しさん2008/09/17(水) 10:26:46
Rubyはめちゃめちゃつかいやすいよなー
使う側に立って開発されている感じ。
0628デフォルトの名無しさん2008/09/17(水) 10:29:42
合う合わないはあると思う
どっちの言語にもファンはいるが、両方好きな人はそんなに多くないとの噂
06296262008/09/17(水) 10:29:53
おれも使うのやめようかな
0630デフォルトの名無しさん2008/09/17(水) 10:30:19
べつにどっちの宗派とか全然興味ないんだけど、
ユーザはpythonのほうが凄く多いよね
0631デフォルトの名無しさん2008/09/17(水) 10:31:37
Python使いにはスルー力が必要
0632デフォルトの名無しさん2008/09/17(水) 10:32:08
あ、俺626なんだけど、>>629みたいな奴が沸くってことは
言語キチガイが発生してるってだけのことか。時間無駄にした
0633デフォルトの名無しさん2008/09/17(水) 10:36:03
改宗って宗教かよ
0634デフォルトの名無しさん2008/09/17(水) 10:48:08
ごめ、rubyのが多いな
0635デフォルトの名無しさん2008/09/17(水) 17:17:48
インポートされるファイルを書き込み権限のないディスクに置きたいのですが、.pycファイルを作ろうとしてエラーが出てしまいます。
pycファイルを作らないようなオプションはないでしょうか?
0636デフォルトの名無しさん2008/09/17(水) 17:30:05
>>635
Rubyを使えばいいと思うよ。
0637デフォルトの名無しさん2008/09/17(水) 17:36:31
pycをあらかじめ作って置いとくのがいいんだろうな
0638デフォルトの名無しさん2008/09/17(水) 18:05:19
>>635
エラーってどんなの?
06396352008/09/17(水) 19:12:20
>>636
分かりました、Rubyを使う様にしたいと思います。
どうしても中間ファイル pycが作られてしまうのに耐えられません。
ありがとうございました。
0640デフォルトの名無しさん2008/09/17(水) 21:35:28
/塩\
0641デフォルトの名無しさん2008/09/17(水) 21:41:17
相変わらず自演Ruby厨が沸くな
0642デフォルトの名無しさん2008/09/17(水) 21:42:46
lispやhaskellのスレにはなぜか沸かない不思議
0643デフォルトの名無しさん2008/09/17(水) 21:47:14
オレはこの際Ocamlやるよ。
誰も使ってない言語の方がクールだろ。
0644デフォルトの名無しさん2008/09/17(水) 22:34:12
どうせPythonが分からなかった池沼だろ。
きっと3日後にはRubyスレに同じこと書いてるよw
0645デフォルトの名無しさん2008/09/17(水) 22:41:45
初心者です。
MacOSでの開発を実際に行われてる方っていますか?
日本語が問題なくソース内に打ち込めて(ことえりを使って入力できる、という意味)、使えるものといえば
Xcode及びEmacs(オリジナル及びCarbon版どれでも)以外ないのでしょうか..
wxPython実装のものなどを使ってみたりしましたが、
どうもうまく日本語入力できなかったりするんですよね。

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

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

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

アンチじゃなくて参考に聞きたいんだけど
self減らすテクニックとかってあるの?
0669デフォルトの名無しさん2008/09/18(木) 06:30:13
pythonについて議論してるところでrubyを宣伝するのは、matzを筆頭にruby厨の得意技だから
無視するしかない。
0670デフォルトの名無しさん2008/09/18(木) 06:35:23
>>668
エディタの機能を使ってselfを簡単に入力できるようにするしかないと思う。
0671デフォルトの名無しさん2008/09/18(木) 08:10:51
ていうかselfの何が嫌なの?
俺はselfなくなったらpython捨てる
0672デフォルトの名無しさん2008/09/18(木) 08:31:04
みんなよほどキチガイ観察が好きなんだな(www
0673デフォルトの名無しさん2008/09/18(木) 08:43:26
selfじゃなくて1文字でs、oみたいにするとか
0674デフォルトの名無しさん2008/09/18(木) 09:31:52
オレが第一引数!
0675デフォルトの名無しさん2008/09/18(木) 10:52:21
やはりRubyじゃないとこの先のLL界隈は
明るい展望が見えてこない。
0676デフォルトの名無しさん2008/09/18(木) 11:59:46
iを使おうぜ、iをさ。
iPythonみたいな。流行りそうだろ?
0677デフォルトの名無しさん2008/09/18(木) 12:02:25
と、iRubyのがよさそうだな、流行りそうだろ?
0678デフォルトの名無しさん2008/09/18(木) 12:27:20
IPythonならあるぞよ
0679デフォルトの名無しさん2008/09/18(木) 12:32:23
ruby厨ねえ
ひょっとしてc++をやたら批判しにくる連中と同じなのかい
0680デフォルトの名無しさん2008/09/18(木) 12:34:43
Rubyだったら$とかじゃないかなあ。$Ruby。
RoRとか金になりそうだけど、いろいろハマって精神壊しそう、みたいな。
どうよ$Ruby。流行りそうだろ?
0681デフォルトの名無しさん2008/09/18(木) 12:38:58
そうやっていじるからますますこのスレに住み着くんだってば
0682デフォルトの名無しさん2008/09/18(木) 12:42:37
Rubyで実装されたPython処理系とか無いのかな
0683デフォルトの名無しさん2008/09/18(木) 13:20:36
バカは相手にしなきゃいいのに…
0684デフォルトの名無しさん2008/09/18(木) 13:52:02
pythonよりRubyのほうが
使いやすいのはわかりきってること…
0685デフォルトの名無しさん2008/09/18(木) 14:14:33
>>669
PythonのMLに来てるのを見かけた時は唖然としたわ
0686デフォルトの名無しさん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)
0687デフォルトの名無しさん2008/09/18(木) 15:58:20
>>680
オレの知り合いがRails案件に手を出してマジで鬱になってたよ。
要求通りのアプリを組むのは簡単だったみたいだが、パフォーマンス問題があって。
最後は発注元に訴えられて裁判沙汰になったらしい。
そして開発してたやつらはほとんど鬱になったそうだ。
0688デフォルトの名無しさん2008/09/18(木) 16:14:14
>>687
あんな罠言語に手を出すから。

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

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

ということでFA?
0696デフォルトの名無しさん2008/09/18(木) 21:48:40
他言語を貶す必要はない
0697デフォルトの名無しさん2008/09/18(木) 22:25:15
と、死に神が言っています
0698デフォルトの名無しさん2008/09/18(木) 22:36:54
python 2.6 rc2 release
0699デフォルトの名無しさん2008/09/18(木) 23:23:25
ここのRuby厨はPythonに駆逐されそうだから荒らしにきてるのね。
0700デフォルトの名無しさん2008/09/19(金) 00:07:14
>>699
そうだろうね。
ちょうどmultiprocessingの話題が出たころから始まってるwww
0701デフォルトの名無しさん2008/09/19(金) 05:50:42
それは自意識過剰というもの。
0702デフォルトの名無しさん2008/09/19(金) 08:52:47
Rails案件で気が狂った厨房にはすべてが敵に見えるんだよ。
0703デフォルトの名無しさん2008/09/19(金) 10:20:37
だから反応するな話題に出すなボケ
0704デフォルトの名無しさん2008/09/19(金) 14:55:25
ということで>>686に答えて頂きましょうか
0705デフォルトの名無しさん2008/09/19(金) 15:08:36
locale.setlocale(locale.LC_ALL, "") してみ
0706デフォルトの名無しさん2008/09/19(金) 15:13:16
687,691は気狂いRuby厨用のテンプレとして末代まで祭りましょう。
0707デフォルトの名無しさん2008/09/19(金) 20:38:34
pythonはこのままいくと高速化されたJavascriptに置き変わるかもしれないそうです。
0708デフォルトの名無しさん2008/09/19(金) 20:48:34
javascript って内包表記のときに文字列リテラルとか
置かないといけないんじゃなかったっけ?あれが汚いなぁと思った。
あと、いつまでもヴァージョン上がらないし
0709デフォルトの名無しさん2008/09/19(金) 23:04:51
Booにはちょっと興味がある
0710デフォルトの名無しさん2008/09/20(土) 01:53:44
>>707
kwsk
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:15
指定したファイルのパーミッションを調べたいんだけどどうすればいいの?
0713デフォルトの名無しさん2008/09/20(土) 09:09:30
import os
0714デフォルトの名無しさん2008/09/20(土) 09:30:12
>>712
オレが調べてやるよ。
一件1万でどうだ?
0715デフォルトの名無しさん2008/09/20(土) 09:41:00
自己解決しました
0716デフォルトの名無しさん2008/09/20(土) 20:36:20
自己発電しました
0717デフォルトの名無しさん2008/09/20(土) 22:57:18
もう質問するときはコテでもつけたほうがいいんだろうか・・・・・・
0718デフォルトの名無しさん2008/09/21(日) 00:31:01
イケメンハッカーが温泉でプログラミング言語をなにかにたとえてネットイナゴを集めました。
0719デフォルトの名無しさん2008/09/21(日) 20:59:54
test
0720デフォルトの名無しさん2008/09/21(日) 21:01:16
Python には関数プログラミングの機能が多く入り込んでいます。でも末尾再帰の最適化
は導入されていません。末尾再帰の最適化自体は、コンパイラの最適化のテクニックであ
り、既存のコードに殆ど影響を与えることなく、python に導入可能でしょう。にもかか
らわず、なぜ現在の python には末尾再帰の最適化が導入されていないのでしょうか?

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

皆様は どのように考えますでしょうか。
0721デフォルトの名無しさん2008/09/21(日) 21:47:00
[Python-Dev] Proper tail recursion から Guido の考えを拾ってみる。
0722デフォルトの名無しさん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...
0723デフォルトの名無しさん2008/09/21(日) 22:15:37
なにこの自演くさい展開?
0724デフォルトの名無しさん2008/09/21(日) 22:50:29
普通に一人で話を進めてるだけでは・・・
0725デフォルトの名無しさん2008/09/21(日) 23:22:02
スレタイらしい流れだしいいじゃないか
0726デフォルトの名無しさん2008/09/22(月) 06:14:41
今、末尾再帰が導入されたとして積極的に使おうと思うやつがどれだけいるのか分からんが、
参照透明なコードを書こうとするのはコードの易化にも繋がるし、悪いことだとは思えない。
末尾再帰ってニュースで興味を持つやつだっているだろうし、実装がつらくないなら入れて欲しい。
避けるべきなのは goto、そして副作用だと思う。
アローで完全に無くせとか言い出すのはやめて欲しいが。
0727デフォルトの名無しさん2008/09/22(月) 06:42:29
・LISP信者まじきもい
・emacsを使ってる奴は須らくキチガイ
と思ってて、西尾何とかのブログをみたんですが、
pythonを使うにはキチガイ染みた
LISPを理解しないと駄目なんでしょうか?
python使ってるとああいう変な人になっちゃうんでしょうか?
西尾という人については良く知らないけど、
経験的にemacsマンセーな人はほぼキチガイなので
正直戸惑います。
0728デフォルトの名無しさん2008/09/22(月) 08:08:32
すぐマンセーとか信者とか認定する人の方が基地外率は高かったように経験しています
0729デフォルトの名無しさん2008/09/22(月) 08:45:16
>>727-728
すれ違い
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:08
Python の yield と Ruby の yield はどうちがうのですか?
0732デフォルトの名無しさん2008/09/22(月) 09:27:07
それを知ってどうする。暗黒面でもかぶるのか。
0733デフォルトの名無しさん2008/09/22(月) 10:31:21
>>731
見た目の上での使い方は似たようなもの。
どう違うかは、それぞれの言語をきっちり理解すればわかる。
ここで説明するのは難しい。
0734デフォルトの名無しさん2008/09/22(月) 11:22:03
RubyがPythonのyieldをぱくったというのが歴史的事実。
0735デフォルトの名無しさん2008/09/22(月) 12:08:51
PEP 255 が Created: 18-May-2001 なんですが、
どうやったらそれを Ruby がパクれるんですか?
0736デフォルトの名無しさん2008/09/22(月) 12:14:17
Rubyにいつからyieldがあったかを示せばそれで話は終わるが
それだけじゃ情報が足りん!
0737デフォルトの名無しさん2008/09/22(月) 12:23:42
Rubyの場合はCLU(1974年開発)由来
0738デフォルトの名無しさん2008/09/22(月) 12:28:13
少なくとも『オブジェクト指向スクリプト言語 Ruby』出版時にはあった
1999年出版
0739デフォルトの名無しさん2008/09/22(月) 12:42:17
Ruby には詳しいんですね
0740デフォルトの名無しさん2008/09/22(月) 12:43:59
Python厨とRuby厨が仲直りするスレってなくなったのか?
0741デフォルトの名無しさん2008/09/22(月) 12:58:50
pythonを勉強したときに得られるメリットを全部教えて。

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

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

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

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

http://www.portablepython.com/

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

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

import idlelib.PyShell
idlelib.PyShell.main()

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

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

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

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

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

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


これ次からテンプレに入れる
07907862008/09/24(水) 10:25:04
ありがとうございます
0791780,785,7872008/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)
0792デフォルトの名無しさん2008/09/24(水) 11:35:16
LocalSizeでメモリブロックのバイト数が取得できる
あと、LocalFreeでメモリ解放するのも忘れずに
07937912008/09/24(水) 19:18:52
とりあえず24bitの無圧縮データを返すようなspiであれば
画像をGetPictureで読み込んでPILのイメージオブジェクトを返すことが出来るようになりました。

http://www-2ch.net:8080/up/download/1222251295712076.Y78r1V
0794デフォルトの名無しさん2008/09/25(木) 02:11:50
>>792
うお、初見。
�dクス。
0795デフォルトの名無しさん2008/09/25(木) 05:36:02
LocalAlloc っていつまで使えるんだろうな…
0796デフォルトの名無しさん2008/09/26(金) 15:52:48
バイナリもじれつから拡張子を取得するにはどうしたら良いんでしょうか?
0797デフォルトの名無しさん2008/09/26(金) 15:59:38
適当にUnicode文字列に直してos.path.splitext()でいいんじゃない
0798デフォルトの名無しさん2008/09/26(金) 16:04:43
たぶんfileコマンドとmime.typesの複合技みたいなことじゃない?
0799デフォルトの名無しさん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
0800デフォルトの名無しさん2008/09/26(金) 21:35:06
誤爆……
0801デフォルトの名無しさん2008/09/27(土) 00:36:38
dosでこれができるけどshだと出来ないとか、
無意味に両方使いこなそうとしてる馬鹿が多いから、
Pythonを職場に持ち込みたいんだけどどうしたらいいかな?
0802デフォルトの名無しさん2008/09/27(土) 01:24:29
持ち込めばいいよ
0803デフォルトの名無しさん2008/09/27(土) 01:52:01
>>801
Pythonはシェルやコマンドインタプリタの代用にはならないよ
0804デフォルトの名無しさん2008/09/27(土) 02:02:44
っIPython
0805デフォルトの名無しさん2008/09/27(土) 04:10:02
ttp://d.hatena.ne.jp/oraccha/20080908/1220880423
0806デフォルトの名無しさん2008/09/27(土) 04:10:33
両方使いこなすのはいいことだろ。
文句くらい別にいいじゃん、使いこなせているなら。
まぁ、文面からすると使いこなせていないんだろうけどな。
0807デフォルトの名無しさん2008/09/27(土) 09:01:46
cygwin 使えや
0808デフォルトの名無しさん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:36
おいおい、VIP発かよ…
08107932008/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
0811デフォルトの名無しさん2008/09/27(土) 23:27:07
乙
0812デフォルトの名無しさん2008/09/28(日) 02:47:22
>>810
一発ネタじゃないんだし、zipへの直リンじゃなく
up用のサイト持ったほうがいいんじゃないか?

デザインとか無視で>>810がそのまま載ってるだけのサイトでいいから
0813デフォルトの名無しさん2008/09/28(日) 03:13:22
urlを削って見てみるとかいう事は考えつかないの?
配布専用じゃないけど↑のファイルには↓からリンク張ってる。
http://park7.wakwak.com/~blackbox/
0814デフォルトの名無しさん2008/09/29(月) 01:34:35
Windows環境でwxPythonのwx.FileDialogからファイルパスを
取得してそれをPythonのfileオブジェクトでテキストファイルとして
出力したいのですが、ファイルパスにエスケープシーケンスと
同じ文字並びが出ると正しいパスになりません。文字列変数に
格納した文字列のエスケープシーケンスを無効にする方法は
ありませんか。
ご教示お願いします。
0815デフォルトの名無しさん2008/09/29(月) 02:03:42
>>813
移動中に携帯から見たんでそんなこと言われても知らね
0816デフォルトの名無しさん2008/09/29(月) 02:22:12
>>814
具体例は?
0817デフォルトの名無しさん2008/09/29(月) 02:28:03
>>814
wx.FileDialogが返すファイル名ってUnicodeじゃなかったっけ?
Pythonはファイル名がunicode文字列ならwfopen()を使う。
もしcp932のファイル名が帰ってくるなら、filename.decode('cp932') とやってUnicodeにしてから
open()すればいい。
0818デフォルトの名無しさん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()
0819デフォルトの名無しさん2008/09/29(月) 12:18:31
ファイルパスの中の\を全部/に置換すればいい
0820デフォルトの名無しさん2008/09/29(月) 12:22:52
>>819
"表" が、ゴミ1バイトと/になるんですね。わかります。
0821デフォルトの名無しさん2008/09/29(月) 12:45:49
ちゃんとunicodeで置換したらそうはならないよ
0822デフォルトの名無しさん2008/09/29(月) 15:14:32
>>803
emacsのpython.el
で一度import hogeで読み込んだhoge.so
を解放してもう一度読み込み直しが簡単にできない( hoge.so がコンパイルされた)

これできればpython.elの端末に住めるのに
0823デフォルトの名無しさん2008/09/29(月) 15:45:46
reload(hoge)
08248142008/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:25
よく分からんがWin98のせいだろ
0826デフォルトの名無しさん2008/09/30(火) 08:50:13
>>824
よほど遅いメディアから起動するのでなければ、UPXで圧縮しても
起動時間は短くならないと思うが。
あとUPXとかで圧縮すると、メモリ消費量が増えるよ。
特に多重起動した場合はインスタンスの数だけ消費するから酷い。
0827デフォルトの名無しさん2008/09/30(火) 14:42:24
古いpythonしかない環境でPIL動かしたい
普通にsetupするとimport Imageでこける
いくつか昔のPILいれれば大丈夫なんでしょうか?
0828デフォルトの名無しさん2008/09/30(火) 14:53:59
古いpythonって具体的にバージョンいくつ?
「こける」ってことは例外すらも出ないってこと?
0829デフォルトの名無しさん2008/09/30(火) 14:58:31
>>827
ライブラリはPythonのバージョンに当然依存するよ

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


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)
08368142008/09/30(火) 18:37:49
>>825,826
御回答有難うございます。

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

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

glutのコールバック関数で少しつまづきましたが、すんなり実行できました。
0838デフォルトの名無しさん2008/09/30(火) 19:42:33
>>831
誤爆した
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:01
とりあえずフォームの中身の確認ぐらいしとけ
0841デフォルトの名無しさん2008/09/30(火) 23:57:37
{'Content-type': 'text/html'}
こう?
0842デフォルトの名無しさん2008/10/01(水) 00:00:57
あぁぁぁ
さっぱりわからん。

だれかさんぷるくれ〜〜〜。
0843デフォルトの名無しさん2008/10/01(水) 00:22:21
[('Content-Type', 'text/html')] と予想
違ったらリファレンス見ろ。
0844デフォルトの名無しさん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
だけしか取得できません。文字参照があるとうまく行かないようです。

これは何が原因で、どうやったら解決できるでしょうか?
08458442008/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: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 に直す
08478442008/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
08488442008/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
この辺を使って直す必要があるのかしら。
0849デフォルトの名無しさん2008/10/01(水) 01:36:24
パーサが文字参照に出会うと handle_charref を呼ぶので
そこに文字参照を解決するコードを書く

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

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

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

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

取得は環境変数のHTTP_COOKIEを見る。
0858デフォルトの名無しさん2008/10/01(水) 22:05:39
key not found で例外ですねわかります
08598552008/10/02(木) 02:14:53
すまんが誰か作ったモジュール公開してくれない?
0860デフォルトの名無しさん2008/10/02(木) 02:15:54
お断りします
0861デフォルトの名無しさん2008/10/02(木) 02:19:44
http://www.google.com/codesearch?q=%22import+cgi%22+cookie
0862デフォルトの名無しさん2008/10/02(木) 05:55:12
7000億のメールってすごいな。
0863デフォルトの名無しさん2008/10/02(木) 11:41:44
Chromeっていいね
0864デフォルトの名無しさん2008/10/02(木) 12:16:19
pythonってどういう目的のときに使うの?
0865デフォルトの名無しさん2008/10/02(木) 12:17:16
2.6リリース
0866デフォルトの名無しさん2008/10/02(木) 14:15:18
>>864
Wikipediaでも見てみるがいいよ
Pythonを利用しているソフトや企業が載ってる
0867デフォルトの名無しさん2008/10/02(木) 14:22:26
http://docs.python.org/dev/whatsnew/2.6.html
0868デフォルトの名無しさん2008/10/02(木) 14:38:02
個人的にはWindowsでのデフォコンパイラがVC9になったのが
意外とデカい(対応が面倒くさいという意味で)
0869デフォルトの名無しさん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



クッキー操作ってこれじゃダメなのかな?
0870デフォルトの名無しさん2008/10/02(木) 18:52:40
>>865
GJ!
0871デフォルトの名無しさん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
0872デフォルトの名無しさん2008/10/02(木) 19:06:32
name = "test"
cookie = os.environ['HTTP_COOKIE']
cookie2 = Cookie.Cookie.decode(cookie) ←ここもおかしい
0873デフォルトの名無しさん2008/10/02(木) 21:38:50
2.6 Windowsバイナリも公開されてた。
0874デフォルトの名無しさん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

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

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

0878デフォルトの名無しさん2008/10/03(金) 11:56:49
a if a == b else b
0879デフォルトの名無しさん2008/10/03(金) 12:35:53
http://www.goto.info.waseda.ac.jp/~fukusima/ruby/python-j.html
これって便利なの?
0880デフォルトの名無しさん2008/10/03(金) 12:39:59
スレ違い
0881デフォルトの名無しさん2008/10/03(金) 13:31:57
3.0のリリース予定が年内になったな
0882デフォルトの名無しさん2008/10/03(金) 14:32:34
>>879
>Ruby の素直で覚えやすいオブジェクト指向の機能
>Python の豊富なモジュール

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

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

a if pred else b

・a なんです。
・あ、書き忘れましたがそれは pred の時だけです。
・違ったら b にしてください。
0888デフォルトの名無しさん2008/10/03(金) 23:02:20
どうして普通に pred ? a: bにしなかったのだろうか。頭おかしいとしか思えないwww
0889デフォルトの名無しさん2008/10/03(金) 23:03:28
return a == b ? a : b
にしろ
return a if a == b else b
にしろ
retrun b
じゃだめなん?
0890デフォルトの名無しさん2008/10/03(金) 23:04:53
?:が普通だと思う感覚のほうがどうかしている。if elseはガード式の変形みたいなもの。
0891デフォルトの名無しさん2008/10/03(金) 23:05:36
>>887
lispのスレでそんなの見た気がする。
そういう意味だったのか。
0892デフォルトの名無しさん2008/10/03(金) 23:06:43
>>888
「:」の扱いに困ったんじゃないかな
0893デフォルトの名無しさん2008/10/03(金) 23:07:56
a if pred else b の場合 : 使わないのがしばらく違和感あった
0894デフォルトの名無しさん2008/10/03(金) 23:09:21
>>889
呼び出し側でaが指してるオブジェクトを触りたいときに困らないかな
0895デフォルトの名無しさん2008/10/03(金) 23:12:31
return a if a < b else b if b < c else c if c < d else d ...
ゲシュタルト崩壊しそうだ。
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
return a if a < b else (b if b < c else c)
0897デフォルトの名無しさん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の値が変わってくる。
0898デフォルトの名無しさん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
だから後者みたいだね。
0899デフォルトの名無しさん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))
ということですかね
0900デフォルトの名無しさん2008/10/04(土) 16:03:14
2.6アイコン戻ってるwww
なんでwww
0901デフォルトの名無しさん2008/10/04(土) 19:19:28
pygameの和訳作業やれよ屑ども
0902デフォルトの名無しさん2008/10/04(土) 19:58:47
それより標準ライブラリの和訳が必要だ。
いつまでも2.4じゃ困る。
0903デフォルトの名無しさん2008/10/04(土) 20:00:10
英語を読める人は困らないので和訳しない
英語を読めない人は和訳できない
0904デフォルトの名無しさん2008/10/04(土) 20:07:38
そして誰も居なくなった…
0905デフォルトの名無しさん2008/10/04(土) 20:27:56
英語の勉強をしているので和訳する
0906デフォルトの名無しさん2008/10/04(土) 21:05:49
2.6にしたらIDLEが起動しない…
何故だ
0907デフォルトの名無しさん2008/10/04(土) 21:08:41
>>905
叩かれるのを覚悟の上とはいい度胸だ。
まぁ自分のスキルアップとだけ認識していれば、これ以上ない機会かもな。
0908デフォルトの名無しさん2008/10/04(土) 21:39:26
>>903
GJ
0909デフォルトの名無しさん2008/10/05(日) 02:06:57
2.6にしたらpylonsとGenshiがインストールできねー
0910デフォルトの名無しさん2008/10/05(日) 02:09:18
Twistedも早く対応してほしいのう
0911デフォルトの名無しさん2008/10/05(日) 09:00:22
Library Reference、かっこよくなってる。
0912デフォルトの名無しさん2008/10/05(日) 13:56:54
Kokeshiも。
0913デフォルトの名無しさん2008/10/05(日) 18:50:00
inforno :: Python2.6変更点まとめ
http://inforno.net/articles/2008/10/03/python26-features
0914デフォルトの名無しさん2008/10/05(日) 20:55:06
おまいらこれ入れてる?
# -*- coding:utf-8 -*-
0915デフォルトの名無しさん2008/10/05(日) 21:04:36
手が勝手に入れてる
0916デフォルトの名無しさん2008/10/05(日) 23:35:26
Idleが勝手に cp932 いれる。
09179132008/10/06(月) 09:49:55
すまん、すばらしいブログのエントリ紹介してるのに
コメントよこさない糞なおまえらってなんなの?
0918デフォルトの名無しさん2008/10/06(月) 10:16:13
>>917
既に英語のWhat's Newを全部読んだからなぁ。
0919デフォルトの名無しさん2008/10/06(月) 11:45:14
913本人が本気で言ってたら笑える
0920デフォルトの名無しさん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)

来てる。
0921デフォルトの名無しさん2008/10/06(月) 14:02:25
What's Newを全部邦訳したらコメント少しは貰えるんじゃない
0922デフォルトの名無しさん2008/10/06(月) 19:05:57
>>913
オレはありがたく読ませてもらってるぜ
0923デフォルトの名無しさん2008/10/06(月) 20:56:51
Pythonには改行しないprint文は無いんだっけ?
0924デフォルトの名無しさん2008/10/06(月) 20:59:33
,
0925デフォルトの名無しさん2008/10/06(月) 21:02:37
>>924
わけわかめ
0926デフォルトの名無しさん2008/10/06(月) 21:03:07
すまん。わけわかった。
0927デフォルトの名無しさん2008/10/06(月) 21:35:26
,で空白がはいるのが嫌な場合はsys.stdout.write
2.6なら↓のような方法も
>>> from __future__ import print_function
>>> print("foo", end="")
0928デフォルトの名無しさん2008/10/06(月) 21:51:20
>>927
トンクス
3000への移行用にprint関数実装されてたのね。
0929デフォルトの名無しさん2008/10/06(月) 21:56:43
どうでも良いかも知れんけど、sys.stdout.writeは数値を出力できないな。
0930デフォルトの名無しさん2008/10/06(月) 21:56:58
__future__タンはひみつしゅぎすぎるとおもう
dirとかhelpとかしてもちっともこたえてくれないの
0931デフォルトの名無しさん2008/10/06(月) 22:01:07
str.formatが素敵すぎる件
0932デフォルトの名無しさん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:28
もういっそのことevalにしちゃえと思うけど
def format(s):
    return re.sub(r'{(.*?)}', lambda mo: str(eval(mo.group(1))), s)
そうしないのがPythonかな
0934デフォルトの名無しさん2008/10/06(月) 22:53:50
>>930
あれ以上何が必要なんだ?
0935デフォルトの名無しさん2008/10/07(火) 09:24:31
>929
意味がわカラン

sys.stdout.write("%f\n" % i) で何か問題が?
0936デフォルトの名無しさん2008/10/07(火) 15:16:22
ファイルに数値をバイナリで出力するにはどうすればよいですか
0937デフォルトの名無しさん2008/10/07(火) 15:26:22
>>936
import struct
0938デフォルトの名無しさん2008/10/07(火) 22:51:00
"name: %s, val: %s" % ['age', 123]
を
"name: %2$s, val: %1$s" % [123, 'age']
のように書くことはできますか。
つまり順番をかえたいということです。
0939デフォルトの名無しさん2008/10/07(火) 22:52:13
やってみればいいじゃない
0940デフォルトの名無しさん2008/10/07(火) 22:56:38
むりだからあきらめな
0941デフォルトの名無しさん2008/10/07(火) 23:05:23
2.6なら
'name: {1}, val: {0}'.format(123, 'age')
0942デフォルトの名無しさん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'
0943デフォルトの名無しさん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')
0944デフォルトの名無しさん2008/10/08(水) 00:22:07
元の質問には「逆順で書けばいいじゃん」とか
tmplist = ['age', 123]
"..." % (tmplist[1],tmplist[0])

で十分な気がするけどね…
0945デフォルトの名無しさん2008/10/08(水) 00:40:13
それだったらreversedや[::-1]でもいい
0946デフォルトの名無しさん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}" とすると
変更する必要のない他のカタログも変更しなきゃいけないので、
ちょっと採用しづらいです。
0947デフォルトの名無しさん2008/10/08(水) 01:11:45
まず背景から説明してくれたらよかったのだが
0948デフォルトの名無しさん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");
0949デフォルトの名無しさん2008/10/08(水) 01:38:58
>>948
__mod__ を定義することで、% 演算子をオーバーライドしているわけですか。
あたまいいですね。
ただ、今はメッセージははすべてテキストファイルに書いており、
それをパースしてカタログを作っているんですね。
だからテキストファイルに f("%s %s", [1, 0]) のようなコードを
単純に埋め込むわけにもいかないんですが、ここまでくれば
なんかもう一工夫でできそうな気がします。
どうもありがとうございました。
0950デフォルトの名無しさん2008/10/08(水) 02:27:19
shutilって、何かの略なの?
0951デフォルトの名無しさん2008/10/08(水) 02:37:39
>>949
何がしたいんだ?
f("%s %s", [1, 0])のように書きかえれない。
printを書きかえれない。

どこも変更できないと言ってるようにしか見えないがwww
0952デフォルトの名無しさん2008/10/08(水) 02:54:21
>950
SHell UTILityじゃないの
0953デフォルトの名無しさん2008/10/08(水) 06:31:18
python2.6用のpsycopg2ってまだ出てないのかな?
0954デフォルトの名無しさん2008/10/08(水) 06:36:25
>>952
なるほど!
0955デフォルトの名無しさん2008/10/08(水) 07:58:23
dbutilって、何かの略なの?
0956デフォルトの名無しさん2008/10/08(水) 08:13:00
RubyでのRakeのようなツールはpythonにありますか。
0957デフォルトの名無しさん2008/10/08(水) 08:51:59
>>956
scons
0958デフォルトの名無しさん2008/10/08(水) 11:06:54
>>956
setup.py
0959デフォルトの名無しさん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 でのやり方をご存知の方がいれば教えてください。
0960デフォルトの名無しさん2008/10/08(水) 20:45:40
pake
0961デフォルトの名無しさん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")
0962デフォルトの名無しさん2008/10/08(水) 21:18:01
まんどくせ
0963デフォルトの名無しさん2008/10/08(水) 22:29:54
bir()から、__doc__やメソッド除くにはどうしたらいいの?
0964デフォルトの名無しさん2008/10/08(水) 22:34:41
dir()のことなら
str.startswithとかcallableとか使って除外すればいいんじゃない
0965デフォルトの名無しさん2008/10/08(水) 23:17:14
inspect.getmembersを使うとか
0966デフォルトの名無しさん2008/10/08(水) 23:40:12
inspect.getmro
0967デフォルトの名無しさん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)
0968デフォルトの名無しさん2008/10/09(木) 10:27:41
pygameで作ったウィンドウがとてつもなく重いんだけどどうにかならないの?
0969デフォルトの名無しさん2008/10/09(木) 11:16:58
うちは平気
0970デフォルトの名無しさん2008/10/09(木) 11:24:59
pygame.time.wait(delay?)に小さい値を与えて
ビジーループしてるんじゃないかとエスパーしてみる
0971デフォルトの名無しさん2008/10/09(木) 13:23:00
>>961
ありがとうございます。
なんか、ぜんぜん直感的じゃないですね。
これならMakefileのほうがずっと簡単です。残念。
きっとSConsに組み込みのルールを使うだけなら簡単なんでしょうが、
自分でルールを定義することが多いと、あんまり嬉しくなさそうです。
0972デフォルトの名無しさん2008/10/09(木) 14:16:07
みんなありがとう。dir()でしたww
それか、アトリビュートを追加するときにリストを作るって手もあるかな……。
アトリビュート追加するときに呼び出されるメソッド調べてきます。
0973デフォルトの名無しさん2008/10/09(木) 14:25:52
__setattr__を使えば出来ましたが、それ以前に__dict__で大丈夫でした……。
お騒がせして申し訳ありませんでした。
0974デフォルトの名無しさん2008/10/09(木) 16:13:30
wxPythonの2.6用のバイナリ来た
http://wxpython.org/download.php
0975デフォルトの名無しさん2008/10/09(木) 17:23:37
今、pythonでwebフレームワーク作ってるよ。
まだO/Rマッパーとかなくてフレームワークと呼ぶには程遠いものだけど、
いつか完成したときには公開してみるよ。
0976デフォルトの名無しさん2008/10/09(木) 18:10:49
次スレ

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

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

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

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

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

ただし現状の完成度・ドキュメント状況とかを
加味するとまだ matplotlib の方が
現時点では良さげって感じかな?
0988デフォルトの名無しさん2008/10/10(金) 21:09:50
フレームワークには期待を寄せてみるが、既に優秀なものが揃ってるからな……。
何か特異点をつけないといけないだろうね。
0989デフォルトの名無しさん2008/10/10(金) 22:14:57
Rail on Rails
0990デフォルトの名無しさん2008/10/11(土) 05:45:20
RoRにしてもTurboGearsもDjangoもPylonsも
GUIで出来た設計ツールがないよね?
0991デフォルトの名無しさん2008/10/11(土) 06:37:21
なんでウェブアプリフレームワークに設計ツールが必要なんだか…
0992デフォルトの名無しさん2008/10/11(土) 07:58:47
WebよりIronPythonでSilverlightやろうぜ
0993デフォルトの名無しさん2008/10/11(土) 09:08:15
>990
IDLEがあるじゃないか。
09949752008/10/11(土) 10:00:58
やべえまじ俺天才かもしれんわ
0995デフォルトの名無しさん2008/10/11(土) 12:17:27
>989
やるなら Densha on Rails だろ
0996デフォルトの名無しさん2008/10/11(土) 14:23:49
python 3.0リリーススケジュール

Oct 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
>>991 >>993
馬鹿ばっかですね
0998デフォルトの名無しさん2008/10/11(土) 19:47:40
やべえまじ俺天才だわ
0999デフォルトの名無しさん2008/10/11(土) 19:48:10
しね
1000デフォルトの名無しさん2008/10/11(土) 19:48:52
1000ならお前がしぬ
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。