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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
スクリプト言語Pythonのスレッドです。

前スレ
http://pc2.2ch.net/test/read.cgi/tech/1020682294/

python.org
http://www.python.org/

日本Pythonユーザ会
http://www.python.jp/Zope/


Python 入門
http://www.oreilly.co.jp/BOOK/python/

Pythonプログラミング
http://www.oreilly.co.jp/BOOK/pythonp/
3?
4デフォルトの名無しさん:03/05/26 23:49
4ゲットだーヨ
 ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧ ∧   ダーヨ!!
  (´ー` )   ̄∨ ̄ ̄
  \ <    ∧∧     /|      (´´
    \.\_(´ー` )__/|' /    (´⌒(´
     ⊂ _⊂ ___`つつ≡(´⌒;;;≡≡≡≡
              (´⌒(´⌒(´⌒;;
      ズザネ━━━━━━━━━━━━━━━ヨッ


ライブラリリファレンス(原文)
http://www.python.org/doc/current/lib/lib.html
ライブラリリファレンス(和訳)
http://www.gembook.jp/html/tmp/doc_jp/lib/
Pythonドキュメント翻訳プロジェクト
http://pythonjp.sourceforge.jp/

Python日本語メーリングリスト
http://www.python.jp/mailman/listinfo/python-ml-jp
過去ログ
http://www.python.jp/pipermail/python-ml-jp/
過去ログ全文検索
http://www.python.jp/cgi-bin/namazu.cgi
7山崎渉:03/05/28 12:42
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
8デフォルトの名無しさん:03/05/28 17:31
これまたひどい爆撃だな・・・

ageとくぞ
オブジェクト指向言語としてRubyと対象領域がオーバーラップする PythonをRubyと比較すると:

Rubyは`end'を使った伝統的な構文。
オブジェクトの属性にアクセスするのに`self.'をいちいち付ける必要がない。
Rubyではすべてのデータ(Integer, String, Listなどなど)はクラスのインスタンス。
Rubyにはより優れた(あるいは真の)closureがある。
Rubyオブジェクトのインスタンス変数はデフォルトで外から参照できない。
Rubyはlong integerとsmall integerを自動的に相互変換する。
Rubyにはtupleがない。

Rubyの文は値を持つ。よって以下のように書ける:
def max(a,b)
 if a>b then a else b end
end

Rubyではより自然に演算子メソッドが定義できる。例:
def +(x)
 self.to_i + x
end
Rubyにはリファレンスカウントではない真のガーベージコレクタがある。よって:
リファレンスカウントでは生じるようなメモリリークが発生しない。
拡張ライブラリでINCREF,DECREFなど参照数管理が不要。
C/C++でRubyを拡張するときでも、容易にRubyクラスを定義できる。

Rubyにはブロックを使ったループ抽象がある。例:
10.times do
 ...
end

任意のイテレータを定義できる。

Rubyではブロックを単なるイテレータ以上に活用できる。例:
mutex.synchronize do
 .. critical process ..
end

Rubyにはsuperを使ったメソッド結合がある 。
RubyはしばしばPythonより高速。
> 伝統的な構文。

ダウト。
>>9-10
また古いネタを発掘して来たな。
13デフォルトの名無しさん:03/05/29 23:37
pythonでself.つけるのがめんどくさいからクラス使わないと言う
香具師が職場にいるのですが虚呂してよろしいか?
>>13
俺もめんどくさいと思うよ。
かといってクラスを使わないとは言わないけど。
なんとかならんもんかね。
>>13
漏れはめんどくさくない。むしろどの名前空間に属する名前かハッキリするから
self. があった方がいいと思う。self. が無いと訳分からん。
self. じゃなくて s. にすれば?
・・・って問題じゃないのか。
自作自演の臭いが…
18山ア渉(^^) :03/05/30 08:06
PHPなんて
pyでself.hoge.foobarのところを
$this->hoge->foobar
だよ。
最悪なり
>>18
> $this->hoge->foobar
面倒すぎ・・・。
Shiftはなるべく押したくないから。
>>18
なんで山崎渉・・・?
self に慣れたせいで、このまえ Java 使ったら必要ないのに this つかいまくりだった。
あれ?
配列って.sort()してから.reverse()しなきゃならんのか。
知らんかった・・・。

俺の3時間を返せぇぇぇええええ!!
あぁ、そういうことか・・・。
そういうことだったのか・・・。
そのままの意味か、reverse・・・。

俺が馬鹿だった・・・。
大馬鹿だ、つける薬もありゃしねぇ。
もういいや、もう・・・。全部・・・、いいや、もう。





 .('A`) ('A`) バルス
  ( )v( )
 ,,|| ,.|| ,,,,, ,,
死滅スレのようなスレタイ、、、
>>21
むしろ、
newを書かずにコンパイルエラー多発→小一時間悩む
をやらかしたさ、漏れは。
>>22-23
一体どうした?
27デフォルトの名無しさん:03/06/02 20:45
pygame(ttp://www.pygame.org/)と言うライブラリを使ったゲームがあります。
なかなか良さそうなのでpython+pygameで開発してみるのも良いかなと思っています。

質問なのですが、python+pygameで開発したものを単一の実行形式ファイル(exe)にする
ツール等は存在するのでしょうか? 対象OSはwindows98〜XPです。
ご存知の方、よろしくお願いいたします。
>>27
Pygame チュートリアル - Windows 実行可能ファイルを作る
http://www.unixuser.org/~euske/doc/pygame/Executable-j.html
http://www.pygame.org/docs/tut/Executable.html
2927:03/06/02 21:27
>>28
早速の回答ありがとうございました。調べてみます。
翻訳ページはありがたいです:-)
みんなはん、プロセス間排他制御はどうしてます?
win、unixどっちでも使える方法を朕に教えてたもれ。
31デフォルトの名無しさん:03/06/03 00:25
あげ忘れますた。
>>27
実行形式にはできても
単一実行形式は無理っぽいです
33山ア渉(^^) :03/06/03 02:12
ここはネタスレなので、ふつうの質問は本スレでお願いします。
3430:03/06/03 07:04
>>33
なにー!?ここはネタスレだっただとぉ!??
ムネオたんスレに移動してきます。
誘導ア、リガトウ御座いました。
本家のファイルからPyJUGにある日本語環境インストーラ相当にするには
どのパッチを当てればよいのでしょうか。検索キーワードかどこかポインタを
どなたか示していただけませんか?

py2exe日本語環境インストーラのものだと動作しないので
どこが悪いか調べたいのですが、ググっても中々見つからないです。。。
>>35
パッチは公開されてないかも。作者に直接聞くのが確実だと思われ。
>>35
その質問をPyJUGの中の人に聞かないのには、何か理由でもあるのですか?
2chでしか質問できない能無し君なんでしょ。PyJUG版インストールすれば
ちゃんと./jp/にパッチ入ってるだろーが。
ML で聞きにくいことも掲示板なら質問できるというよさもあるわけだが、、、
4035:03/06/04 01:33
レスどもです。

SJISパッチの解説と日本語環境インストーラ解説を勝手に解釈して
日本語環境インストーラは、本家ソース+SJISパッチ+αなのだと
思いこんでいました。すみません。expatやIDLEの日本語入力などの修正も
SJISパッチには含まれているのですね。ろくに調べもせず質問して
申し訳ないです。>>38さんのおっしゃることもごもっともです。。。。。。

能無し君ですみません。精進します。
SJISパッチを当てた2.2.2でpy2exeの最新版が動作しない問題も
私の勘違いなのかもしれません。もうちょっと調べてみます。
同意
age;
43デフォルトの名無しさん:03/06/07 11:53
ライブラリリファレンス(和訳).tgz
http://www.gembook.jp/html/tmp/doc_jp/lib_jp.current.tgz

これ404なんだけど、手に入れる場所他に在りませんか?
>>43
その質問をプロジェクトの中の人に聞かないのには、何か理由でもあるのですか?
>>43
その質問を翻訳プロジェクトの中の人に聞かないのには、何か理由でもあるのですか?
中の人などいない!
>>43 自分で作れよ。sf.jpは生きてるんだから。
48デフォルトの名無しさん:03/06/07 21:15
>>47
作れないから聞いてんだよ。

あほな僕のためにも翻訳者サンがんばってください。
このままじゃRubyに浮気しそうです。
>>48
浮気して良いよ。お互いのためだ。
>>48
人生の敗北者でも Ruby は難しいようです。
51デフォルトの名無しさん:03/06/07 22:28

あなたが探してるのってこれだよね?二日間無料だしね♪

http://alink3.uic.to/user/angeler.html
ほら、>>48。二日間無料だってよ。
そんなに>>48叩かなくても。
ちなみに gembook.jpの中の人は2ch見ないって言ってたから、
ここに書いても無駄だよ。
>>53
> ちなみに gembook.jpの中の人は2ch見ないって言ってたから、
> ここに書いても無駄だよ。

> 翻訳状況表を見ると、昨年中に予約されてまだ翻訳が上がっていないファイルが
> 結構見受けられます。
>
>       そ ろ そ ろ 翻 訳 し ま し ょ う
こ の 表 現 は 2 c h ネ ラ ー で は ?
2chみてますぅ、っていうのが恥ずかしいだけでは?
Eiffel のスレッドはどうやってたてたのだろう?
Eiffel?
Tkinterについての質問ですけど

txtBox = Text(self, width=60, height=10).pack(side=TOP, padx=3, pady=3)
txtBox.insert(END, "test")

ってやるとエラーになるんですけど、何処が間違ってんの?
(環境Win98, python222)
エラーメッセージも書かないお前が間違ってる。
>>60

pack() は値を返さないので、txtBox の値が None になってしまいます。
None は insert メソッドを持たないので AttributeError が発生すると
思われます。
Fix: 次のように、コードを分割してください。

txtBox = Text(self, width=60, height=10)
txtBox.pack(side=TOP, padx=3, pady=3)
txtBox.insert(END, "test")
別の thread で `gi_` プレフィックスについて質問している人がいましたが、
Pythonのソースコード (Python/ceval.c) に次のコメントがあります:

"""
/* The gi_ prefix is intended to remind of generator-iterator. */
"""
(/* gi_ プレフィックスは generator-iterator を想起させることを
意図しています。 */)

generator-iterator とは Pythonのgenerator のことです。
PEP 255 <http://www.python.org/peps/pep-0255.html> で
そのように呼ばれています。

回答が得られないからといって spam するのは効果がないし、
迷惑なので、しないでください。
>>63
ジサクジエンの予感
>>63
説明ありがとう。

> 回答が得られないからといって spam するのは効果がないし、
> 迷惑なので、しないでください。

自分はあの質問した人間だけど、質問に関しては一回しか書き込んでないよ。
スレの最後のほうの書き込みは全部別の誰かによるコピペですよ。
>>63
知っててはぐらかしてた香具師ばっかりなヨカーン...
6743:03/06/09 00:26
世話になりました
winでのodbcモジュールについて質問でしる。

1. クエリー結果をディクショナリ形式でfetchできないのか。
2. プレースホルダは利用できないのか。

2に関してはmxODBCでは対応してるみたいだけどodbcではどうなんだろう。

ライブラリがバイナリなんでソースを追えないっす。
dir関数でメソッド調べてみてもそれらしいものを見つけきらんかった。
>>62
どもありがとう。
しかしTkinterは奥が深い……のか?
とりあえずややこしい…
http://ll.jus.or.jp/
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/37775
Welcome to LL Saturday (Lightweight Language Saturday)

Python の PR になればいいのだが、、、
パネラーのひとはがんばってください。
>>70

司会が法林か。自分の存在感出し過ぎるんだよな。
自分では司会うまいと思ってそうなんだけど。
>>70
なんでリンクがruby-listなんだ?
参加費2000円で Tシャツって無駄だよなあ…
去年 LL2 にいったときは、Microsoft なんかが
スポンサーだったんで参加費一切タダなうえにメシがでたよ。
また重複スレが…
ルビキチの仕業か?
妄想だけど。
Ruby iz nanbar wan!
>>75
これも妄想?
>>70
渋谷か。。近いから逝ってみようかな。
>>68
【試験構成】 WinXP, Python2.3b1, win32all bulid 153, MS Access 2000.
【コード】
import dbi, odbc

DSN = "Item1"

def dictMakerMaker(descr):
    def dictMaker(row):
        d = {}
        i = 0
        for column in row:
            d[descr[i][0]] = column
            i += 1
        return d
    return dictMaker

conn = odbc.odbc(DSN)
cur = conn.cursor()
cur.execute("select * from Item")
dictMaker = dictMakerMaker(cur.description)

for row in cur.fetchall():
    d = dictMaker(row)
    for k in d.keys():
        print k, "=", d[k]
    print

cur.close()
conn.close()
79デフォルトの名無しさん:03/06/10 23:10
>>68
プレースホルダとは、以下のようなものですか? odbc moduleで使えています。
cur.execute("select * from Item where color = ?", ["pink"])
80萬田銀二郎:03/06/10 23:12
socketのtimeoutってpythonではどうやるんでっか?
見つかりそうで見つからなかったんで、教えて北朝鮮
>>80
selectモジュールの即時調査を韓国する。
>>80
2.3 を使う。
>>78
ベリーベリーサンクスコ
なけりゃ作れということですね。
わざわざ作ってもらってすみません。いただきます。
今、Zopeってるんで後で試します。

>>79
ああ、できますか。
これも後で試してみます。

両方ともありがとうございますた。
8480:03/06/11 22:44
>>81
あの、ふざけてゴメンナサイ。
selectモジュールについて調べてみたんですけど、
使い方がさっぱり解りません。

良いsocketのtimeoutの方法が乗っているページってないですか?
2日がんばってぐぐっても見つからなかったんでお願いしちゃいます。
8581:03/06/11 23:15
>>84
んじゃ漏れもまじめに。クライアント側の簡単なところだけ書いとく。

1. ソケットを作ってブロックしないように設定する。
 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 sock.setblocking(0)

2. サーバに接続する。
 code = sock.connect_ex(address)
接続できなければ code にエラーコードが返る。connect_ex() を繰り返し
呼ぶ必要がある場合がある。

3. データを送信する。
 r, w, e = select.select([], [sock], [], 0)
 if not w:
   送信不可
 sock.send(data)
まず select() でソケットへデータを送信できる状態になっているか調べる。
もし送信可能なら send() する。

4. データを受信する。
 r, w, e = select.select([sock], [], [], 0)
 if not r:
   受信不可
 data = sock.recv()
まず select() でソケットからデータを受信できる状態になっているか調べる。
もし受信可能なら send() する。

socket や select は Unix の伝統的な API で、Python でもほぼ同じ
要領で使える。むしろ Unix のネットワークプログラミグについて調べる方が
よい情報を得られそうな気がする。
8681:03/06/11 23:26
>>85
ちょっと補足。select() の第4引数がタイムアウトするまでの秒数です。
上の例はソケットに対するいずれの操作もブロックしないようにすることを
意図したコードになってます。
>>84
> 良いsocketのtimeoutの方法が乗っているページってないですか?

>>85 の説明の補完として、`select.select()` 関数について二つ:

* Socket Programming HOWTO (Pythonのhow-to)
http://www.amk.ca/python/howto/sockets/

* The Standard Python Library (The effbot.org edition) , Chap. 5
http://effbot.org/books/librarybook/network-protocols.pdf

既に >>82 で示唆されているように、Python 2.3 の socket object は
`settimeout()`メソッドを直接サポートしています。現在 2.3はbetaです。

http://www.python.org/dev/doc/devel/lib/socket-objects.html

2.3では socket module レベルの`setdefaulttimeout()` 関数もあります。

http://www.python.org/dev/doc/devel/lib/module-socket.html

Python 2.2 以前については、 `timeoutsocket` という
やや有名なサードパーティモジュール があります。
ソースの中に docがあるから使い方はすぐ判ると思われます。

http://www.timo-tasi.org/python/timeoutsocket.py

さらに、別の方針としては、`asyncore`標準モジュールとか、
Twisted Matrix <http://www.twistedmatrix.com/> といった、
非同期ネットワークプログラミング・フレームワークの
利用が考えられます。
>>87
Twisted Matrix Lab ちゅうのが開発グループの名前で、
フレームワークの名前は Twisted や。
8980:03/06/12 19:10
>>85-87
どうも有り難うございまっす!!
これは45年ぐらいの感謝モンです。

ネットワークプログラミングは楽しいですね!!
socketで、一から作るのとかw

これを期にurllibモジュールのurlopenにtimeout付けてみようかな…
とか、調子に乗ってみるテスト
UDPって使えるの?
91デフォルトの名無しさん:03/06/13 22:10
>>90
俺のマシンでは使えるよ。
>>91
使えないマシンなんてあるのか?
>>92
pythonは結構たくさんのプラットフォームにportされて
いますから、IPが使えない場合もあるかもしれませんね。
例えば Pippy (PalmOSへのport) は...?
Python2.2.3、Snack2.2を入れました。
サンプルを使ったところ、Wavファイルは再生できるのですが
MP3ファイルを開こうとするとアプリケーションエラーになり落ちてしまいます。
再生する方法を教えてください。

OSはWindows2000です。
wxpython(unicodeビルド)を使っていて、テキストコントロールをフォームに貼り付けて
LoadFile()で読み込んでも文字化けします。逆にテキストコントロールに入力して
SaveFile()すると正常に保存されます。unicode周りだと思うのですがどうしてですか?
win2000上の
ActivePython2.2.2 + 日本語コーデック + wxpython2.4(python2.2用、Unicodeビルド)
site.pyは何も手を入れていませんが、site-packagesフォルダのsitecustomize.pyは
import sys
sys.setdefaultencoding("utf-8")
としてあります。エンコーディング周りはさっぱりわかりません。
age
>>95
真っ当な方法は知らないのだけれど、wxTextCtrl::SetValue()で
unicode型のデータを与えると、それらしく表示されますが。
(WinXP, Python2.3b1, wxPython2.4.0.7unicode)
-------------------------------------
# -*- encoding: mbcs -*-
# テキストコントロールの動作確認
from wxPython.wx import *
DEFAULT_ID = -1

class App(wxApp):
    def OnInit(self):
        self.frame = wxFrame(None, DEFAULT_ID, "test frame",
                             size=wxSize(400, 300))
        self.frame.Show(True)
        self.SetTopWindow(self.frame)

        self.txt = wxTextCtrl(self.frame, DEFAULT_ID,
                              size=wxSize(390, 300), style=wxTE_MULTILINE)
        self.txt.Show(True)
        self.txt.SetValue(open(r"wx02.py").read().decode("mbcs"))
        return True

app = App()
app.MainLoop()
9895:03/06/17 23:30
>>97
できますた。真っ当にopenして読むことにします。

>>94
95に書いてある環境でやってみました。mp3落ちますね。tkinterからやってもダメでした
libsnack.dllを自分でコンパイルする必要があるかも。
aiff,auファイルは聞くことができました。
oggエクステンションをいれてoggファイルを聞こうとしたのですが、読み込みはできますが
再生はザーとノイズが流れただけですた。
9994:03/06/17 23:34
>>98
どうもです
libsnack.dllですか・・・
VC++6.0しか持ってないのですがコンパイルできるかな。
探してやってみます
>>> type(100)
<type 'int'>
>>>
>>95
それと同一に見えるBugが報告されていますが、進捗無しのようです。
https://sourceforge.net/tracker/?func=detail&atid=109863&aid=680272&group_id=9863
PyQtのQtimerと同じような機能は、Python標準のモジュールにありますか?
>>102
Tkinterのafterコマンドのコト?
http://paison.hp.infoseek.co.jp/paison/tkinter/pytk8.html#after

timeモジュール調べてみるとか。
>>102 threading.Timer
105102:03/06/19 23:37
>>103-104
ありがとうございました。
timeモジュールに含まれてると思ってますた。
"""tokei"""
import sys
import time
from threading import Timer

def display_time():
    sys.stdout.write(time.strftime("\r%b %d %Y %X", time.localtime()))
    sys.stdout.flush()
    Timer(1.0, display_time).start()

display_time()
最近pythonってネタないなあ。なんかない?
cherrypyやwebwareなどのzope以外のweb開発ツールはどうでしょうか?

zopeスレで聞きたいけどあっちそんな雰囲気じゃないし・・・
109sage:03/06/21 22:41
sslを利用したログイン認証をpythonから実行して、返されるURLを得ることはできますか?
教えてください。
>>109
「sslを利用したログイン認証」って何? 認証されるとURLが返されるの?
111109:03/06/22 06:42
たとえばヤフーメールとかです。
https://login.yahoo.co.jp/
ログイン後のURLを知りたいのです。
>>107
> 最近pythonってネタないなあ。なんかない?

どうゆうのをネタといってるの?
pykf の Windows 用のバイナリはどこかにありますか?
PyJUG で公開されている Python にはデフォルトでついているようですが、
標準 Python + pykf という組み合わせで使ってみたいもので。
>>111
例えば http://mail.yahoo.co.jp/ から「標準」モードでログインすると
http://jp.f21.mail.yahoo.co.jp/ym/login?.rand=0p98ml1v49i6o
みたいなアドレスに飛びますね。
(SSLを使う「セキュア」モードの方は http://my.yahoo.co.jp/ という固定アドレスに
飛ぶみたいだから、SSLではない「標準」モードの方の話をしていると仮定します。)

Python で上記のログイン処理を書くには結構たくさんのことをしなければなりません。
(1) http://mail.yahoo.co.jp/ にアクセスして返される HTML ファイルを解析して
フォームの構造 (hidden input のデフォルト値など) を求める。
(2) 同時に返されるクッキーを次の HTTP アクセス時に使うようにする。
(3) ユーザIDやパスワードを設定したフォームの内容を (1) で求めたフォームの
action 属性の値に示された URL に POST する。
(4) 認証されれば求める URL に HTTP リダイレクトされる (‥‥ハズ。実際に試した
ワケではないのでここの部分だけは想像)。

HTTP と HTML の詳細についてかなりの知識がないと正しく機能するプログラムを
書くのは不可能だと思います。しかし、実際にこのプログラムの実装に取り組めば
HTTP と HTML についての理解度は格段にアップすること請け合いです。
>>111
1) ログインページの <form ...> を解析して 「ログイン」ボタンをsubmitしたときに
   どういうデータを送信するべきなのかを調べる。
2) http post は urllib.urlopen(url, data) で実現できる。二番目の引数があれば
   postメソッドになる。
3) urlopenの二番目の引数は、 'urlencode({k1: v1, k2: v2, ...})' で作れる。
4) 'https://'もurllibはサポートしている。PythonがSSLを使えるようになっていれば。
   SSLが使えるかどうかは 'import _ssl' で判別できる。
5) これ以後の処理はserver側の動作によって違うかも知れない。
   とりあえずここらへんまでやってみて。
>>107
ならば俺がネタを提供。

>>>arr1 = ["hoge1","hoge2","hoge3","hoge4"]
>>>arr2 = ["hoge3","hoge4","hoge5","hoge6"]

>>>print xor(arr1, arr2)
["hoge1","hoge2","hoge5","hoge6"]

ってなかんじの関数ください。
とか。
>>113
日本語コーデック入れるとpykf.pydっていうのが入るけど?

>>111
よくしりませんが、
http://pyopenssl.sourceforge.net/

pyOpenSSL - Python interface to the OpenSSL library
というのがあります。
>>106
いったいどんな関数なのか教えれ。
119114:03/06/22 13:59
>>114
自己レス。ブラウザで普通にログインして HTTP のリクエストとレスポンスを
覗いてみました。ユーザIDとパスワードの送信後に3回のリダイレクトが起こり、
その間にセッションIDと思しきクッキーが設定されていました。

urllib の HTTP リダイレクトの処理にはクッキー関連の処理は含まれていないと
思うので、FancyURLopener クラスを継承してクッキーを自動的に送り返すコードを
追加しなければならないのではないかと思います。

クッキーを永続的に管理したり、アクセス先 URL に送るべきクッキーを検索したり
といった処理もまた Python の標準ライブラリには無いと思いますので、なかなか
大変です。
>>119
Cookie.py
121114:03/06/22 14:16
>>120
Cookie.py には「クッキーを永続的に管理したり、アクセス先 URL に送るべきクッキーを検索したり
といった処理」は含まれていないと思うのですが私の勘違いでしょうか。
>>116 python 2.3のsetsモジュールを利用して:
>>> from sets import Set
>>> arr1 = Set([1,2,3,4])
>>> arr2 = Set([3,4,5,6])
>>> arr1.symmetric_difference(arr2)
Set([1, 2, 5, 6])
>>>
>>118
現在の時刻を表示して、約一秒後に自分自身を実行するようにスケジュールする。
>>117
> 日本語コーデック入れるとpykf.pydっていうのが入るけど?
2.3 でつかいたい場合は如何すればいいのでしょうか?

125109:03/06/22 15:08
>>114
>>115
レスどうもです。
早速試してみようと思いますが、難しそうですね。
126116:03/06/22 15:11
>>122
いやここはアルゴリズム考えて欲しい。
俺の2gの脳では全然わからん…

つーか、ネタじゃないね。ゴメン
>>126

def xor(set1, set2):
  return filter(lambda x, y=set2: x not in y, set1) + \
      filter(lambda x, y=set1: x not in y, set2)

一応 nested scope なしで動くように書いてみた。

def xor(set1, set2):
  return [x for x in set1 if x not in set2] + \
      [x for x in set2 if x not in set1]

list comprehensions で書き直してみた。
>>127-128
レスありがとん
すごいですねぇ。恥ずかしながら

>  return [x for x in set1 if x not in set2] + \

こんなテクはじめてみまた。
>>124
http://www.python.jp/pipermail/python-ml-jp/2003-May/002280.html
ここ読むと、

--------------------------------------------------------------
たぶん JapaneseCodecs 1.4.9 が大体そのまま使えると思います。ただ
し,Python 2.3 になって codecs の細部の要件が少し変わっています。
それが問題になる場合,またはコード改修の容易性などを求める場合は,
Python 2.3 との適合性を念頭においた ja-codecs-0.6.tar.bz2 を
fj.sources のアーカイブか,または

http://www.python.org/sf/666484

等から入手して利用できます。これは (速度以外は) 日本語 codec の
決定版になることを目指して自分が年末年始を利用して書いたものです。
目的が果たされたかどうかはともかく,桁違いに小型で,jython でも
動くほどポータブルです。(今のところ不具合もなく広範なバージョン
の Python で使えているので,いつまでたっても 0.6 版のままです)

--------------------------------------------------------
とある。
131デフォルトの名無しさん:03/06/22 22:51

>>> age()

>>> 131.warata()
133デフォルトの名無しさん:03/06/23 19:41
python初心者なんですが
質問していいですか?

C言語のgetch()みたいな
(確か、そんなだったと思う)
ユーザーのキー入力を待って
入力があると変数に入れてくれる
命令ってあるんでしょうか?
getch()あるよ。
import curses
ただしwindows環境にはない。
135133:03/06/23 21:47
なるほど、ありがとうございます。
cursesモジュールをインポートするんですね。
やってみます。
>>133
getch
とは挙動が違うけど、 raw_input というのもある。
参考までに。
Winでは、msvcrtは標準モジュールに getch() があります。

C:\>\python23\python
Python 2.3b1 (#40, Apr 25 2003, 19:06:24) [MSC v.1200 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import msvcrt
>>> msvcrt.getch()
'a'
>>>
138133:03/06/24 10:53
>>136
>>137
どうもありがとう。お勉強になります。
オライリーの初めてのパイソンに
このへんのことが載ってなかったもんで。
139109:03/06/24 15:45
使用しているpythonがSSLをサポートされてないのでつまずいています。
Python 2.2.3 日本語環境用インストーラ(Win32)
を使ってます。
SSLがサポートされているかを確認するのは
import socket
socket.ssl()
でいいんですよね?
私の場合は
'module' object has no attribute 'ssl'
とでます。
pyOpenSSLというのをインストールしてみましたがうまい事いきません。
お願いします。
>>139
http://pypgsql.sourceforge.net/misc/python-ssl.html
の socket.pyd はうごくっぽい。
SuSELinux8.2で2.2.3をビルドしてインストールしましたが
対話モードでコマンドの補完や履歴が効きません。
tab を押すと \t が挿入されますし「ctrl + p」でも ^P となります。
どうしたら解決できるでしょう?
ディストロ配布の2.2.2だと大丈夫です。
>>141
> ディストロ配布
日本語しゃべれ
>>142
オマエモナー
ディストロ=配布者だから合ってると重う
File "hoge.py", line 71
if __name__ == '__main__':
^
SyntaxError: invalid syntax

このようなエラーが出て動きません。何ででしょうか?
>>146 インデントがなってないから。
>>146
65-70行目あたりも見てみたいな、、、
65-70 行目を予想するスレになりました。
漏れは、括弧の閉じ忘れに、100インデント。
150146:03/06/26 20:42
>>147-149
上見たら、括弧の閉じ忘れでした。くだらない質問してスマン
>>149 おめ。ぴちょんマスターですね。
>>145
サンクューです。
kitty walk はいったん開発終了なんですか?
154onefifty ◆DH9qKmT7Es :03/06/27 23:55
>>153
むしろ継続して、デザパタの本とか読んでるんですけど、まだ動かないもので。
本日のスクリーンショト http://kittywalk.sourceforge.jp/kittywalkqt.png
155デフォルトの名無しさん:03/06/28 18:31
今、パイソンの勉強のために
python版NetHackを作ろうとしています。
(ぜんぜん進んでいませんが。)
画面を更新する方法まで、なんとか
解決しそうですが、速度が遅そうです。
がんばります。
を。qtってことはzaurusでもうごきそうですね。
ちょっとまたれい。
qtってWinで動くんですか?
動くよ
>>157
たしか、WindowsのNC版は
2.3までしか出てなかった気がするけどどうなんだろ。
>>155
ガンガレ
162onefifty ◆DH9qKmT7Es :03/06/29 11:23
>>159
> たしか、WindowsのNC版は
> 2.3までしか出てなかった気がするけどどうなんだろ
ですね。 PyQt のバージョンは 3.6 ですけれど、
Qtが2.3です。
NC版って何?
NC: 数値制御
Non-Commercial の(ry
無料のWin版のQtは、Qt Non-Commercial License で配布されてる。

From: Barry Warsaw
Subject: RELEASED: Python 2.3b2
Date: 29 Jun 2003 21:57:43 -0400

http://mail.python.org/pipermail/python-announce-list/2003-June/002373.html

Python 2.3b2 は Python 2.3 の第二のベータ版です。最初のベータ版以来たく
さんの修正と若干の新しい「機能」が入っています。我々の目標は Python 2.3
の最終版を8月上旬までにリリースすることです。よって我々はこのベータ版を
大いにテストすることを奨励します。ベータ1以来の要点は以下の通りです:

・IDLEfork が取り込まれ、古い IDLE に取って代わりました。
・Windows 用インストーラは Tcl/Tk 8.4.3 と共に出荷されています。
・list.index() にオプションの引数 start および end が増えました。
・C言語のみの新しい API 関数 PyThreadState_SetAsyncExc()。スレッドに例外を
 送ることにより割込みをかけるために使われます。
・環境変数 PYTHONINSPECT を設定するとプログラムを抜けるときに対話プロンプトに
 入ることができます。
・doctest のたくさんの新しい改良。単位テストに基づいて doctest を書く機能を
 含みます。
・循環ごみ回収に関わる新しい型をC言語で書くための新しい改良されたドキュメント。

既知のバグが少なくとも一つあります。test_logging と test_bsddb3 の間の
特定の相互作用によるクラッシュを Windows と Linux の両方で確認しています。
これは次のリリースで修正するつもりです。

他の要点については http://www.python.org/2.3/highlights.html を参照して下さい。

Python 2.2 以来のその他の新要素:

・多くの新しい、もしくは改良されたライブラリモジュール。例えば、sets,
 heapq, datetime, textwrap, optparse, logging, bsddb, bz2, tarfile,
 ossaudiodev、そして高く評価されている Mersenne Twister アルゴリズムに
 基づく新しい乱数生成器 (2**19937-1 の周期!)。
・新しい組込み関数 enumerate(): (添字, 要素) の対を生成するジェネレータです。
・拡張されたスライス。例えば "hello"[::-1] は "olleh" を返します。
・ファイル読み込みのための汎用改行モード (\r, \n, および \r\n をすべて
 \n に変換します)。
・ソースコードエンコーディング宣言。(PEP 263)
・zip ファイルからの import。(PEP 273 および PEP 302)
・整数の「符合なし」演算に対して FutureWarning を発行。
・より高速で安定 (stable) した list.sort()。
・Windows 上の Unicode ファイル名。
・Karatsuba アルゴリズムによる多精度整数の乗算 (実行速度が O(N**2) から
 O(N**1.58) に向上)。

もしあなたが大切な Python アプリケーションを持っているなら、我々はあなた
にベータ版を試用して見つかった非互換性もしくは他の問題点を報告することを
強く勧めます。そうすればそれらの問題を最終版のリリース前に修正することが
できるからです。問題を報告するには SourceForge のバグトラッカーを使って
下さい。

http://sourceforge.net/tracker/?group_id=5470&atid=105470

それでは。
-Barry
Python2.2.3jp で py2exe を使ってみたんですけど,Tkinter とか os モジュール
を使うとエンコーディング周りのエラーがでて,動かないバイナリができてしまい
ます.もちろん,ドキュメントにあったとおり,
> python setup.py py2exe -p encodings,japanese
として,ディレクトリ内に __japanese_codecs.pyd もあるんですが…私が悪いん
でしょうか?
>166-167
神キター!!!
>>168
エラーメッセージを晒せや。
2.3 もそろそろ日本語対応版がほしいとおもうのだけど、、、

From: Guido van Rossum
To: Barry Warsaw
Subject: Re: RELEASED: Python 2.3b2
Date: Mon, 30 Jun 2003 09:58:32 -0400

http://mail.python.org/pipermail/python-dev/2003-June/036630.html

ありがとう、Barry。日曜日なのにリリースしてくれたね。そのとき私はまだ
ベルギーでの1週間の食事とビールとハックの埋め合わせをしている最中だった。
また、Tim, Fred, Jeremy, Neil、そしてリリースを手伝ってくれた他のすべて
の人たちにも感謝するよ。

要点のリストを見渡してみると 2.3 が安定性に焦点を宛てていることは明らか
だね。今から 2.3 の最終リリースまで、トランクへのチェックインをバグ修正
のみに限ることができればと思う。

ところで、どうして急に 2.3 のスケジュールを早めたくなったかを求めたか説
明しなければならないね。

EuroPython で私は Macpython の主要開発者たちに次のようなエキサイティング
なニュースをもたらされたんだ。Apple の Mac OSX の次のリリース (コード名
Panther) で Python を利用する、そして Apple はそのリリースに Python 2.3
を含めることを計画している、と言うんだ。(Apple は既に開発者用ツールに
Python 2.2 を入れて Mac OSX を出荷しているけど、Panther ではある非常に
重要な機能に実際に Python が使われるんだ。)

8月1日がこのことを可能にするための Python 2.3 最終版のリリース日である、
というのが Apple のスケジュールなんだ。このスケジュールを守るためのすべての
皆さんの協力に感謝します!

--Guidoパパ
林檎を食らう蛇。
この蛇は無類の林檎好き。
がっつく、がっつく。
このスレでは DB 関連があまり話題になってないようだけど、、、
zope も。
171==174か? 独り言はヨソでやれ。
ここは重複スレッドです。

本スレ↓
【インデント】ぱいそんぱいそん!3【ムネオたん】
http://pc2.2ch.net/test/read.cgi/tech/1036811974/

重複スレッドは話が分散してしまって百害あって一利なしです。
これ以降、このスレには書き込まないようにお願いします。
>>174
DBならこっち。
http://pc2.2ch.net/db/
>>176
ウザイ
179157:03/07/01 22:05
Win98でpython222, Qt2.3, PyQt3.6な感じの環境で、
kittywalk0.2を実行してみたところ、

Traceback (most recent call last):
File "kittywalk.py", line 75, in ?
main()
File "kittywalk.py", line 70, in main
install.main()
File "D:\prog\pypath\kittywalk-0.2\install.py", line 22, in main
config.DATAPATHBASE)
File "D:\PROG\PYTHON22\lib\shutil.py", line 91, in copytree
names = os.listdir(src)
WindowsError: [Errno 3] 指定されたパスが見つかりません。: 'D:\\prog\\pypath\\kit
tywalk-0.2\\default.kittywalk/*.*'

こんなエラーメッセージがでました。
関係ないですけどqtはPYTHONPATHの通っているファイルにインストール
しなければいけませんね。これで時間を費やしてしまいましたが
普通に考えればわかることですね…
180山ア渉(^^) :03/07/02 00:43
python始めようかと思ったけど,つぶしがきくのでコーヒーの方にしました。
でもInstant Pythonよんだらやっぱりpythonがやりたくなった。;

( ´_ゝ`)フーン
>>179
ミスです。申し訳ありません。
http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/kittywalk/kittywalk/default.kittywalk/default.kittywalk.tar.gz?tarball=1
↑ これを解凍して、kittywalk フォルダ直下に置いてください。
183168:03/07/02 11:58
>>170 コンパイルしたプログラムは
import os

def main():
os.makedirs("hoge/samples")

if __name__ == "__main__":
main()
です.もちろん,スクリプトを実行する分には何の問題もありません.
setup.py を書いて,
python.exe setup.py py2exe -p encodings,japanese
でコンパイルしました.実行時のエラーは
....
File "<string>", line 6, in main
File "os.pyc", line 199, in makedirs
File "ntmbcspath.pyc", line 119, in split
LookupError: no codec search functions registered: can't find encoding
と表示されます.人生のリアル敗北者には使えないんでしょうか?
KittyWalk - 2ch BBS Browser http://kittywalk.sourceforge.jp/
Microsoft Windows 用の実行ファイルです。
  1. kittywalk-0.2 をダウンロードして解凍
  2. kittywalk フォルダ内の 「kittywalk.exe」 をダブルクリックして起動

私のWindows98で窓すら出ませんが。
185157:03/07/02 20:22
>>182
なぜか、エラーメッセージが

File .....
....省略
WindowsError: [Errno 3] 指定されたパスが見つかりません。: 'D:\\prog\\pypath\\kit
tywalk-0.2\\kittywalk/*.*'

と変わっていたのでURLのそのファイル名をkittywalkに変えて、
kittywalk.pyを実行してみたところ

Traceback (most recent call last):
File "kittywalk.py", line 75, in ?
main()
File "kittywalk.py", line 70, in main
install.main()
File "install.py", line 22, in main
config.DATAPATHBASE)
File "D:\PROG\PYTHON22\lib\shutil.py", line 92, in copytree
os.mkdir(dst)
OSError: [Errno 2] No such file or directory: '~/.kittywalk'

こんなエラーがでますた。

またまた関係ないですけど、前PythonでMSNメッセンジャーの
クライアント作ってたんです。チャットまでできるようになったのに
GUIの写画で挫折しちゃいました。ホント敗北社…
186157:03/07/02 20:34
ごめんなさい。エラーメッセージが変わるわけないですね。。。
自分で勝手にいじってました。

で、すべて削除してもう一度入れ直したんですが
>>185のようなエラーメッセージがでできました。
187onefifty ◆DH9qKmT7Es :03/07/02 21:58
>>184, >>185
報告ありがとうございます。きちんと原因を調べてみます。
Windowsで主に開発しております。
データベースからのクエリー結果を固定ファイル名のcsvに吐き出すプログラムを作成しますたが、そのcsvファイルを別のアプリケーション(たとえばExcelとかエクセルとかxlsとか)で開いていると、ロックがかかってしまいます。
それはそれでいいのですが、ファイルロック状況はWindowsではどうやてすらべるのでせうか。
例えば以下のばやい単純にUNIXにおけるパーミッションをチェックするだけのようです。

#!/usr/bin/env python

import os

fullpath="C:\\tmp\\hoge.csv"
print os.access(fullpath, os.W_OK)

つまり、hoge.csvのwフラグがたっている場合、開いていようがいまいが結果は1なんです。
そうじゃなくて書き込めない状態の時を知りたいのです。
で、喘いだあげく

fh = open(fullpath,"wb")

で、書き込みロックがかかっている場合、IOErrorが発生しることがわかりますた。
この例外を利用する手があることはわかりますたが、IOErrorそのものがこの場合に限定された例外ではないのでなんかすっくりきません。
Windowsに特化したファイル状態のチェック方法ってありますでしょうか。
>>183
> File "ntmbcspath.pyc", line 119, in split
> LookupError: no codec search functions registered: can't find encoding

python setup.py py2exe --force-imports encodings.mbcs
オプションもつけてみるとか。試してないけど。
190onefifty ◆DH9qKmT7Es :03/07/03 17:30
>>185
環境変数HOMEが定義されていない場合、"~"が展開されないのに、
そのまま "~/.kittywalk" をパス名にしていたのが原因だと思われ。
修正して、スナップショット ビルドを用意しました。起動できるかも知れません。
http://kittywalk.sourceforge.jp/snapshot/
191183:03/07/03 17:55
>>189 バッチリでした!! force-imports encodings までは自分でも試したのですが,
...
File "ntmbcspath.pyc", line 119, in split
LookupError: unknown encoding: mbcs
となり,mbcs の取り込みかたがわからなくて奥歯にものがはさまったような感じ
だったところだったので激しく感動しました.encodings.mbcs と指定するんですか.
ありがとうございました.
Java の Thread.sleep は Python でいえばなに?
このスレタイのほうを残したの?
194157:03/07/03 21:16
>>190
みごと動きました!!
すごいです!
ダウンロード中でもGUIがフリーズしませんね
>>192
time.sleep
でも、秒単位だから精度が。。。
time.sleep(0.01)
197195:03/07/04 02:32
あぅ、精度が悪いみたいに書いてごめん。ぴちょんくん。
l = [[1,2], [3],[4,5,6]]
のような list の list があったときに、これから
[1,2,3,4,5,6]
とひとつにつなげる便利な方法はありますか?
199デフォルトの名無しさん:03/07/04 16:41
>>198
こういうダサイ解法を聞いているわけじゃない?

out = []
for x in l:
  out += x
print out
200_:03/07/04 16:43
>>199
それじゃ三重以上ネストしてるとうまくいかないが。
多重にネストしててもよいようにするなら再帰かな。

from types import ListType, TupleType

def flatten(sequence):
  buffer = []
  for item in sequence:
    if type(item) in [ListType, TupleType]:
      buffer.extend(flatten(item))
    else:
      buffer.append(item)
  return buffer

print flatten([[1, 2], [3], [4, 5 ,6]])
print flatten([(1, [2]), [[3], ([4, 5], 6)]])
203_:03/07/04 17:47
int オブジェクトにはstrメソッドはないの?
>>199
自分がやったのは
buff = []
for l in lst:buff.extend(l)
何ですけど、一発でできる方法はないのかと。

>>202
flatten を使うテクニックはどこかで見た気がします。
URL は失念した。
205202:03/07/04 19:02
>>204
> flatten を使うテクニックはどこかで見た気がします。

関数名として適当に選んだつもりだったんだけど、
一般的に「flatten」と呼ばれるテクニックがあるの?
206202:03/07/04 19:12
あと、こんなのは?

>>> reduce(lambda x, y: x + y, [[1, 2], [3], [4, 5, 6]])
[1, 2, 3, 4, 5, 6]
>>205
flatten って手法じゃなくて、flatten と名づけられがちな関数なんだと思う。
Cookbook もサンプルがあるし、他にもいろいろあって、
たいてい flatten って名づけてるんじゃないかな。
PyQtをインストールしようとしてます。
がSIPなどのビルドbuild.pyで-lで指定するものはqt, qt-mt, qt-mtedu, qte のどれが適当なのでしょうか?
>>208
SIPなしでは動きませんか?
210208:03/07/06 11:31
ビルドできました。
build.py -l qt です。

python 2.2.3
qscintilla 1.53
sip 3.6

>>209
試していません。
211208:03/07/06 11:34
qscintilla 1.1 ですた。
iswebベーシック(有料)で、試験的にPythonを使えるようになったよ。
Python で cab 圧縮展開したり内部のファイル一覧を調べたいのですが,
なにかうまい手はないものでしょうか?
>>213
cabって、同じ拡張子でも、形式違いがあるような感じするWindowsのあれ?
統合アーカイバプロジェクトのDLLをPythonから呼ぶモジュール作ってしまうのが、一番早いかも。
圧縮はアマチュアレベルだと日本はものすごくレベルが高いから、Python から呼び出せるように
力のある人がやってくれると、歓迎されるかも。
自分は圧縮も C/C++ もさっぱりだから、貢献できないが。
でも,アーカイバプロジェクトの DLL は再配布禁止ですよね.初心者向けツールなん
でできれば自己完結したいんです.展開だけでいいんで,SetupIterateCabinet だかの
Win32 API が呼べるだけでもいいんですが.一瞬 extract.exe を使おうかとも
思ったんですが,Win9x 系と WinXP ではコマンド名が違うし,Win9x では os.popen
とかも使いにくいし.cab 形式が操作できる COM コンポーネントとかないですかね?
>>213
libcabinetを利用するのがどっかにあった記憶があるのだが。
>>216-217
使うべきライブラリ関数が分かってるならC言語で拡張モジュールを書けば
いいんじゃない?
設定ファイルがXMLなプログラムを見かけますが、
XMLでやるメリットは何なんでしょうか?

あと、設定ファイルのフォーマットはどれがいいでしょうか?
ちなみに漏れは主に開発がWin上なので、ConfigParserつかってまつ。
>>219
このスレできいてもあまり意味がないと思うけど、ひとことでいえば、XMLがものすごく広まったから、
というだけじゃないですか?
>>219
> XMLでやるメリット

既存の道具 (XML ライブラリなど) が使えるから。

標準の規格に乗っかると、既に必要な機能 (の一部) を実装したものが存在していて
開発コストを下げられるのが良い。同機能の実装が複数あったりするから良いものを
選択するというぜいたくもできる。
>>219
S式方式とかも今だにあるけどね。

>>221氏の指摘通り、道具が多いのでXMLは結構利用しやすい。
あとS式を彷彿とさせる部分もあるかも。
From: Guidoパパ
Subject: Moving to California
Date: Wed, 09 Jul 2003 10:23:16 -0400

http://mail.python.org/pipermail/python-dev/2003-July/036782.html

拝啓 Python 開発者諸氏

私は昨夜、OSCON でカリフォルニアに引っ越す予定だと発表しました。私は、Elemental Security
というサンマテオで起業したセキュリティ・ソフトウェア会社で新しい仕事を引き受けました。
創立者の一人、Dan Farmer について耳にしたことがあるかもしれません。彼は、Satan, Titan,
The Coroner's Toolkitといったいくつかの有名なフリーのセキュリティ・チェック・プログラムの
(共同) 開発者です。

Elemental は新しい会社であり、企業セキュリティに狙いを定めていて Python を使うだろうという
こと以外には、まだ同社の製品について多くのことを言うことができません。

私は、その設計と実装に関して Dan と仕事をすることにとても興奮しています。また、カリフォル
ニアに引っ越すことにも興奮しています。それは私の長年の夢だったからです。

ひとまず落ち着いたら地元のたくさんの Python ユーザおよび開発者と一緒になるのを楽しみにして
います。現在、私たちは家を見つけて8月1日までに引っ越そうとしていて、私の生活と私の家族の生
活はまったく混沌としています。

そこで Python ですが、私はこれまで通り Python のための時間を持ち (このことは私の契約に
含まれています)、Python の開発をリードし続けます。実際、一旦引っ越しのほこりがおさまれば、
Zope での現状よりも手が空くと期待しています。しかし、今のところ私は Python 2.3 が時間通りに
リリースされるのを確実にするために Python コミュニティー、特に PythonLabsの偉大な面々 (残念
ながら Zope に残そうとしている人々) に大きく依存しています。――思い出して下さい。アップル
の Mac OS X の Panther をリリースするために、私たちは8月1日までに最終版を出す必要があります。
私は、これが可能であると確信しています。

いま私は OSCON に来ていてスケジュールがたて込んでおり、電子メールへのアクセスには限りが
あります。そして、その後数週間は引っ越しです。というわけで、私宛てへのメールに私がすぐさま
返答しなくてもどうか許して下さい。

--Guidoパパ
>>217
ひたすら探しているがみつからん…なにかヒントとかありませんかね?
拡張モジュール書くしなかないのかなぁ.
>>225
http://python.jp/Zope/PyLog//1055330498/index_html
こやつを使うとC APIを呼べるっぽいけど。
>>223-224
神キター!
>>225
以下いれた方が楽だと思う。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncabsdk/html/cabdl.asp

cabarcツール利用すればいいだけだし。

確かソースも附属してるはず。
229225:03/07/11 11:55
>228 え〜、popen や system で呼ぶのはできれば最後の手段で。CABINET.DLL を
使うかなぁ。で、Extension を C で描こうと思い VisualC++.NET で
#include "python.h"
#include <windows.h>
static PyObject* uncab_version(PyObject* self, PyObject* args)
{ return Py_BuildValue("s", "0.0.0.0"); }
static PyMethodDef defs[] = {
{"version", uncab_version, METH_VARARGS},
{NULL, NULL} };
__declspec(dllexport) void APIENTRY inituncab(void) {
Py_InitModule("uncab", defs);
}
とやって DLL を作成してみたところ…
ImportError: dynamic module does not define init function (inituncab)
ガーン。そりゃないよ兄貴ぃ〜やはり漏れには Extension 書くのは無理なんで
しょうか?
>>229
まず>>226で言ってるctypesをインストールする。んで、

>>> import ctypes
>>> c = ctypes.cdll.LoadLibrary('cabinet.dll')
>>> c.FDICreate
<ctypes._CdeclFuncPtr object at 0x00653AD8>

てな感じで任意のdllの任意の定数/関数が参照できる。
あとは自力でどうにかできるでしょう。
231225:03/07/11 19:04
>>230 それでいこうと思います。ちょっと ctypes のみでなんとかならんかな〜と思って
ctypes + windll.setupapi.SetIterateCabinet{W,A} でアーカイブ内の一覧まではいったんですが、
展開に失敗します。
typedef struct _FILE_IN_CABINET_INFO {
PCTSTR NameInCabinet;
DWORD FileSize;
DWORD Win32Error;
WORD DosDate;
WORD DosTime;
WORD DosAttribs;
TCHAR FullTargetName[MAX_PATH];
} FILE_IN_CABINET_INFO, *PFILE_IN_CABINET_INFO;
という構造体を ctypes にマップする場合は
class FILE_IN_CABINET_INFO(Structure):
_fields_ = [("NameInCabinet", c_char_p),
("FileSize", c_uint),
("Win32Error", c_uint),
("DosDate", c_ushort),
("DosTime", c_ushort),
("DosAttribs", c_ushort),
("FullTargetName", c_char * 260)]
と対応させたのですが、なんか間違ってるでしょうか?
どうも FullTargetName にパスを書くのがうまくいってない気配
がするのですが。
http://aspn.activestate.com/ASPN/Mail/Message/ctypes-users/1625767

のように,

("FullTargetName", POINTER(c_char))
...
s = c_buffer('\00'*260)
fic = FILE_IN_CABINET()
fic.FullTargetName = s

ではどうですか?

それが、コールバック関数の引数として FILE_IN_CABINET 構造体への
ポインタがわたってきて、それを使って FullTargetName を書き換えねば
ならんのです…。そんなわけで拡張モジュール使ったほうが速いかなと
思った次第。なんかイイ手があったんでしょうかね?

http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q189/0/85.ASP&NoWebContent=1
234デフォルトの名無しさん:03/07/13 15:06

$ python -c 'import lib2ch; lib2ch.age("tech", "1053955472")'
>>234
もうひとつのぱいそんスレも同じ上がり方してるけど、自動化ツール作ったの?
あと、これで気づいたけど、重複スレ(↓)ちゃんと消えたみたい。
Pythonお勉強スレッド __part4__
httq://pc2.2ch.net/test/read.cgi/tech/1055065649/
236234:03/07/13 21:56
>>235
手動でつ(w
常時 age スクリプトもあるけどね。
Pythonで不動点プログラムってできる?
>>237
よく知らない人でも判るくらいもっと詳しく。
不動点プログラムとは自分自身のソースコードを表示する
プログラムのことで、ファイル操作無しなどの限られた
環境で作ることが醍醐味ってやつです。

コマンドラインならから簡単にできるよw

>>>'s'
's'

これじゃ駄目か…
240239:03/07/14 00:37
なんたることか、Pythonでも語尾に「;」
を入れることができるとは…

>>> print "test";
test
>>> print "test1";print"test2"
test1
test2
>>>

半年使ってきて分からなかったなんて、、
もう帰ろう…
>>240
python勉強し始めてから3日目ですが
;使える事知ってましたよ。
ついでに言うと行の最後に;はあっても無くてもOK
C -> Python と進んだのでむしろ ; が無くても良いことに感動したぞ(藁
; はコマンドラインで one-liner を書くための方便だろう。
普通のスクリプトで使うと可読性が下がると思う。
漏れはたまにC++とかに戻ると
Syntax Errorの山になる(w
Javaでnewを書かずに氏ぬことしばしば(w
ifの後に"("と")"を書かずに氏n(ry
その後":"を書いて氏n(ry
"{"、"}"を書k(ry
246山崎 渉:03/07/15 09:50

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
某氏は リストコンプリヘンションに恨みでもあるの?
漏れは理解できんぜ、という告白と思われ
[[], [], [], ....] を作るんなら、リストコンプリヘンションのほうが、
意図が、読み取り易いと思うんだけどなぁ。
ところで、array オブジェクトも長さを初期化できないのね。
機械伯爵キタ━━━━(゚∀゚)━━━━ッ!!
>ども、機械です。

↑スゲエ
> /機械伯爵/

↑カンドー
http://www.freeml.com/message/[email protected]/0000018
機械伯爵
<補足>
「C62-78テクニック」
 えーもう「そのテ」の方は気付いているかと思います
が、私は「銀河鉄道999」のファンです(ハンドルは、有
名な外道機械人間より拝借)。C62-72は999号のモデルと
なった蒸気機関車ですが、この場合は999号のほうを指し
ます。作中で、999号というのは「他の惑星の超古代文明
の遺産など、とりあえず理解できないが使える技術は使
った」という意味の一文が出てきます。プログラムにお
いてこの姿勢を真似すると、999号のように時々氾濫を起
こしたり、謎の存在にあやつられる事件がおこったりし
ますので、つつましやかに、自分の理解できる範囲のテ
クニックを増やしていくべきだと私は考えます・・・ま
ぁ、勿論異論はあると思いますが・・・
実際そういうプログラムも氾濫しとるしな。
GUI プログラミングを上達するこつは何かありますか?
今までずっとコンソールベースのものばかりをやっていて、違いに手間取っているのですが。
gentooをキッカケにpython初めたけど、日本語の情報少ないね。
とりあえず今は「初めてのPython」読んでるけど。
>PythonからOpenOffice.orgを操れるようになりました(Python-UNO Bridge)

http://oooug.jp/1.1/1.1rc.html
>>256
GUI アプリは普通、「イベント駆動型 (event driven)」という考え方に
基づいて作られる。この考え方をまず理解する必要がある。

GUI アプリは一般に、初期化が済むと無限ループに入る。そして、マウスの
クリックやキーボードの押下、ウィンドウの再表示やサイズの変更などの
イベントが発生すると「イベントハンドラ」と呼ばれるサブルーチンを呼び出す。
プログラマがしなければならないのは、これらのイベントが起こったときに
実行するべき処理をイベントハンドラ内に記述することだ。

無限ループの部分 (イベントの発生を受けてイベントハンドラを呼び出す部分) は
GUI ライブラリの内部にあるのでプログラマが書く必要はない。不要なイベントに
対するイベントハンドラも書く必要はない。そのプログラムにとって意味のある
イベントだけを選んでイベントハンドラを書けばいい。

この考え方に馴染むことができれば、その他のプログラミング上の要件は
自ずと理解できるようになると思う。
>>258
2chに書かれると、なんかPyJUGで取り上げづらいな。
以前にも「2chのマネだ」って叩かれたことあったし。
どうせならPyJUGにたれ込んで欲しかったり。
一行ネタでもいいから。中の人が適当に増やしてくれるはずだし。
こっちの方が早いね。どーでもいいんだけど
http://slashdot.jp/comments.pl?sid=108220&cid=360996
> ども機械です。

↑再びキターーーー!
機械タン、このスレ読んでないんだねぇ。誰か教えてやれよ。
264263:03/07/18 22:27
189 の内容を、教えてあげれ、ってことね。
2ちゃんねるにしか、書かれていないネタもあるんだな。
http://www.google.com/search?q=py2exe+mbcs
機械のMLって参加者164人もいるんですね。
俺も読んどくか…どうするか?

もしかして、みなさん参加者?
>>265
伯爵のオナニーだから、読まなくていいと思われ。
「ども、機械です」とか「こんにちは、モーフィアスです」とか
どうして平気で書けるんですか?
そんなことをいったら、某「る*き*」さんはどうなるのかと。
「*び*ち」さんも同じ穴の狢だと思っとりますが。
いろいろ活動してる分、まだマシな方ではあるけど。
270デフォルトの名無しさん:03/07/19 17:45
Python 2.3c1
http://python.org/2.3/
質問しちゃいます。
下のようなHTMLタグがあったとして、

<img border="0" src="hoge01.jpg"></a>

「hoge01.jpg」だけを取り出す良い方法はないでしょうか?
自分はループを利用してみてるんですがこれじゃかっこわるい。
Python 2.3b2 (#43, Jun 29 2003, 16:43:04) [MSC v.1200 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
IDLE 1.0b2
>>> import sgmllib
>>> class MyParser(sgmllib.SGMLParser):
    def __init__(self, *args, **kw):
        sgmllib.SGMLParser.__init__(self, *args, **kw)
        self.imgs = []
    def do_img(self, attrs):
        for name, val in attrs:
            if name == "src":
                self.imgs.append(val)
    def get_imgs(self):
        return self.imgs


>>> import urllib
>>> html = urllib.urlopen("http://www.python.org/").read()
>>> p = MyParser()
>>> p.feed(html)
>>> p.get_imgs()
['./pics/PyBanner009.gif', 'pics/xml.gif', './pics/PythonPoweredSmall.gif', 'pics/pythonHi.gif', 'pics/osi-certified-120x100.gif']
>>>
>>272
pythonって、ほかの言語と比べてモジュール最強ですね
それもpythonで書いてあるし。
274デフォルトの名無しさん:03/07/22 15:25
ぱいでぶにAkiタンキターーーー!

もうね、アh(ry
>>274
誰それ?
>>274-275
↓こいつか?
Python Coding Tools: Aki Kubota
http://mail.python.org/pipermail/python-dev/2003-July/thread.html#36989

HTMLメールでよこした上にスレ違い(w
恥さらしだな。
いきなり否定。ピントのずれたウンチク。芸風なのかカルシウム不足なのか。
http://pydev.sourceforge.net/
Akiタンはこれが欲しかったのか?

>>277
カジヤマタンの(だけ)が、まともな説明だったね。
>>278
python & eclipse のソフトはこれで何個目?
一つでいいからしっかり開発、保守されているものを作ってほしい。
個人がバラバラにすきかってやるんじゃなくて。
リエタソ、ガッツあるね。やっぱこーでなきゃ。
>>280
スーパーコンピューターはすごいな。
自分とはまったくエンのない世界で。
どこが初心者なのかと(ry
282デフォルトの名無しさん:03/07/25 00:46
敗北者_かもしれない_みなさんはじめまして。
ボクはpyqtの勉強をはじめました。
手始めにテキストエリア(QTextEdit)に入力された文字列をファイルに
保存するコードを書こうと試みました。
GUIは出来たのですが文字列の保存をどうやるのかさっぱりわかりません。
教えてくださいとは言いません。
参考になるコードを貼り付けてくれたらありがたいです。
ちなみにpythonってどう読むんでしょうか?
>>282
> ちなみにpythonってどう読むんでしょうか?

「ぴちょん」と読みます。ダイキンのCMに出てきますよね。
あれです。
>>282
> 敗北者_かもしれない_みなさんはじめまして。

というジャブのあとに“教えて君”の必殺技「さっぱりわかりません」が炸裂。

> 教えてくださいとは言いません。

と殊勝な態度を見せつつその次の行で

> 参考になるコードを貼り付けてくれたらありがたいです。

と書くウルトラC。とどめに

> ちなみにpythonってどう読むんでしょうか?

ときたもんだ。お見事。せっかくなので釣られてみゆ。
>>282
>敗北者_かもしれない_みなさんはじめまして。
「_かもしれない_」の「_」は明らかに意識してやってますね。

>ボクはpyqtの勉強をはじめました。
「僕」をカタカナで書くところで自意識過剰だと分かります。
おそらく自覚していないでしょう。

>教えてくださいとは言いません。
ここがミソですね。きっとふと頭に浮かんだ文章だと思いますが、
ふと浮かんだ文をそのまま書くのは良くないですね。

>ちなみにpythonってどう読むんでしょうか?
英語の勉強が足りないですね。
そして自分で調べる能力も低いようです。
他人に頼っていこうという習性があります。
> 利用時間

そっかースパコンだもんなー。

> 大きなニシキヘビ君

(*゚∀゚)=3 ムッハー
新陳代謝 を ちんちん大蛇 と間違えていた若き日を思い出すのぅ。
289デフォルトの名無しさん:03/07/25 21:20

とりあえずeric3ってやつを入れてみることにしました。
290デフォルトの名無しさん:03/07/25 21:50
可愛い娘たちが貴方を癒します・・・☆
http://yahooo.s2.x-beat.com/linkvp2/linkvp2.html

python
1 a ニシキヘビ
  b (ギリシア神話)ピュートン <<ApolloがDelphiで退治した大ヘビ>>
2 (巫女などについて)予言する霊、悪魔。占い師、予言者。
日本語エンコーディングを標準のエンコーディングとして使用したい場
合は、Python 1.6 の場合は

sys.set_string_encoding(ENCODING)

という行を、Python 2.0 の場合は

sys.setdefaultencoding(ENCODING)

という行を、site.py (サイト全体で有効な設定ファイル) に追加して
下さい。
-----

とありますけど、この site.py はどのディレクトリにあるのですか?
>>292
「シネ」なんて言いません。
がんばって探してください。探す方法は色々あるでしょうから…。
できないならプログラム自体書くことをやめたほうがいいと思います。
site.py が見つかるより先に、Python 2.3 がリリースされそうだな。
シネ
site.pyは
みなさんの心の中にあります...
シテ
空気読めなくてスマン
PythonX.X.X/Lib/site.py
コアラのマーチを買うと
まれに眉毛がsite.pyなコアラが入っているらしいよ!
300デフォルトの名無しさん:03/07/26 06:00

(´・ω・`) ← 普通タイプ

(シテ・ω・シテ) ← 眉毛がsite.py
>>300
それほしー

ちなみに私はコアラのマーチは耳手足から食べる派
最近荒れてるな.
>>302
どこどこ?
site.py を変更するのではなく sitecustomize.py に書くべき。
sitecustomize.pyってどこにあるんですか?
>> 大きなニシキヘビ君
⇒ でかPy
Python/Tkinter で、他のアプリケーションからのドラッグ&ドロップに対応させるためにはどうすればいいんでしょうか?
Tkdnd.py は一つのアプリケーションの中でならドラッグ&ドロップができるのですが、他のアプリケーションとドラッグ&ドロップはできないようですので……
OSの仕事なのでむりっぽいような。せいぜい同じtkをつかったアプリだけでしょ使えるのは。
wxPythonはどうだっけ?
309307:03/07/26 17:15
>>308
ttp://www.geocities.co.jp/SiliconValley/4137/dir3/tkdnd1.html#intro
いや、Tcl/Tk ならそれっぽい拡張ライブラリがあるんですよ。
どーにかして Python でも使えないものかと。
TkDNDその1
# Test platform: TkDND1.0a4, Tcl8.4, Python2.3b1, WinXPsp1
# TkDND: <http://sourceforge.net/projects/tkdnd/>
# Placed onto the Public Domain, 2003-07-26, by anonymous
from Tkinter import *
from ScrolledText import ScrolledText

def require_dnd(w):
    w.tk.call("package", "require", "tkdnd")

class DndEvent(Event):
    """A TkDND Event"""
    def __repr__(self): return "<DnDEvent %s %s>" % (self.action, self.type)
TkDNDその2
class _DndBase:
    _dnd_subst_format_str = "%A %a %b %D %d %m %T %W %X %x %Y %y"
    def _dnd_substitute(self, *args):
        if len(args) != len(self._dnd_subst_format_str.split()): return args
        def getint(x):
            try: return int(x)
            except: return x
        A, a, b, D, d, m, T, W, X, x, Y, y = args
        ev = DndEvent()
        ev.action = A
        ev.actionlist = a
        ev.button = b
TkDNDその3(_dnd_substituteのつづき)
        if T == "text/uri-list":
            ev.data = self.tk.splitlist(D)
        else:
            ev.data = D
        ev.description = d
        ev.modifilers = m
        ev.type = T
        ev.window = W
        ev.x = getint(x)
        ev.y = getint(y)
        ev.x_root = getint(X)
        ev.y_root = getint(Y)
        return (ev,)
TkDNDその4
class Droppable(_DndBase):
    def dnd_bindtarget(self, type_=None, event=None, script=None, priority=None):
        if type_ is None:
            return self.tk.call("dnd", "bindtarget", self._w)
        elif event is None:
            return self.tk.call("dnd", "bindtarget", self._w, type_)
        elif script is None:
            return self.tk.call("dnd", "bindtarget", self._w, type_, event)
        else:
            funcid = self._register(script, self._dnd_substitute, needcleanup=1)
            cmd = ('if {"[%s %s]" == "break"} break\n' %
                   (funcid, self._dnd_subst_format_str))
            self.tk.call("dnd", "bindtarget", self._w, type_, event, cmd)
            return funcid
    def dnd_cleartarget(self):
        self.tk.call("dnd", "cleartarget", self._w)
TkDNDその5
class MyApp(Droppable, ScrolledText):
    def __init__(self, parent, *args, **kw):
        ScrolledText.__init__(self, parent, *args, **kw)
        self.parent = parent
        self.setup()
    def setup(self):
        self["font"] = ("MS Gothic", 10)
        self.pack(expand=Y, fill=BOTH)
        self.dnd_bindtarget("text/plain", "<Drop>", self.paste)
        self.dnd_bindtarget("text/uri-list", "<Drop>", self.loadfile)
    def paste(self, event):
        assert isinstance(event, DndEvent)
        self.insert(END, event.data)
    def loadfile(self, event):
        assert isinstance(event, DndEvent)
        for filename in event.data:
            self.insert(END, open(filename).read().decode())
TkDNDその6
def main():
    root = Tk()
    require_dnd(root)
    app = MyApp(root)
    app.mainloop()

if __name__ == "__main__":
    main()
(おしまい)
上の、TkDNDの動作環境についての補足なんですけど、
sourceforge.netからコンパイル済みの libtkdnd10.dll を拾ってきて、
C:\Python23\tcl\tkdnd1.0\libtkdnd10.dll にコピー。
同じフォルダに pkgIndex.tcl という名前で以下の内容の
ファイルを作りました。
------ tkdnd1.0\pkgIndex.tcl ------
if {![package vsatisfies [package provide Tcl] 8]} {return}
load [file join $dir libtkdnd10.dll] tkdnd
317307:03/07/28 00:37
>>310
ありがとうございます!

しかし、Tk のウィンドウは出てくるものの、肝心のドロップに反応してくれません。
ファイルをドロップしても MyApp の paste や loadfile が呼び出されていないのを確認しました。
なのでドロップしても反応がないのは当然……
こちらの環境は Python2.3.c2 という以外は 310 と同じです。
何故だー。

脳みそ蕩けてるんで暫く頭冷やしてきます……
>>317
こんなんはできてますか?

>>> from Tkinter import *
>>> root = Tk()
>>> root.tk.call("package", "require", "tkdnd")
'1.0'
>>>
319307:03/07/29 06:05
>>318
できてまつ……
プログラミングを学習しているのですが
Pythonをある程度使えるようになったら
CやC++などに進んだほうがいいですか?
順番がおかしい
322デフォルトの名無しさん:03/07/30 00:25
>>320
その書き方からいってPythonもまだ全然使えないんじゃない?
もっとPythonを勉強汁
>>320
Cができないと半人前あつかいされる事があります。
C++は極めるのに(まともに利用できるようになるだけでも)本当に時間がかかるので、
最低限Cぐらいは勉強した方がよいのでは。
>>321
順番がおかしいとはいえないのでは?
JavaScript(HTML) やBASIC -> Cとかって人もかなりいるし。
スクリト言語やってからC勉強する人の方がいきなりCより多いのでは。

>>322
それはとりあえず同意ですが、Cを理解してはじめて、なぜPythonではそう
なっているのか理解できる部分もあるかもしれません。

何にしても勉強しようという意欲は大事だと思います。
>>> 319 問題のスクリプトでドロップしたとき、エラーが表示されてませんか?
ドロップするファイルのパス名にマルチバイト文字が含まれていて、
open()でIOErrorが生じているなら、filenameをUTF-8表現str型から
unicode型に変換してやる必要があると思われます。

        if T == "text/uri-list": 
            ev.data = [ x.decode("UTF-8") for x in self.tk.splitlist(D) ]
326322:03/07/30 00:52
>>324
>Cを理解してはじめて、なぜPythonではそう
>なっているのか理解できる

これが言いたかった
むしろアセンブラから勉強するべきかも
327初心者 ◆ZL0khJ59jc :03/07/30 01:42
これからサクッとPythonを修得しようと思ってるんですが、
どういうプログラムを書けばいい感じに覚えられますか?
教えてkds
>>327
> どういうプログラムを書けばいい感じに覚えられますか?
自分の作りたいもの
329307:03/07/30 06:35
>>325
パスにマルチバイト文字入れるなんてことしないYO!
念のためパス名を確認しましたが、マルチバイト文字は含まれていないです。
そもそもドロップしたときに _DndBase の _dnd_substitute が呼ばれてません。


各関数の先頭に print を入れて処理の流れを追ってみたのですが、

# root = Tk()
# require_dnd(root)
require_dnd
# app = MyApp(root)
<__main__.MyApp instance at 0xXXXXXXXX>.__init__
<__main__.MyApp instance at 0xXXXXXXXX>.__setup__
<__main__.MyApp instance at 0xXXXXXXXX>.__dnd_bindtarget__('text/plain')
<__main__.MyApp instance at 0xXXXXXXXX>.__dnd_bindtarget__('text/uri-list')
# app.mainloop()
# (終了)

……となります。mainloop に入ってからはどの関数も呼ばれてません。
ドロップしても反応無し。


むしろ
> ev.data = [ x.decode("UTF-8") for x in self.tk.splitlist(D) ]
というのを初めて見ました;
これは
ev.data = map(lambda x: x.decode("UTF-8"), self.tk.splitlist(D))
と等価……なんでしょうか。
330307:03/07/30 06:55
あ、>>329 の __setup__ は setup、
__dnd_bindtarget__ は dnd_bindtarget の間違いです。

>>320
中途半端に勉強して放置するのは駄目だと思うよ。
ある程度一つの言語をマスターした方がいい。
あと、C++ をやりたいなら C をマスターしてからの方がいい。
いきなり C++ やったら、多分泣く。
>>326
Pythonの基礎としてのC
Cの基礎としてのアセンブラ
って感じなので、極めたいと思えば自然とアセンブラに行きつくのでは。
行きつかないのなら、それまでって事かと。

>>327
自分がほしい物
>>329
[3*x for x in vec]
みたいなのはリストの内包表記だね。

Python tutにあるね。
http://www.zob.ne.jp/~hide-t/comp/python/py21-tut-ja/tut-ja/node7.html#SECTION007140000000000000000
tutさえもちゃんと読んでない事がばれるぞい。
333デフォルトの名無しさん:03/07/30 09:54
Python2.3(final) !!!
http://www.python.org/2.3/
CよりPythonのほうが得るものが多いような…
具体的にはどんなところが勉強になるの?
335307:03/07/30 11:17
>>332
申し訳ありません、陛下。
ちゃんとどころか読んだことすらありません。_| ̄|○
Cから得られるものは少ない。
そんなに、得るものこだわるんだったら、SmallTakや Haskellでも
やりゃあいいじゃん。
×SmallTak
○SmallTalk
>>332
わざわざ 2.1 の古いチュートリアルを読む理由って何?
>>338
×SmallTalk
○Smalltalk
341デフォルトの名無しさん:03/07/30 13:46
Windows XPでZopeを稼働させていますが、以下の問題が発生しております。
cryptモジュールがWindowsではサポートされておらず、ZopeのmysqlUserFolderプロダクトがこいつを要求してきますので素の状態では使えません。
となると、

1. WindowsでのmysqlUserFolderをあきらめる
2. cryptモジュールを使わずプレーンテキストで運用する
3. 自前でcryptモジュールを用意する

のどれかになるかと思います。できれば3が望ましいのです。
cygwinのperlだとcrypt関数が利用できますのでWindowsという環境自体には問題ないように思いますが、どうなんでしょう。
どなたか作られた方いらっしゃいませんか?
342デフォルトの名無しさん:03/07/30 14:16
>>327
経験の有無によって最適解が変わってくるから一概にはいえないけど...

なにか,どうしても作りたい物があるなら
それを実現するために邁進するのが習得の近道

特に作りたいものがなくて,とにかくPythonを習得したい場合は
既存のソースコード探してきて読みこなす,解析する

リファレンスは「Document翻訳プロジェクト」のみなさんによって
大方日本語約されているので,大いに参考になるはず
343初心者 ◆ZL0khJ59jc :03/07/30 14:36
>>328 >>331 >>342
作りたい物は確かに頭の中にあるのですが、手順を踏んで修得したいなと思っているんです。
既存のsourceCodeではBitTorrentを読んでみたいですね。
Pynny作れ
345デフォルトの名無しさん:03/07/30 15:34
いきなり高いところを目指そうと思うと挫折する確率高くなるから
中間に達成点を設けて,徐々に目標に近づいた方がよいと思うけど

多少でもプログラミングの経験があるなら
作りたいものの要素技術を実現していて,Pythonで書かれているものを見つけてきて
ソースを解析するなり,改造してみるなりすればいいんじゃない?
Pyukiwikiを作ってみます。
347デフォルトの名無しさん:03/07/30 15:55
http://slashdot.jp/article.pl?sid=03/07/30/0547223&topic=93&mode=nested
/.にトピック立ってます

PyJUGのサイトはまだだなー
wiki は 2、3 書いたことあるけど、設置する場所ないからあぼーん。
>>339
2.2と2.3は邦訳されてないから、日本語で読むなら2.1しか。
英語でいいなら2.3は→ http://www.python.org/doc/2.3/tut/tut.html
350デフォルトの名無しさん:03/07/30 22:28
MLに神キタ━━━━(゚∀゚)━━━━ッ!!
>>334 >>336
本当にCから得られる物がそれほど多くないと思っているなら、
それはアホか天才かのどちらかです。

>>335
tutぐらいは読まないと、すぐつっこまれますぞ。

>>339 >>349
2.2翻訳するっていってた人がいたからそのうちされるのでは。

大体pythonとCから得られるものなんて
経験ぐらいじゃないか?

って思う俺は天才だよね?>>351
>>352
経験ぐらいって・・・
最終的に必要とされるのは経験なんだけど。
この業界は、最初は経験者かそうでないかで振り分けられるんだよ。
決して才能ではない。
だから、pythonでもCでも選り好みしないで両方やるべきなんだと思うよ。
pythonが経験としてカウントされるかは知らないけどな
355山崎 渉:03/08/02 02:10
(^^)
356デフォルトの名無しさん:03/08/02 12:03
pythonはなぜかUNIXで密かに異常に使われてるらしい。
Linuxのインストーラーとかにもだ。
なぜだろう?boostのおかげ?
>>356
> なぜだろう?boostのおかげ?
どうすればそういう結論に、、、
358デフォルトの名無しさん:03/08/02 14:35
>>356
むしろ俺のおかげ
>>358
> むしろ俺のおかげ
どうすればそういう結論に、、、
360_:03/08/02 14:46
ラスタとんねるず
362デフォルトの名無しさん:03/08/02 15:15
>>356
夢が、詰まってるからさ
363デフォルトの名無しさん:03/08/02 16:05
>>356
松本某のせいでないことだけは確か
陰湿なスレだねぇ
365名無しさん:03/08/03 22:38
じゃ、じゃ、ひょとして、ひょとして、


ムネオタン!!!


のおかげ!?
366デフォルトの名無しさん:03/08/03 22:41
>>365
ムネオたんは
確かに
日本のPython界に貢献している
>>343を含めてプログラミングを勉強したいと言う香具師のほぼ全員が
まるでプログラミングには習得の手順があると言わんばかりのカキコをするのは
どういうわけだろう。はっきり言って、そんな「手順」は無いんだが。
プログラミング習得の道筋は十人十色。興味のあること、プログラミングの習得に
役立つと自分なりに思えることはすべてやるがいい。絶対無駄にはならない。
>>367
そうだね。自分では関係ないと思ってることでも巡り巡って役に立つことってあるし。
あんまり元を取ろうとがっつくと何事もちゃんとは学習できないよ。
python の os.chmod を使って、
chmod +x file
と同じことをするには、mode のオプションにどれを指定すればいいのですか?
オプションが多すぎでよくわからないのですが。

オプションは下のURL に一覧があります。
http://www.python.org/doc/2.3/lib/os-file-dir.html#l2h-1434
os.chmod("file", stat.S_IXUSR|stat.S_IXGRP|stat.S_IXOTH)
つーか試行錯誤してみればすぐに分かると思うんだが。
372デフォルトの名無しさん:03/08/04 22:03
>>366
同意。確かに良い反面教師だ。
子プロセスとの双方向通信が分かりません。
rubyの例で気がひけるのですが、
irb(main):053:0> pr = open("|cat", "r+")
#<IO:0x402a5104>
irb(main):054:0> pr.write("foo\n")
4
irb(main):055:0> pr.gets
"foo\n"
irb(main):056:0> pr.write("bar\n")
4
irb(main):057:0> pr.gets
"bar\n"

こんな感じの事をしたいのですが、
os.popen や popen2.Popen3 等で思い付くままに試したものの
read() しても返ってこなかったりします。
close せずにプロセスを使い回したい、
& プロセスが死んだりしてないかチェックしたい、ってのが
希望する条件なのですが。。。
>>373
> read() しても返ってこなかったりします。
popen2 で自分も同じ状況になった。
cygwin だったけど。
原因を未だつかめず。
Python 2.0 以降を使っていますか?
http://www.gembook.jp/html/doc_jp/lib/os-newstreams.html#l2h-1255
そして open する際に busize=0 してブロックしないようにしていますか?
http://www.gembook.jp/html/doc_jp/lib/built-in-funcs.html#l2h-22

376373:03/08/05 00:31
>>375
おかげさまで動きました。
>>> pr = popen2.Popen3("cat", 0, 0)
>>> pr.tochild.write('hoge\n')
>>> pr.fromchild.readline()
'hoge\n'
>>> pr.poll()
-1
# cat を kill
>>> pr.poll()
15

# migemoを呼びたかったのだけれど、ruby版migemoは反応するのに、
# cmigemo が返事してくれない。。。 ま、いいや。
>>373
CRLFを改行とする入力にLFだけつっこんで応答を待つとか
その逆をやっていませんか?
379373:03/08/05 11:36
>>378
'\n' だけでなく '\r\n' も試してみましたが、
readline() だけでなく read(1) でも反応ありません。
ちなみに
w, r = os.popen2("cmigemo -q --emacs -d /usr/local/share/migemo/euc-jp/migemo-dict", 'r+', 0)
とか
w2, r2 = os.popen2("migemo /usr/local/share/migemo/migemo-dict", 'r+', 0)
こんな具合で起動してます。
両者共、ターミナルでは問題無いのですが。

>>377
いちおう自力で組めなかった場合はそれを、と思ってはいました。
Cに関する知識が乏しくてもいろいろ利用できるようになりそうで、
便利そうですね < ctypes
最近、Pythonスクリプトの1行目に見慣れないものが
書いてあることがあるのですが、これは何者でしょうか?
>>380
エスパー募集ですか?
382デフォルトの名無しさん:03/08/05 15:50
#!/usr/bin/python
このファイルをシェルスクリプトとして実行する際に/usr/bin/pythonを
使うことを指示する文字列

http://www.amazon.co.jp/exec/obidos/ASIN/4756107893/ref=sr_aps_b_1/250-8540781-6109026

# -*- coding: UTF-8 -*-
Python 2.3 で追加されたソースコード文字エンコーディング判別機構に
ソースコードがUTF-8で書かれていることを教える文字列

http://python.org/peps/pep-0263.html
あるオブジェクトが hash 出来るかどうかチェックする関数はありますか?

実際に hash をやってみて、 TypeError になるか調べるのが一つの方法でしょうけど、
それ以外にないのかと思いまして。
typeは?
cjk-codecs (http://sourceforge.net/projects/koco/)
というのをみつけたのだけど使っている人いるかな?
>>385
使ってるって聞いたことないな。日本には既にJapaneseCodecsが
あるから、よっぽどのことがない限りCK付きでも嬉しくないし。

てか早くCJKVCodecsを標準モジュールに入れてくれ。
387385:03/08/07 23:03
やっぱりそうか。即答 thanks >> 386

mailman で CJK 全部を扱う必要があるので自分でちょっといじってみます。
>>385
i18n のメーリングリストで初めてみたけど、自分は使っていない。
日本語しか使わないのだったら、JapaneseCodecs で十分かもしれないけど、
マルチバイト文字をまとめて扱いたい場合なら、重宝すると思う。

少し前に Mailman の開発者?の人(高知の方)が ML で CJK コーデックのことを話していたから、
質問があれば、その人にメールでもすればいいんじゃない?
C はともかく K は滅びるべきかと思われます。
390830:03/08/09 15:28
助けてー。助太刀頼む。
----------
830 名前:仕様書無しさん[sage] 投稿日:03/08/09 15:11
いまだにC++なんて低水準言語つかって時間を無駄に使っているのですか?
やはりPyやRなど高水準言語で効率よくコーディングしようよ

831 名前:仕様書無しさん[sage] 投稿日:03/08/09 15:18
VBもPyもRもガキのおもちゃに過ぎん。

http://pc.2ch.net/test/read.cgi/prog/1036581754/
「Py」はPythonのことで「R」とはRoboCodeのことだよね?

              ┗0=============0┛
     \===========[_|_|_|_|_|_|_|_|_|_|_|_|_|_]===========/
     /三三三三三三三三三三三三三三三三三三三三\
    0 │ |∞∞∞ |::|∞∞田田田田田田∞∞|::|∞∞∞ | ::|  0
 ...[二] | ::|       |::|┏━━━━━━━━┓|::|       | ::l [二]
........|□|.│ |┌┬┐ |::|┃  /        \  ┃|::| ┌┬┐| ::|. |□|
  )三(...| ::|├┼┤ |::|┃/            \┃|::| ├┼┤| ::|`)三(´
   | ::| | ::|└┴┘ |::|┃ / ̄ ̄ ̄ ̄ ̄\ ┃|::| └┴┘| ::| | ::|
   | ::| | ::|┌┬┐ |::|┃彳 人______ ノ.┃|::| ┌┬┐| ::| | ::|
   | ::| | ::|├┼┤ |::|┃入丿ー◎-◎ーヽミ.┃|::| ├┼┤| ::| | ::|
   |: :| | ::|└┴┘ |::|┃ r   . (_ _)     )┃|::| └┴┘| ::| | ::|
   | ::| | ::|┌┬┐ |::|┃ (  ∴.ノ▽(∴  ノ ┃|::| ┌┬┐| ::| | ::|
   | ::| | ::|├┼┤ |::|┃⌒\_____ノ⌒┃|::| ├┼┤| ::| | ::|
   | ::| | ::|└┴┘ |::|┃    ┗━┛   .┃|::| └┴┘| ::| | ::|
   | ::| | ::|   ... |::|┃   . .>>1  .    ┃|::|      | ::| | ::|
.....┏━━━━━┓| .|┃          ......┃|::|┏━━━━━┓
.....┣┳┳┳┳┳┫|: |┗━━━━━━━━┛|::|┣┳┳┳┳┳┫
     ○    ●        ∫∬∫∬        ●    ○
     ○○  ●●      iiiii iii ii iiii       ●●  ○○
    [ ̄ ̄] [ ̄ ̄]   ( ̄ ̄ ̄ ̄ ̄)    [ ̄ ̄] [ ̄ ̄]
    |_○_|  .|_○_|     |_____|     |_○_|  .|_○_|
 ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧
(    )(    )(,    )(,,    )    ,,)(    )(    )(,    )( ゚Д゚ )
やっと氏んでくれたね・・・引篭りで匿名掲示板でしか粋がれないデブオタこと>>1
>>391
Rexxに決まってんだろ。
RoboCodeはプログラム言語じゃない。
Rと言ったら、R言語でしょ。S言語クローンの。
どちらかというと、年寄りのおもちゃという印象。
396デフォルトの名無しさん:03/08/11 02:42
不毛だなあ・・・
いったんインポートしたモジュールを更新して再度インポートする方法があったと
思うのですが、思い出せません。

どうやってするのでしたっけ?
reload(module)
>>398
ソレダ!
Python ユーザーのうちで Zope もさわっている人はどのくらいいます?
>>400
エスパー募集ですか?
ZopeのためにいやいやPythonやってる人なら結構いると思うけど
> # 2ちゃんねるスレッドも時々は見ていますので匿名での御意見もいただければと思います。
とあるから反応してみるけど、Macユーザーなのだから、ほかの人でも(やる気さえあれば)訳せる
チュートリアルよりは、Macintosh Library Modules を訳してもらった方がよかったのではないだろうか?
訳し終わってからいうのは何なんだが、、、
>>404
引用元どこー?
Pythonで作ったプログラムをPythonで拡張できるようにしたいのですが、
どのようにしたらできますか?
Pythonでょぅι゛ょをどうささてた
>>407
抽象的な問いからあ抽象的な答えしか得られないよ。
何をどのように拡張したいのかをもっと具体化すべし。

例を挙げておくと、Sketch という Python で書かれたドローイングプログラムがある。
http://sketch.sourceforge.net/
このプログラムは Python を使って以下の三つの方法で拡張できるようになっている。
(1) 起動時に実行される設定ファイル (~/.sketch/userhooks.py)
(2) メニューから選ぶと実行されるスクリプト
(3) 新しいファイル形式や描画プリミティブを追加するプラグイン

userhooks.py では、Sketch を実装している各種モジュールを import して
内部変数を書き換えたり (2) のスクリプトや (3) のプラグインを登録したりできる。

スクリプトとプラグインはそれぞれ Sketch 固有の API に従って開発する。
基本的に「このタイミングでこのメソッドが呼ばれる」といういくつかの約束事がある。
スクリプト/プラグイン作成者はその約束事に従ってコーディングすればいいようになっている。
興味があるなら次のドキュメントを読んでみるといいかも知れない。
http://sketch.sourceforge.net/Doc/devguide-20.html
http://sketch.sourceforge.net/Doc/usersguide-5.html
410sakito:03/08/12 22:57
おせわになっております。

>>404
御意見ありがとうございます。
Macintosh Library Modulesはいずれ訳したいと思っております。
osawa様が訳されているかもしれないので、確認を後日とりたいと思います。

ただ個人的に、Macintosh Library Modulesの優先度は低いです。
もし訳すのであればLanguage ReferenceかPython/C APIを優先したいと思います。
411sakito:03/08/12 23:01
コテハンで書くとかなり恥かしい。。読むだけにしとこう..

キタ━━━━(゚∀゚)━━━━ッ!!
managed attribute はどういう attribute ですか?
property の説明で出てきたのですが。
値の setget が property() で設定したカスタム関数で
行われるように manage された属性値 だと思います

def getAgeSabaYomi(aFem):
return int(aFem.trueAge * 0.9)

def setAge(aFem, age):
if age < 20:
raise AttributeError, "Saba Yomosugidesu!"
aFem.trueAge = age

class Girl(object):
def __init__(self):
self.trueAge = 20
age = property(getAgeSabaYomi, setAge)


>>> g = Girl()
>>> print g
<__main__.Girl object at 0x00810500>
>>> print g.age
18
>>> g.age = 30
>>> print g.age
27
>>> g.age = 17
Traceback (most recent call last):
File "<stdin>", line 23, in ?
File "<stdin>", line 6, in setAge
AttributeError: Saba Yomosugidesu!
>>414
率直に言ってあまりピンとこないのですけど、また明日、コードをみながらじっくり考えてみます。
>>414-415
漏れはピンと来た。つーか知らんかった。分かりやすい例サンクス。
417407:03/08/14 07:39
>>409
実際にソースみてみまつ。アリガd。
418山崎 渉:03/08/15 15:46
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
pythonってなんて読むの?
>>419
ぱいちょん
何故かフィゾンと読んでた漏れ…
422デフォルトの名無しさん:03/08/16 16:52
おライリーはパイソンと書いてるね
語源のモンティー・パイソンもパイソンだしね
>>> 419
http://www.ibiblio.org/pub/multimedia/video/obp/IntroducingPython.mpg
で何回も発音してるから上手に真似てください
>>423
なるほど。「ぴちょん」が正しい発音なんですね。
いろいろと寒いね
ML、メール流れない
寒い
だれか、誤爆でもやってMLを盛り上げれ。
>>427
誤爆で盛り下がってるのが現状なんじゃないの?
と釣られてみた(w
429デフォルトの名無しさん:03/08/17 07:42

も う だ め ぽ
430あぼーん:あぼーん
あぼーん
[Python-ml-jp 2460] は、ここ見て、盛り上げてくれてるんだよね。
だれか 1) についてちゃんと教えてやれよ。

http://www-6.ibm.com/jp/developerworks/linux/python/python.html
これを読めば完璧だ(w
Windows 使用だったりしてな。
>>432
ふるかわさんに一掃されますた。
>>434
むしろ、ふるかわさんが一掃されますた。
expected an indented block

というエラーがでてプログラムが動かなくなってしまったのですが、
なぜでしょうか?どうか解決方法を教えてください。
ソースも出さずにどうやってエラーを解決しろと、、、
if ...: , for ... : , def ... : , class ... : , try: , except:
などの後をきちんとインデントしてください。
>>436
煽りネタだろ(w
440436:03/08/18 23:10
>>437
すみません、公開できるほどすばらしくありません…
>>438
それが原因かと思い、すべてspaceでそろえました
が直りません。(tabは使っていません)
>>439
違いますYO!
キタ━━━━━━(゚∀゚)━━━━━━━!!!!!
ネタケテーイ
442デフォルトの名無しさん:03/08/18 23:35
>>436
おまいは
10以上の数を数えることができますか?
>>436は10の数は"たくさん"と解釈します。
UTF-8 でエンコードすれば、大丈夫だろう。
Pythonを始めたいのですが,
参考図書として
「Python入門」「はじめてのパイソン」
どっちがイイですか?
まぁ、あえて言うなら「Python入門」はやめとけ。
そうなると、「初めてのPython」以外に選択肢がないのが悲しい。
ちなみに、最高の入門書は「Python Tutorial 和訳」だ。
まず、こっちを見てみた方がいいだろう。それからでも遅くない。
>>436
一応マジレスしとくと、中身のない def 文や for 文がどこかにあるんじゃないか?

def test():

だけ書いてあって関数の中身がないとか

for i in range(10):
print i

みたいな変なインデントになってて for 文の中身がないと解釈されてるとか。
>>445
お兄ちゃん! いっしょにぱいそんしよ♪

……スマン
おにいちゃんのばかあ・・・
450デフォルトの名無しさん:03/08/19 11:22
一応マジレスの人キタ━━━━(゚∀゚)━━━━!!
>>437 でつっこまれてるけど、ソースをみないことには応えようがないよ。
452445:03/08/19 19:39
>>446
レスありがとうございます。
「初めてのPython」を買って勉強します。
目指すはPython hackerです!
>>452
いまさらそんな本は読まない方がいいと思うけど。
454445:03/08/19 20:32
>>453
どうしてですか?
もう内容が古いとか?
>>454
漏れは基本的にライブラリリファレンス+チュートリアルで十分。
技術書は高いからアルゴリズムの本みたいなものしか買いませぬ。

内容は2.1でそんなに古いって訳じゃない。(古いことには変わりないが)

それと、「Python hacker」じゃなくて「Hacker」を目指してください。
>>455
2.1?
パイパソ愛好家の集いはココですか?
漏れはコードに解説がついてると嬉しいから、本買う。
GUI なんかは、ちょっとしたプログラムでも行数が大きくなるから、
解説つきコードが重宝する。
たぶん >>455 の人は、経験があるから、一般的な本で足りてるんだと思う。
いずれは、そういう本の選び方ができるといいし。
ML盛り上がらないね
>>459
喪前が盛り上げて呉。誤爆でも燃料供給でも何でも可。
きっと
みんな2chのほうが書きやすいんだね
寒いね

2次元美少女のナビゲートによる「萌えるPythonプログラミング」
2003年9月X日、全国書店にて発売(予定)

■"もえぱい"とは?
「もえぱい(萌えるPythonプログラミング)」は、2次元美少女(紋智
もえ・17歳)がPython初心者をナビゲートしてくれる、従来にはなかった
新しいプログラミング学習書です。

▼Point1
本商品では、現代プログラマの必須技術であるPythonの学習方法を見直し、
まったく新しいプログラミング学習のスタイルを提案します。これまでの
学習書が経験者を支援するものならば、「萌えるPythonプログラミング」は、
初心者のやる気を支援するのです。

▼Point2
味気のない文法事項をひたすら学習していくプログラミグ学習書は、
初心者の目に「苦行」と映るもの。このことは「定番」とされる学習書を
買ったものの、最後までやり通せないという「ありがちな失敗」の原因と
なっています。

▼Point3
もっと楽しい学習法はないのか? 孤独でつらいプログラミング学習に、
心の支えとなるパートナーがいてくれたなら? Python初心者を励まし、
最後まで学習を継続できるような応援はできないだろうか? その答えの
ひとつが「もえぱい」なのです。

■本書の特長

▼2次元美少女による学習支援
人気CG作家のイラストをふんだんにレイアウト。適度なビジュアルの配置が
記憶のトリガーとなり、学習効率のアップにつながります。

▼Pythonプログラミング・初〜中級の厳選トピック
やり通せば絶対に力になる、重要事項をラインナップしました。無理なく
こなせる新入社員レベルの基本テクニックを厳選、志望IT企業へ向けた学習に
先立つベースづくりに最適です。(対象:高校生〜大学生)

▼めくるめくストーリー展開
ナビゲートキャラクター・紋智もえと、彼女を取り巻く魅力的なキャラクター
たちが、笑いあり涙ありの物語を繰り広げます。

■問い合わせ先

▼山菜ブックス
http://www.sansaibooks.co.jp/temps/moetan.html
りんくがもえたんですが?

その本書いてくれ!
>>462
>>463
Rの方に行ってくれ
>>466
RってRoboCodeのこと?
>>463
そんなに覚えるほど文法事項無い気がしますが…

import yojo

g = yojo
g.…

みたいなことすると画面に画像が表示されるとか
だったら効率的に覚えられるのに。
470デフォルトの名無しさん:03/08/20 18:54
>>469
同時にケーサツに通報されたりしてな(プ
R田中一郎くんだよ!
>>461
漏れはフリーのメールアドレスしかないから激しく参加しにくいんだ YO !!
473デフォルトの名無しさん:03/08/20 19:56
>>469
通報シマスタ(・∀・)!!
474デフォルトの名無しさん:03/08/20 21:16
「世界中の何百万人ものプレーヤーが集う大人気カジ
ノ!あなたも体験してみませんか」

http://www.imperialcasino.com/~1p3q/japanese/
php.netみたいなライブラリ・リファレンスの検索サイトが欲すぅぃ。
皆たんはどうかな?
>>475
pydoc は?
477sakito:03/08/20 23:44
>>475

pythonの場合は >>476の言う通りpydocというライブラリ検索ツールが標準で
しくまれてるからわざわざwebまでいって検索する必要はない。
pydocの日本語訳ってある?
>>478
pydoc が何かちゃんとしらべた?
ソース内のコメントでしょ?
ネタにマジレスしちゃったよ (;´д⊂)
ttp://web.pydoc.org も使える。
あと、このくらいの英語をすら読む気がないなら、
コンピュータサイエンスを扱うのはは諦めた方がいい。
オマエ敗北者だろ
>>482
バゲドウ
英語も読めない香具師は
Rでも使ってなさいってこった
Ranguage??
http://www.jin.gr.jp/~nahi/link-ruby-diary.html
これの Python 版をだれか作ってくれないかしら?
作ってもいいけど、どこを載せる?英語読めるのか?
日本人なら yasusiiタンと euskeタンくらいしか、思い浮かばん。
>>487
ZenKaiは?
>>487
外国人のPythonプログラマーのアンテナはすでにあるから、日本人向けのがいい。
英語のはここにあるから、やっぱり日本語のやつが欲しいんじゃないかと。
http://mechanicalcat.net/pyblagg.html
491490:03/08/21 15:09
けこーん
492486=489:03/08/21 15:32
>>491
ケコーンしませう。
>>466
はじめてのRuby Script略してはじるすだっけ?
言語使用の美しいOOのスクリプティング言語は
PythonやRuby
がある
Rubyはあにおたぺど
と言う認識でよろしいでしょうか
そしてPythonは
Cool
496デフォルトの名無しさん:03/08/21 23:42
翻訳プロジェクト キタ━━━━(゚∀゚)━━━━!!

http://www.python.jp/pub/doc_jp/lib
http://www.python.jp/pub/doc_jp/tut
アンテナするほどPythonに関するblog書く人いないのでは?

*参考
はてなダイアリー:http://d.hatena.ne.jp/keyword/python
結局、上に挙がった3人くらいか。
500ゲトズサー

>>499
オナニーの間違いだろ
> to Fさん
アンテナのページが 404 で見られないんですが、意図的なものですか?
502F:03/08/23 14:57
>>501
cron に失敗してますた。
PyJUGで使ってるツールキットについてアンケートとってもらえませんか?
504デフォルトの名無しさん:03/08/23 21:55
age
505デフォルトの名無しさん:03/08/23 23:28
おすすめGUIツールキットは何?
PyQt + Qt designer
507デフォルトの名無しさん:03/08/23 23:55
PyGtkと比べてどのへんがいい?
>>507
そういうのははっきり言って、このスレで聞くより海外のメーリングリストで聞いた方がいいよ。
実際に使っている人の数が全然違うから。
> これがあれば、他の対話環境はめじゃないなと。

ttp://www.rubyist.net/~matz/?date=20030815
ほう
盛り上がらないね
もうダメだね
たしかにひどい翻訳だね。意味わからん。MSDN並のひどさ。

...プログラマーは独自のバージョンを書き込むことが出来る上に、各自が練習で<試作品として>わずかに互換性のないバリエーションを作ることも出来ます。...
(原文: While programmers could write their own versions, each one would create a slightly incompatible variation in practice.)
「プログラマがそれぞれ自分のバージョンを書くこともできるでしょうが、実際にはそれらの間にはわずかな互換性の不一致が生まれてしまいます」

...スタートが与えられると、通過したイタレーターが対象のエレメントに達するまで、かなりの数のエレメントがドロップされます。...
(原文: If a start is given, a number of elements are dropped until the passed-in iterator reaches the element of interest.)
「開始位置が与えられると、渡されたイテレータが対象の要素に到達するまでに、いくらかの数の要素が捨てられることになります。」

...これは、想像しうる問題の関数プログラミング法に負うところが大きいです。...
(原文: This one owes a lot to functional programming ways of conceiving problems.)
「この例では問題をかなり関数型プログラミング的な方法で考えています。」

これならいいだろうか。
>>513
IBMに遅れYO!
516sakito:03/08/27 22:18
日本IBMに何を期待しているのだろうか。
517sakito:03/08/27 22:25
わーい危険な発言書いちゃった(;´Д`)

翻訳はかなり酷いのはたしかだね。よくある事だけど。
我慢ならないほどひどいとは思わないけど
http://sakito.s2.xrea.com/ sakitoさんのサイト
>>517
最近は翻訳業界もですマーチが多いらしくて
>>520
ふーん
単価とか安そうだよね
訳者が文学部卒、監訳者つきの本はたいていハズレ。
523sakito:03/08/28 07:02
>>518
それはDevWorkが比較的翻訳の質高い方だから。

>>519
おいらのサイトさらしてもあまり意味なし。

>>520-521
むっちゃやすい模様。

そろそろ翻訳話しはあきた。Pythonの話しするヽ(´ー`)ノ
524sakito:03/08/28 07:08
>>503
Zopeに国民投票系のってある?

>>505
おすすめってかよくつかわれてるのはまだTkinterっぽい。
おすすめは謎。
# おいらはPyObjCで作成してしまう。

>>514
ためしてみれば?
>>524
PyObjCってな〜に?
>>526
ちっとは調べれ

http://pyobjc.sourceforge.net
PyObjC The Python <-> Objective-C Bridge
528sakito:03/08/29 00:09
>>525
そこで調べればいいんだ。ありがと。

>>526
おいらは Mac OS X使いだからね。GUI作成するならそのままCocoa API利用し
た方が楽。
結局慣れた物使うのが一番いいと思ふ。
529デフォルトの名無しさん:03/08/30 00:11
CGIモジュールなど使ってあぷろだ作ろうと思っています。
ファイルのアップロード時に、サーバにファイルをアップロードしますが、
phpなどではデフォルトで2メガ以上のファイルをアップロードしようとすると
自動的に切断します(upload_max_filesize, post_max_sizeを変えればいい)。
pythonではどうなんでしょうか(10MB以上もうけつけてるような気がする)
無制限だと、どんなに巨大なファイルでもいったんサーバーに入ってしまいます。
530デフォルトの名無しさん:03/08/30 17:32
python あげ
cgi.py line 107:

# Maximum input we will accept when REQUEST_METHOD is POST
# 0 ==> unlimited input
maxlen = 0

なので,

import cgi
cgi.maxlen=2000000

などとしてはどうですか?
532デフォルトの名無しさん:03/08/30 23:20
<血液型O型の一般的な特徴>( すべて許していると調子にのってつけこんでくるぞ!! )
■その道の達人をコケにして安心しようとする。多数対少数のときだけやたら強気。才能ある人間を歪んだ目でしか見れない。
■顔が見えない相手に対しては毒舌かつ強気。面と向かった相手にはやたら弱気で人が言ったことにする ( 俺が言ったんじゃないんだけど、Aさんがあなたをアホかとバカかと… )
■場所が変わると手のひらを返すように態度が豹変する ( あの連中の中じゃヘコヘコさせられてきたが、うちに来たら見ていろ! 礼儀を教えてやるぜ。 )
■カッコイイ人に注目したがるが自分を磨こうとしない。なぜか、カッコイイ人は自分にソックリだと信じ込む
■読みが浅い。粘着に睨まれる事を言っておきながら関係ない人に振り向けてごまかす ( どうせ>>1さんはヒッキーでしょ? /  大阪人だってジサクジエンしてるぜ )
■早とちりが多く、誤爆と気付いても釈明できない。イイ人を装って忘れる ( そういう土地柄だったのさ )
■話題と関係ない個人攻撃で場の空気を陰険にする。次第に耐え切れなくなりあきれかえる。( どうなってるんだ? 間違ってる! )
■恩を貸してるように振舞うが、自分のためであるということを見抜かれる。それに気付いて恥ずかしさをごまかすために大袈裟にキレる。相手がキレると今度はビビる。
■人の真似を勝手にしておいてケチだけつけ、批判される所には現れない。自分が観察される側になると極度に焦る
■自分が企んでいるのに相手を悪人に仕立て上げ、己の為に餌食にする。攻撃を誘って自分の憎悪に酔いしれる。人の裏切りを許せないわりに自分の裏切りは覚えていない鈍感さ。
■世間に通用しないような事ばかり繰り返して自分に課した目標から逃げる。あげくに人のせいにして相手に伝わらない方法でキレる。
■人生経験未熟なので集団的にばかり相手を気にする ( 君のような人はウチでは…  / ○さんによく似てるから駄目だろうね… )
O型だ。
>>531
できました!__init__に書いておくことにします。
どうもありがとう。
534531:03/08/31 00:05
http://starship.python.net/crew/jjkunce/python/uplddemo_cgi.py
も参考になりそうです.(google: python limit upload size cgi)
535sakito:03/08/31 18:29
Python Tutorial 2.3 和訳を完了しました。
http://sakito.s2.xrea.com/python/pydoc/2.3/
忌憚のない御意見をたまわりたく思います。

>>404
Macintosh Library Modules
の差分翻訳開始します。

# だれかてつだって(T_T)
Windows上での使い方を説明しているサイトって無いの?
パスをC:\と指定できるのかとかsjisの扱いとかcomが使えるのかとか。
>>535
乙! ヒラギノ初めて見た。

pdfで、>>> が ≫> になってる箇所が。
538sakito:03/08/31 21:21
>>536
http://www.python.jp/Zope/download/win32all
利用すれば、comは利用できる。
以下の洋書が一番くわいいのでは。
http://www.amazon.co.jp/exec/obidos/ASIN/1565926218/

sjis等の扱いはcodecの方だね。あまり解説サイトはない。

>>537
ヒラギノは印刷用のフォントではないのであまりよくないかもだけど、あれ以
上のフォントは持ってないので。

>pdfで、>>> が ≫> になってる箇所が。
Unicodeの所ですね?これってどうやれば回避できるんだろう?
ちょっと調査してみます。

>>535
ファイルサイズ間違ってない?
580MBもダウンロードしないよね。
540デフォルトの名無しさん:03/08/31 22:24
pythonてなんてよむの?
ぴしょん
542デフォルトの名無しさん:03/08/31 22:31
ふ〜ん
543sakito:03/09/01 06:19
>>539
恥(T_T) 単位がまちがってました。Kに統一しました。

>>540
Tut 翻訳読めば記述してある。パイソンね。
おお,「初めてのPython」買おうかと思っていたけど,
その前にパイソンチュートリアルを読もう!!
py2exeって、ウインドウズ98とMEでは使えないんですか?
>>> 546
そんなことはないと思いますが,使ってみて何か問題がありましたか?
Ruby v.s. Pythonスレはどこですか?
>>548
http://pc.2ch.net/tech/kako/980/980786239.html
です。生まれる時代を間違えたね。
スクリプトが終わってもDOS窓を消さない方法ってある?
コンソールから起動するとか、エディター/IDEから起動するとかすれば?
最後に raw_input() って書いておくとか
.pif作って設定。
554デフォルトの名無しさん:03/09/04 03:39
766 :デフォルトの名無しさん :03/09/04 03:37

ぴちょん ∩( ・ω・)∩ ばんじゃーい
555
>>> a = 1
>>> b = 2
とあったときに、
>>> d
{'a': 1, 'b': 2}
というような辞書を作る手っ取り早い方法はありますか?
>>556
これで我慢汁。
>>> a = 1
>>> b = 2
>>> d = dict(vars())
>>> d
{'__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__', 'b':
2, '__doc__': None, 'a': 1}
>>557
いまは locals() を使っているんだけど、なにか別の方法ないかなぁーと。
>>555
ファイズうらやますぃ・・・
文字列から最後にくっついている改行記号を取っ払う楽な方法はありますか?
stripやrstrip を使うと、改行記号だけでなく、スペースやタブも削ってしまうので、
それ以外の方法でお願いします。

今の処理は、
if s.endswith('\n'): s = s[:-1]
のようなかんじでやってます。
>>560
stripやrstrip使うけど、こう書けるよ。

>>> 'abc \n'.rstrip('\n')
'abc '
補足:Version 2.2.2 以降からサポートっぽい。
>>561-562
サンクス。
文字を指定できるとは知らなかった。
Pythonでmozillaのツールバーを作り方を教えてください。
OpenOfficeでPyをつかっていろいろマクロ見たいのが出来るようになったので,
早速マクロウイルスを作っています。
初のOOoウイルスになったら紙ですね
>>565
タイフォされないように気をつけてNe
>>566
もちろん冗談です。
そんなスキルはありませんし。
また,逮捕されることも,社会に大きな迷惑をかけることも,
経済活動に著しく不利益を与えることも,わかっていますから。
a = "My name is $name"
a.name = '774'

こんな風にPythonでできませんでしょうか?
569568:03/09/06 21:27
あ、できますた。

a = "My name is %(name)s"
print a % {'name': '774'}

スレ汚しすまそ。
>>568
それは何の言語? 初めて見たよ。
2.3の日本語インストーラできたね。
>>571
一ヶ月前からあったと思うが?
>>572
http://www.python.jp/pub/sjis-win32/python23jp-20030906.exe
が正式版じゃないのかな。
間違ってたらごめん。
574デフォルトの名無しさん:03/09/07 15:00
pythonを起動するときに segmentation foult で終了することがあります。
これはスクリプトを起動するときだけでなく、対話的なやつ(?)を起動するときも起こります。
何回か起動を繰り返してると、そのうちうまくいきます。

また、スクリプトが終了したときに、pythonが終了できずにCPUを使いまくってシェルに
返って来なくなるときがあります。
このときは別なtermでpythonを起動してすぐ終了
すると、問題のあった方も終了します。

再現性がはっきりしないのですが、負荷の高いpythonスクリプトをシェルのループで
複数回連続して実行するときには10回に1回ほど起きています。

原因はなんだと考えられますか?アドバイスお願いします。

OSは Redhat Linux 7.1、kernelは2.4.2-2smpです。
intel系のPCです。
クラスタマシンの一部になっているので、
pythonのバイナリがある/usr/local以下がnfsでマウントされています。
カレントディレクトリもまたnfsです。
とくに並列化のためのプログラミングはしていません。
Python をバイナリ配布物でインストールしているなら,ソースコードから
ビルドしなおしてみてはどうですか.
576574:03/09/07 15:48
>>575さん
いえ、既にソースから自前でビルドしたものを使用しています。
書き忘れましたが、pythonのバージョンは2.3で、
とくにconfigureオプションは付けず、
./configure; gmake; gmake test; gmake install
とインストールしました。
Red Hat 7.1 ということは GCC 2.96 かな?
こんな感じ↓で SMP 関連の障害に引っかかってる可能性はないだろうか。
http://public.kitware.com/pipermail/vtkusers/2003-March/016428.html
可能なら GCC をアップグレードしてみると何か変化があるかも知れない。
親切な人が多いですね(・∀・)!!
579564:03/09/07 21:18
回答が得られなかったので、もう一度質問させてください。

mozillaのツールバーをPythonで作れませんか?
>>579
http://www.google.com/search?q=python+mozilla
できるっぽいけど、君には無理だね、きっと。
cgi.py を利用してあぷろだを作ろうと思っています。
下記のような CGI スクリプト、HTML で試してみたのですが、
バイナリファイルをアップしようとするとデータが途中でぶつ切りに
なってしまいます。どこが駄目なのでしょうか。

--- CGI スクリプト
#!/usr/bin/python
import cgi
import sys
form = cgi.FieldStorage()
print "Content-Type: text/plain"
print
if form.has_key("file") and form["file"].file:
  open("test.file", "wb").write(form["file"].value)
  print "wWwWw"
else:
  print "wWw"

---- HTML
<form action="test.cgi" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="send!" />
</form>
>>579
mozilla のサイトで(少し古めの)解説記事があった。
Mark Hammond さんのページにも関連することがあったような。
>>574
> segmentation foult
segmentation fault

重要な単語だから、スペルはしっかり書こう。
まずぶつ切りになるのは保存されたデータなのか,form["file"].value
なのかを調べたほうがよいでしょうね.

入力の時点でおかしいのなら,/usr/bin/python を /usr/bin/python -u に
変えてみてください.入出力をバイナリモードで扱います.

また,

http://www.python.jp/pub/doc_jp/lib/node400.html

を参考にして file 属性から直接読む方法も試してみてはどうですか?

585581:03/09/08 05:25
>>584
レスありがとうございます。
ぶつ切りになっていたのは form["file"].value でした。
file 属性から読み込んでもぶつ切り状態。
#!/usr/bin/python -u
とすることでバイナリファイルをちゃんと扱えるようになりました。

上記スクリプトはローカルで動かしていたのですが、
レン鯖でも動かしてみたところ、-u の指定の有無にかかわらず
バイナリファイルをちゃんと扱えました。
環境は下記の通り。

ローカル: WinXP/Apache 1.3.x/Python 2.3
レン鯖: Linux/Apache 1.3.x/Python 2.2

-u を指定しないと駄目だったのは Windows 上で
実行していたからでしょうか。

取り敢えず、スクリプトが悪かった訳ではないと解ったので一安心。

[Python-Dev] ぱいぱい「ベルリン」スピリット(2003年9月29日〜10月4日)

ぱいぱいって何?

ぱいぱいは、Python を Python で再実装したものです。主な目標は単純さと柔軟さです。
言語を拡張したり、より小さな Python の実装を作ることが、ぱいぱいによって簡単に
なることを望んでいます。

http://mail.python.org/pipermail/python-dev/2003-September/037961.html
Windows では -u しない限り,ほとんどの Python のバージョンで
標準入出力はテキストモードで開かれます.

UNIXの流れをくむOSの多くはテキストモードとバイナリモードの区別を
せず,常にバイナリモードに相当する入出力を行います.

#レン鯖はレンタルサーバのことなのね.そんな変な略語が広がってるのか.
>>586
スピリット > スプリントでは?
>>588
逝ってきm(NO CARRIER)
>>589
dw Japanかと思っt(ry

ま、「スプリント」をやるためには「スピリット」が必要ということで
ぱいぱいはどうもドキドキしていかんなw
ぱいぱいって名前がいいね
(つд`;) <ぱいぱいって書いてみたかっただけなんだよう・・・

>>591>>592 同士よ!w

てゆーか正直すまんかった。>誤訳
ぐへっ 同士→同志
おぢさん、ぱいぱいにドキドキしちゃってもうダメだ。サヨナラ
595591:03/09/09 16:36
それはそうとぱいぱいって結局言語廃人のなせる技のような・・・w
あるプログラム言語でそれ自身を記述できることは、
その言語が(ある水準以上には)強力である証と見られる
向きもあるから、実用性はともかく、面白いハックだと思う。

# PlPl(ぱるぱる?)とか、RbRb(るびるび?)とかもあるのかな・・・?
そう考えるとぱいぱいは語呂がいいな。
>>568
class Unko:
 def __init__(self,chinko="chinko!",sikko = "My name is "):
  self.chinko = chinko
  self.sikko = sikko
 def __str__(self):
  return self.sikko + self.chinko

unko = Unko()
print unko #"My name is chinko!"
unko.chinko = "UNKO!"
print unko #"My name is UNKO!"
sikko = Unko("sikko!")
print sikko #"My name is sikko!"
print Unko("timpo!") #"My name is timpo!"
599デフォルトの名無しさん:03/09/10 02:42
パイパイを拡張してPythonにAOP専用の文法を組み込んだりできるんだろうか、、、
そう考えると、将来Pythonの文法にどんな機能を実装しようかと考えるときに
気軽にPythonで試作&テストできて楽かも。

そんなこと漏れはヤラナイガナ。( ・∀・)
次の文章の括弧内に適切な語を入れなさい。(5点)

「パイパイと半角で書くとさらに(   )なのは気のせいだろうか」
>>600
「パイパイと半角で書くとさらに( ・∀・)なのは気のせいだろうか」
602デフォルトの名無しさん:03/09/11 20:35
ソースエンコーディングの指定がよく分かりません。
EUC-JPで書いているので、
#!/usr/bin/env python
# -*- encoding: euc-jp -*-
と書いたのですが、
SyntaxError: 'unknown encoding: euc-jp
となってしまいます。
どうするのが正解なのでしょうか?
python 2.3 / FreeBSD 4.8 です。
JapaneseCodecs入ってる?
604602:03/09/11 20:47
たぶん入ってないです。python2.3をソースから入れただけです。
605602:03/09/11 20:55
JapaneseCodecs 入れたらできました。

http://www.python.jp/Zope/download/JapaneseCodecs
からダウンロードして、展開。
# python ./setup.py install
でいけました。
606デフォルトの名無しさん:03/09/12 13:25
lex/yaccに相当するツールのPython版で、いちばん標準的なものはなんですか?
ネットで調べてみたらいろいろ引っかかっちゃったのでどれがよいのやら。
Boost.Spirit
http://silmarill.org/
何で日本にはこういう簡単なスクリプトを公開する人が
少ないんだろう。
プログラムを組むときに return 文で返す用に
tmp という一時的な変数を作ってやるのは良いことですか?
インタプリタに tmp への代入文を処理させるオーバヘッドと,データ本体で
なくポインタとして働く tmp のためのごくわずかなメモリ領域の占有と,tmp
という,temporally ぽいことは伝わるがその用途や理由が他のプログラマには
おそらく伝わらないであろう変数名を使うことが,PEP 8 に従ってを読みやすい
コードを書く上でとても重要かつ正当な方法だと思うなら,いいんじゃないの?
611デフォルトの名無しさん:03/09/15 12:52
pythonが使えても人生の敗北者のままなんですが。
このへんなんとかなりませんか。
pythonのメリットって整備されたライブラリだよね
それをうまく使いこなそうぜ
613名無しさん:03/09/15 13:24
>>611
バージョン2.6位でなんとかなるって聞いたけど。。。
>> 613
from __future__ import money ってやつ?
>>614
それは借金です。
from __farther__ import money ではどうですか?
617名無しさん:03/09/15 19:40
もっと先の未来からでも
借金は借金です( ̄ー ̄)ニヤリッ
from __father__ import money ですた。逝っ^D
は?2.5からは敗北者には使えなくなる予定ですが。
2.4まではDeprecationWarningがでるだけだから、その間に
敗北者状態から脱出してください。
>>609
tmpじゃないけどretvalとか使ってる入門書は多い気が。
yieldを使えるようになる前は
def hoge():
 retval = []
 for i in moge()
  retval.append(i)
 return retval
みたいな書き方が必要だったし。

>>610
おれ未だにLとかDとか使っちゃってる。気をつけよう。。

>>613
2.6が日の目を見ずに3.0がリリースされる罠。
s = 'sys'
とあったときに、 string がたの s から
import sys
のようなインポートステートメントを実現する方法はありますか?
exec('import %s' %(yourfavoritemodule))
mod_name = __import__('mod-name-str')
r = range(3);for x in r:print x
のように、;(セミコロン) に続けて for (や while) をやると、SyntaxError になるんですが、
なぜ SyntaxError なのか説明している場所があれば、教えてください。
625デフォルトの名無しさん:03/09/19 21:52
セミコロンを使えるのは、simple statement だけ。

stmt_list ::=
simple_stmt (";" simple_stmt)* [";"]

for や if は、Compound statement だから駄目。

ttp://python.org/doc/current/ref/grammar.txt
>>625
これですね。
> Several simple statements may occur on a single line separated by semicolons.

2.1 - 2.3 まで SyntaxError になったから、バグじゃないのはわかっていたけど、
理由がわかんなかった。
アリガト。
人生の敗北者なのでこれからpythonお勉強しようと思います。
t1 = ('sanma', 'aji', 'karei', 'hirame')
t2 = (300, 599, 1000, 299)
を、
d1 = {'sanma': '300', 'aji': 599, 'karei': 1000, 'hirame' : 299)
にする一番簡単なやり方はなんでしょうか?
d1 = {}
for i in range(len(t1)): d1[t1[i]] = t2[i]
じゃダメ?

t1 = ('sanma', 'aji', 'karei', 'hirame')
t2 = (300, 599, 1000, 299)
d = dict(zip(t1, t2))
ならOKだろ。
631デフォルトの名無しさん:03/09/20 21:13
>>629
ありがとう。やってみます。
ageてしまった(欝
>>630
zipの使い方を勉強してきます。
>>628
d = {}
for k, v in map(None, t1, t2):
  d[k] = v
とか
d = {}
map(d.__setitem__, t1, t2)
とか
d = dict(map(None, t1, t2))
とか。
zip は短い方に合わせるみたいだね。
map は長い方に合わせるみたい (対応する値のないところは None になる)。
os.popen("command filename")
とすると、filename が "("とかを含んでいると実行できません。
shell が理解できるようエスケープする楽な方法ないでしょうか?
エスケープしなくても
argv = ["/full/path/to/command", "filename"]
として、
os.execv(argv[0], argv)
とすれば実行できる事は分かったものの、今度は
os.fork(), os.execv() した子プロセスからの
結果の読み込み方が分かりません……。
635634:03/09/21 02:00
popen2.py を見ててテキトーに試していたら、
os.popen2(["command", "filename"])
でいけちゃった。
こーいう用法って、将来も大丈夫なのかな。
将来とは、どれぐらい先の未来のことかね。
5.xぐらいまでとか?
638デフォルトの名無しさん:03/09/26 22:08
いつものことだよ(つд`)
初めてのPython読みながら独習しているのですが,
まわりにPyやってる人全然いないんです
友人には,「Py?はあ? R勉強した方がいいよ」といわれる始末です。

こんな私ですが勇気づけてください
>>640
スレッドの伸びを考えろ!
642デフォルトの名無しさん:03/09/26 22:56
>>638
つか、ML入ってるのに、和訳完成を知ったのがスラドのこのスレっての、
いったい何よ? っていいたいんだなぁ、漏れ。

Pythonコミュニティって体温低いよな。
643sakito:03/09/26 23:33
>>640
Python系のアプリケーションはこれからも増加するでしょうし。勉強しておい
た方がよいと思います。

>>642
アレ?MLにアナウンスなかったけか?
そうかPython-doc-jpにしかアナウンスなかったかもしれない。

オイラの翻訳した物は両方に流してるのだが。。

> Pythonコミュニティって体温低いよな。
気がまわってないのかもしれない。というか殺人的に忙しい人が多いコミュニ
ティではあると思う。
644nobodyさん:03/09/27 00:36
>>643
>Python系のアプリケーションはこれからも増加するでしょうし。
>勉強しておいた方がよいと思います。
みんな騙されないように。Pyと、RubyやPerlといったメジャーな
言語を比べるとほんの出版量が断トツにちがうのが分ると思います。
正直にいうとPyをやってもメリットは一つも有りません。
(なぜこれだけ出版量の差があるのか良く考えましょう)
>>638
BeOSと同レベル
もれはライブラリの完成度(wxPython, Numeric Python)と
C++との親和性(boost::python, SWIG)から
Pythonの実用性はかなりのものだと睨んでいるのだが…

まぁ誰が何を使おうが何と言おうが
もれはPythonを愛用してゆくわけだが
>>644
> みんな騙されないように。Pyと、RubyやPerlといったメジャーな
> 言語を比べるとほんの出版量が断トツにちがうのが分ると思います。
これはどう考えても国内の話だろ?
世界をよく見れ。
648640:03/09/27 01:06
皆さん,レスサンクスです。
「インスタント・パイソン」をよんで,Pyに惹かれて勉強しようと思ったのです。
勉強続けます。
>>644
とりあえずよく考えてみたけど、オレの結論としては
日本での人気がないから、って事でしょ。
でも、海外ではRubyよりもダントツでPythonが使われているよ。
つい最近は、MacOSXにも標準でついてくるようになったし。
>>644にとっては、それでもメリットではないんだろうけど。
オレは、海外での人気が高いってのが最大のメリットだと思うけど。
>>642
python.jp(PyJUGホームページ)のPython Newsは見てるのか?
少なくとも和訳完了のニュースに関してはあそこが一番早かったぞ。
手前の情報収集のチャンネルが少なすぎるんじゃないか?
この板のムネオたんスレにも和訳完了のニュースが速攻でカキコされてたぞ?
python.orgが運営しているMLの一つや二つは入ってるんだろうな?
コミュニティの有名人のblogを巡回して読んでいるか?
手前のアンテナの不具合をコミュニティのせいにされたらかなわん。

つーか長大なマニュアルの和訳ができるだけでもコミュニティとして大したものだ。
マニュアルの和訳やニュースの類の情報提供があって当たり前だと思ってないか?
すべては有志の無償奉仕によって成り立っているという事実を忘れるな。
手前がコミュニティの一員だと思うなら文句を言う暇で自分に何ができるか考えろ。
部外者だと思うなら黙ってろ。この手の陰険なFUDはもうたくさんだ。
651642:03/09/27 10:56
>>650
正論をありがとう。情報提供があってあたりまえとかは思ってないがな。

Python-ml-jpは日本のPythonコミュニティのメインストリームと
思っているんだが違ったわけか。
貴殿があげたぐらいにアンテナ張らないとだめってとこが Py
つーかPie を小さくしてると少しは思ってくれよ。

まぁ、見境無く暑いヤシも少しはいるってところはわかった(w

THX > sakito氏、ML2527 M氏
Pythonに興味がある人が皆650のようにしてるわけじゃないし、
そうするべきとも思わない。MLに情報が流れないのはコミュニティ
(というより和訳プロジェクト)の落ち度だし、そんな状況を体温
低いと言われたら、残念だし無念だけどその通りだし、
642に逆ギレして説教するのは的外れ。FUDerが意図しようがしまいが、
火種のないFUDがくすぶることなんてない。自分が和訳プロジェクトなり
ユーザ会なりで情報が流れるように動いてFUDの種を取り除けば?

650がやっているのはFUDの片棒かつぎ。望んでそうしているのでないなら、
http://www1.neweb.ne.jp/wa/yamdas/column/technique/oss_egoj.html
などを読んで出直すことをお勧めする。
激しく誤読されたみたいなんで再度レス。

>>651
> 貴殿があげたぐらいにアンテナ張らないとだめ
そんなことは言っていない。漏れが言いたかったのは
手前の視野の狭さを棚上げにしてコミュニティを語るんじゃねぇってことだ。

>>652
> Pythonに興味がある人が皆650のようにしてるわけじゃないし、
> そうするべきとも思わない。
「Pythonに興味がある人」が「そうするべき」だなんて言っていないので念のため。
曲解された上にFUDの片棒かつぎだと言われたんじゃたまらん。
読めと言われたその文章もピント外れ。確かオプソコミュニティへの貢献についての
論説があったが、どーせならそっちを出してくれればよかった。文句を言うのも
貢献の一つだというのはよく理解してる。しかし批判は同時に建設的であるべきだ。

>>651
これは想像だが、日本のPythonコミュニティってのは多分みんなが思ってるよりも小さい。
活発に活動してるメンバーは10人かそこらじゃないだろうか。しかも皆本職が別にあって
コミュニティ活動に没頭できるほど暇じゃない。

じゃあ誰がコミュニティを盛り上げる?

和訳完了のニュースがMLに流れてないことに気付いたらpython.jpから転載するなりして流せばいいじゃないか。
アナウンス的な文章にする必要はない。ねぎらいの一言をかけるのが目的でも構わない。

デフォルトの名無しさんがすべきことは便所の落書きでコミュニティを揶揄することなのか?

手前がコミュニティを見ているように、コミュニティも手前を見ている。よく考えて行動しろ。
>>653
> 手前がコミュニティを見ているように、コミュニティも手前を見ている。よく考えて行動しろ。
テマエモナー
と言いたいところだが、Python のコミュニティって何?
良くも悪くも、そんなもん存在しないか、うっすらとしか存在しないと思う。
>>654
> Python のコミュニティって何?
狭義にはPyJUGとか和訳プロジェクトとかその他のPython関連のグループに名を連ねて
活動している人たちを指すと思われ。コミュニティに入っているという意識のある人たちが
これに加わり、さらに漠然とPythonユーザ全体を指してコミュニティと呼ぶこともあると思う。
オプソの文脈でコミュニティと言うときは後者の広い意味で使ってることが多い気がする。
「うっすらとしか存在しない」ってのはある意味その通り。

ぶっちゃけ主観でコミュニティの一員だと思っていれば一員だし部外者だと思えば部外者。
漏れは一員だと思ってるし、ここでの漏れのカキコもコミュニティ活動の一部だと思ってる。
PyJUGの面子も少なからず読み書きしているようだし。

642がここをそういう場所だと知らずに暴言を吐いたのなら「無知は罪」と言わざるを得ない。
やるべきことは、ご不満を清聴して、問題解決して、それをお知らせするだけで、
お説教は必要ないと言いたいのです。
出てきた不満に説教たれて高揚した気持ちになれるのは、説教たれてる本人だけです。
それじゃユーザのFUDは解消しやしませんよ。
文句にマイナス感情を誘うような説教で対応したら、それは貢献つぶし。
FUDのみが膨らみ、デベロッパは同じタイプの不満を聞き出しにくくなり、
ユーザは依然として不満なまま。だが文句に対して礼儀よく接し、一方で
二度と同じ文句が出ないように対処が行われると、文句を述べてくれた
ことは改善の引き金という大きな貢献になる。もし文句が貢献になるって
どこかに書いてあるとしたら、そういうモデルを言ってるんじゃないのかな。
> しかし批判は同時に建設的であるべきだ。
私は642を「Pythonに興味のあるお客」とみなしているので、客に対して
この製品を改善したければ製品の不満を建設的に述べろ、とは言いません。
おそらく642を客ととらえるかどうかで意見の食い違いがあるのでしょうね。
メンバが忙しくてメンテできないとか、「中の人」の blog でなら情報が
得られるとかいうことは、ユーザにとっては理解し同情すべき事柄なんか
じゃなく、不信感をもたらす、FUDの種そのものじゃないかな。
コミュニティがそれを解決しようと努力する一方で、それを弁解じみた
お説教に使ったら、援護射撃どころか、かえって息の長いFUDの種を植え
付けることになりませんか。
多分この先ユーザベースが増えても、MLが有用な情報源になっても、
しばらくは「日本のPythonてコミュニティ小さいんだよね。」「ML読んでも
ろくでもないよねー」という言葉が私たちを苦しめるでしょう。
MLに流れていないと言われた時点で、説教する前に自分が流せばいいかも、
と思い至るよう「よく考えて行動」してほしいなぁ。そうじゃないと、
「オマエモナー」の応酬になるでしょ?

ところで、ml-jp にお知らせが遅れたのは私のせいです。ごめんなさい。
ポストしておきました。みなさんこれに懲りずにpython-ml-jpも読み書きしてね。
657sakito:03/09/27 20:08
>>644
嘘ではないが、日本における出版物は少ないですね。
まあ、やや仕方ない部分もありますが。

>>649
海外では確かにPythonはかなり利用されています。ただやはり日本人へは日本
語ドキュメントの充実は不可欠だと思っています。

>>651
情報提供にかんしては、PyJUG関係者はややコミュニティ運営に関して素人な
方が多いのは事実かもしれないです。
コミュニティの運営は、そこに共同体があるかのように幻想を作成する部分に
あるわけで、その部分にややかけているのかもしれないです。

> 見境無く暑いヤシも少しはいるってところはわかった(w
暑すぎるぐらいがちょうどよい気がします(^_^;;
658sakito:03/09/27 20:13
あと、今回に件に関しては、>>656 氏がたまたま 2ちゃんねるを見ていたから
対応されただけでして、こういった掲示板や日記などでの一人言はなかなか意
見として見つけずらい所があります。

よければML等に御意見をおよせください。
ただ、匿名の方が意見いいやすいでしょうから、このスレはある意味貴重だと
思っています。

# まあ、すべて個人的な意見以外の何者でもないんですけどね。
壊れた画像や画像以外のデーターを読み込んだとき
except でキャッチすることはできるのですが
「No handler type for image file」などエラーダイアログが表示されます
このダイアログを止める方法はないものでしょうか?

data = open((fname), "rb").read()
try:
stream = StringIO(data)
self.bmp = wxBitmapFromImage( wxImageFromStream( stream ))
except:
# エラーダイアログの表示
...

なんかすごいな
Pythonのメーリングリストの人たちは全然敗北者に見えない
今更だけどこのスレって失礼なものかもね。

ていうか誰がこのスレタイで建てたんだよ
俺はまだ敗北してないぞ
662名無しさん:03/09/28 00:28
マダ?


モウスグダネ( ̄ー ̄)ニヤリッ
>>642
> Pythonコミュニティって体温低いよな。
ヘビだけにな。


つーレスは禁句なのか…
664642:03/09/28 01:49
>>663
じ、じつはそのツッコミをまっていたんだが、
大騒ぎになってもーた。
まったくもって申し訳なし。空気読めんかった。

642の最後の一文については撤回し関係各位に謝罪します。

寒くなったんで漏れはもう冬眠します。追わないでください。
Pythonユーザってあわれだね、ってこのスレ読んで思たよ
ヘビーなギャグだな
人生の敗北者"でも"だから、使っている人がすべからく敗北者
というわけでもあるまい。
ただ、MLは敗北者には入りずらい雰囲気はある。
ま、そのためにこのスレがあるんだよな。

それでも、Pythonが宣伝不足なのは否めないな。
でも、人に勧めようものなら、「インデント?(w」
って言われちゃうのが怖くて、人に勧めにくいのは確かだ。

だから、Pythonチュートリアルにちょっと加筆したりして、
ばんばん出版しちゃえばいいんじゃない?
Tkinterとか、XML関連の本も翻訳するなりして出版しちゃえば
いいじゃん。
それ以外にメジャーになる方法はないと思うよ。
出版社的には、そんな儲けの見込めなさそうな賭けには
出ないような気もするんだけどな・・・。
と思ったけど、Ruby本乱立の方は、ブームには乗ってると
思うけど、各社採算は採れてるのかな・・・。

> XML関連の本
辛うじて一冊(未満)あったりとか。
ttp://www.gihyo.co.jp/books/syoseki.php/4-7741-1641-6

個人的には256倍本みたいなノリのPython本とかあったり
すると楽しいんだけど、ニーズはあるのかな。
同人誌としてιょぅι"ょ絵付きで作ったら売れるんだろうかw
こんな(↓)ノリでさ。
ttp://book.mycom.co.jp/book/4-8399-0793-5/4-8399-0793-5.shtml
ttp://book.mycom.co.jp/book/4-8399-0955-5/4-8399-0955-5.shtml
ttp://book.mycom.co.jp/book/4-8399-0986-5/4-8399-0986-5.shtml
絵はイラネ
>>668
、、、
>Perl/Python/PHPによる XML プロセッシング徹底解説

こんなこと言ったらまた水差しちゃうかもだけど、イマイチかも。この本。
おれが人生の敗北者だからかもしれんが、
ケーススタディが1個も無くて全体像がつかみ辛かった。
PyJUG のなかのひとは何人くらいいるの?
某メーリングリストの誤爆を見る限り、入会条件が厳しいみたいだが。
>>668
一番下のURLの本面白そうだすね
>>669-670
Pythonにそーゆーノリは要らないって人多いみたいね。
なんかそんな雰囲気。 むしろPython自身に萌え?

>>673
明日発売だYo! たぶん漏れも買うYo!
675sakito:03/09/28 20:25
>>659
wxPythonですよね?環境ぐらい記述してね。
initしてないだけなんではないだろか?

>>664
えー。来てほしいな。おいらちょっと(?)マゾなんで厳しい御言葉をいただきたい(w

>>667
本の出版協力してください(T_T)。明かに人手が不足です。

>>672
人数はおいらも知らない。入会条件はPyJUG入会したら何したいかの初心表明が
できるかだどうかだと思われます。
>>659
wxInitAllImageHandlers() を最初に呼び出していますか?
wxApp サブクラスの OnInit() などできちんと呼び出していても
出るようなら,wxImageHandler.LoadFile(verbose=False) を使って
実装できるかどうか試してみてはどうでしょう.ダイアログが出るのは
wxLogMessage() が呼び出されるためです.wxImageFromStream() は
imagec.pyd 内のコードを呼び出しているので,この実装にPython
レベルで割り込む方法を私は知りません.ちなみに,wxApp.MainLoop()
でイベントループに入る前に異常なファイルに対してwxImageFromStream()
を呼び出すと,パネルは表示されません.

>>674
>Pythonにそーゆーノリは要らないって人多いみたいね。
>なんかそんな雰囲気。 むしろPython自身に萌え?

ttp://ninix-aya.sourceforge.jp/ (ぼそ)
678デフォルトの名無しさん:03/09/29 06:45
 え〜、
ひとつのマシンの中のみでPythonアプリの間で通信を行いたいのですが、
どうすれば簡単におこなえるでしょうか?
680デフォルトの名無しさん:03/09/29 07:02
どうにでもなるんじゃないの。ソケットなりなんなり
681名無しさん:03/09/29 09:24
はんなり
asyncore モジュールを使えば,ソケットを使った非同期通信を実現できます.
http://www.nightmare.com/pythonwin/async_sockets.html
にサンプルがありますが,これは英語です.また,
http://www-6.ibm.com/jp/developerworks/webservices/030502/j_ws-pyth12.html
にもasyncore を使ったプログラムがあります.
ライブラリリファレンスの11章
http://www.python.jp/pub/doc_jp/lib/internet.html
には,様々なインターネットプロトコルを利用するためのライブラリがあります.
SocketServer
http://www.python.jp/pub/doc_jp/lib/module-SocketServer.html
asyncore
http://www.python.jp/pub/doc_jp/lib/module-asyncore.html
などを参照してみてください.
より低レベルの socket モジュール
http://www.python.jp/pub/doc_jp/lib/module-socket.html
を使った通信プログラムの例は,
http://ll.jus.or.jp/document/p3-all-python.pdf
にあります.


>>682
679は「一つのマシンの中のみで」と言っているけど…
あとasyncoreモジュールは初耳
684679:03/09/29 22:18
>>682
ありがとうございました。
685sakito:03/09/29 23:51
>>678
それが正しいんですね? (え〜、
# 、も必要なんでしょうか?

>>682
スゴ

>>683
一つのマシンの中でのみか、外部ともか、は実質違いはないです。


686sakito:03/10/01 00:38
日本人によるPython本がでるならどんなの読みたいです?
おいらには力ないけど、だれかが聞いてくれるかも。
漏れはイントロスペクションと
メタプログラミング、アスペクト指向当たりのことを
カッチリ書いてある本が欲しいっす。

日本発のdeepな書籍があったっていいじゃないか。
×イントロペクション
○インストロペクション
インスペクション?
>>686
256倍(インデントの話だけで、半分ぐらい費やす感じの)
XML
拡張モジュールの書き方(組み込みも含む)
イテレータも実装されたんで、Ruby本みたいなオブジェクト指向
を解説した本。

厨な観点からするとこんな感じだな。
>> 689
へ?イントロスペクションでしょ。
http://www-106.ibm.com/developerworks/linux/library/l-pyint.html
間を取ってイントスロペクションにしる!
暇ができたら書きたいねぇ。商業には乗らないと思うけど。
695デフォルトの名無しさん:03/10/02 07:01
インストロールみたいだな。
697sakito:03/10/02 23:41
>>695
RC1ですね。正式版はもうすこし後かな。
698sakito:03/10/02 23:43
>>687
萌え系の書籍はある程度その分野の市場が飽和状態にならないと売れない
かもですね。
Pythonにはちょとまだ早いかもしれないです。
あと萌えをちゃんと書ける人って意外とすくないですよね。。

>>688
これは傾向として256系かもしれない。
>>691
256書籍って人気あるんですね。

>>694
商業に乗せるの結構大変。今出版不況だし。
ただ、Python本は内容にもよるけど、結構売れる余地があると思います。

# Mac lib翻訳ただいま校正中、、
>>697-698
カキコのノリ(雰囲気)がML的でうねw
微温的だね。
>>697
今見に行ったら>>695のはちゃんとfinalだったよ。
機械タソの方だよね?>微温ML
メーリングリストにちょくちょく顔を出す滝中さんと、最近クヌース本を訳した滝中さんは同一人物でつか?
コンピュータ科学者がめったに語らないこと
D・E・クヌース (著), 滝沢 徹 (翻訳), 牧野 祐子 (翻訳), 富澤 昇 (翻訳)

たきざわ…(ざわ… ざわ…)
確かに韻は踏んでいるが、(ry
(゚Д゚)
707sakito:03/10/10 00:10
Macintosh Library Modulesドキュメント訳了しました。
http://www.python.jp/pub/doc_jp/mac_2.3/

よろしくです。
Mac使いでPython使いってどんくらいいるのだろ?

あと、Mac OS X 10.3発表されたね。
Python 2.3シリーズを搭載するぽ。
>>708
Python や Ruby のどのバージョンがインストールされているのか、一覧表のようなものは
ありますか?
http://www.opensource.apple.com/darwinsource/7.0b1/

に,おそらく10.3 に相当するDarwin 7.0b1 のサブプロジェクト一覧があります.
不幸なことに,各プロジェクトに振られているバージョンナンバ (Python-4.2)
は,元のリリースバージョンを反映していません.各リンクをたどり,
ソースコードの Changes を読んで調べてください.
ちなみに,Python は 2.3 ,Ruby は 1.6.8 のようです.
>>710
Changes はどこにあるのかわからなかったけど、 what's new のバージョンで確認しました。
ここで質問しても意味なさそうだけど、mailman で購読を取り消したときに、
「購読取り消しますた」っていう確認メールがこないのは仕様なのか、それとも
オプション次第で送信可能なのかどっちなんですか?
713デフォルトの名無しさん:03/10/11 20:04
 WindowsでPyQtを使い始めたのですが、PythonWinで日本語を表示したくても、フォントをMS Gothicにしたくらいでは表示されません。表示する方法があれば教えてください。
ユーザガイドには,購読解除が処理されると,購読解除が承認された
旨がかかれたメイルを「多分 (probably)」受け取ることになります,
とあるので,もともと送ってくる仕様だと思います.
716デフォルトの名無しさん:03/10/11 21:15
 コメント感謝。ただ知りたいのは、ActiveState版じゃないpythonでもってPyQtを使い始め、\python22jp\Lib\site-packages\Pythonwin以下の、Pythonwin.exeというエディタ上で注釈用の日本語が表示されないのが問題なのです。
引き続きコメントお待ちしてます。
おそらく View → Options の, General Options タブにある
Interactive Window グループで, 3 つのフォント指定を変更したのだと
思いますが,それだけでは不足です.Format タブの Default グループも
変更してください.FixedSys と MS ゴシックの組み合わせで良いと思います.
これは Qt の問題というより,PythonWin の設定の問題です.
718713:03/10/11 23:21
 ずばりでした。PythonWinはだいぶ評判が良いようなので、使い込むのが楽しみです。ありがとう
>>712
オプション次第で、送信するのがデフォルトです。
>>718
> PythonWinはだいぶ評判が良いようなので
初耳だ。
cursesでsubwinから作ったwindowオブジェクトで、
 win1.getch()
とやっても、curses.KEY_LEFTなどが受け取れないのですが、
どうしたらよいでしょうか?
722sakito:03/10/12 11:15
>>708
かなり少ないはずです(つД`)

>>720
ネコミミです。

エディタはおいといて、Winとの親和性はよくなりますね。

>>721
http://www.amk.ca/python/howto/curses/
は読んでます?
ウィンドウに対して keypad(1) を呼び出さないと,curses はキーパッドからの
エスケープシーケンスキャラクタを解釈しません.

http://www.python.jp/pub/doc_jp/lib/curses-window-objects.html#l2h-1888

などを参照してみてください.
>>722
win1.keypad(1)
とやったらできました。ありがd。
725デフォルトの名無しさん:03/10/12 13:10
pygtk使ってる使途いる?
┃━┏┃イルーヨ
curses.KEY_LEFT は okなんだけど、
Meta-m とかが受け取れない。
"m, ESC" というシーケンスが送られてくる。
curses でシンボル定数への対応付けが行われているキーキャップは,
http://www.python.jp/pub/doc_jp/lib/node216.html
で示されているキーキャップ群のサブセットにすぎません.
import curses; dir(curses) として,使えるキーキャップを
調べてください.
それ以外のシーケンスは,自分で解釈コードを書く必要があると思います.
>>728
解釈コードはどのレベルで書けばいいのでしょうか。
それと、'Meta-m'とか 'M-m'みたいな表記で使いたいわけではなく、
M-mなら 237というコードが得られればそれでいいのですが、
これはやっかいなんでしょうか。
curses.meta(1) してみてください.
http://www.python.jp/pub/doc_jp/lib/curses-functions.html#l2h-1810
ad hoc なのでよければ:

import curses, curses.ascii

win = curses.initscr()
win.keypad(1)

while 1:
 ch = win.getch()
 escflag = 0
 if ch == 0x1b:
  escflag = 1
  ch = win.getch()

 if escflag:
  print [curses.ascii.alt(ch)]
 else:
  print [ch]

とできます.ただ,これでは全てのエスケープシーケンスを網羅できてないような
気がします.

# curses.meta(1) のことは忘れてね
>>730
自分が作ったプログラムでないので理解してないのですが、
curses.meta(1) は元からしてあるもののダメなのでした。

>>731
以前同じ考えに基づいて調べてみたときは、
シーケンスが m, ESC だった気がして、
これが逆ならば簡単なのにぃ〜と思ったのですが、
今試してみたらちゃんと(?) ESC, m の順でした。
とりあえず解決できたので tnx! ということで。
たまに
str = _("hoge")
みたいな形式を見るのですが、これは
str = "hoge"
となにが違うのでしょうか?
def _(s):
return unicode(s, "sjis")

とか?
>>734
あっ、関数だったのか。気付かなかった。
ちなみに Sketchで gettextの為に使われてました。
>> 735
関数とは限らないよ。クラスかもしれないし。
CherryPyのチュートリアルの訳をしてみますた。

http://montpython.s13.xrea.com/

Zopeはいろいろ大変なのでまずこっちからやってみては?
>>733
むしろ、boa に興味津々。
_(string) は,gettext でメッセージの翻訳をする関数名として慣用的に使われて
います.gettext を利用している状態で, _(string) とすると,gettext の現在の設定に
応じて, string に対応する翻訳メッセージがメッセージカタログから検索され
返されます.
http://www.python.jp/pub/doc_jp/lib/node266.html や
http://www.python.jp/pub/doc_jp/lib/node267.html を参照してみてください.
740sakito:03/10/15 23:16
>737

MLに流してみては?
だめなら、PyJUGのニュースに投稿してもらえると嬉しいです。

http://www.python.jp/Zope/PyLog/addPostingForm
ここからどうぞ。
短かくても補足とかしますよ。

だめですか?

sakito って誰?
コテハンで書くほどの内容じゃないよね、いつも。
うーん、メーリングリストとか見ないからヲレもだれなのかしらない。
どこかのコテハン?
>>742
> どこかのコテハン?
http://pc.2ch.net/test/read.cgi/mac/1054470569/

なんでPythonスレに来てるんだろ〜?
たぶん律義な人なんです。
そういやマックにも標準で入るようになったんだっけか。
> While we're hacking on [].sort(), how horrible would it be if we
> modified it to return self instead of None?

-1000. This is non-negotiable.

--Guidoパパ



(゚∀゚)アヒャヒャ
pythonも、もうちょっと返り値使えるようになると(・∀・)イイ!!
sys.exit('agree')
>>747
具体的にはどうゆうこと?
>>749
>>746 に関連して
list.sort().reverse()
のようなことをやりたいということでは?
>>750
なるほど。漏れもはじめのころは返り値無いのに気付かなかったから焦ったな。
boaおもしろそ。
753385:03/10/16 23:23
>>712
亀レスかつスレ違いだけどこれのことかな.

# /var/mailman/bin/config_list -o - a-list |grep ^send_goodbye_msg
send_goodbye_msg = 1

変更するには(力技)、

# /var/mailman/bin/config_list -o - a-list | sed -e 's/send_goodbye_msg\ =\ 1/send_goodbye_msg\ =\ 0/' > config.a-list
# /var/mailman/bin/config_list -i config.a-list a-list

本当は bin/with_list を使って python script 書いてやりたいけれど
この程度の小さなスクリプト書くのには python はあまり向いていない気がする。
754sakito:03/10/16 23:45
>>741
なんか2ちゃんねるでコテハンにこういう反応するスレってひさしぶり。
あまり気にしない方がいいです。コテハンごとき。名無しと違う所なんてないのだし。

>>737
boaは結構手軽。Winなら日本語入力できるのかな?
>>754
>名無しと違う所なんてないのだし。

固定は叩く標的になりますよ( ̄ー ̄)ニヤリッ
>>> class listf(list):
...     def sortf(self, *args):
...         self.sort(*args)
...         return self
...
>>> L = listf([8,6,1,4,9,3,7,5,2])
>>> L.sortf()
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>
>>> class copylist(list):
...   def sort(self, *args):
...     s = list(self)
...     s.sort(*args)
...     return self.__class__(s)
...   def reverse(self):
...     s = list(self)
...     s.reverse()
...     return self.__class__(s)
...
>>> L = copylist([2, 3, 5, 1, 4])
>>> print L.reverse()
[4, 1, 5, 3, 2]
>>> print L.sort()
[1, 2, 3, 4, 5]
>>> print L.sort().reverse()
[5, 4, 3, 2, 1]
>>> print L
[2, 3, 5, 1, 4]
>>>

元のリストには手をつけず複製されたリストを返すところがポイント。
もし sort と reverse の戻り値をリストにするとしたら
>>756さんの例と漏れの例のどっちのセマンティクスになるんでらう?
somelist.sort(lambda x,y: cmp(y,x))
ではだめですか?
759sakit0:03/10/17 19:25
>sakito
こんな感じで簡単に偽者になれるんだから、
トリップかぶれば?
>>758
何の話?
別に荒れてるわけでもなし、別にいいのでは?
ずいぶん前から彼がコテハンで書き込みしてても
これまでなんともなかったんだし。
# なんで今更目をつけるのかな〜。
762sakito:03/10/17 22:29
>>759
偽物になるのは得策ではありません。きっと。。
まあ、いてもいいです。

>>761
荒れる徴候が出てきたので、以後は名無しにもどります。
2ちゃんねるでは、まったく無名か、中途半端に有名なコテハンはタタキの標的
になりやすい傾向があるようです。
ぼくが 中途半端に有名なコテハン として認識されているのでしょう。

>>757
のやり方結構好き。

Pythonでアルゴリズムに関しては以下のようなドキュメントがあります。
http://www.brpreiss.com/books/opus7/
>>758
いいわけないでしょ。
sort() や reverse() が戻り値をかえすようにしたいというのが提案なのだから。

別の例として
return lst.sort()
が出来るようにしたいと言うこと。
* Alice v2.0b - 3D Authoring System
   http://www.alice.org/

楽しそうだが、ファイルが大きいので、まだ試さず…。
顔がかわいくねー。
>>766
おまえもまだまだダナー。
わたしはその絵はOKだな。
EAのアリスインナイトメアも楽しく遊んだ。
www.japan.ea.com/alice/main.html
ところで喪前ら、どのプログラミング言語に浮気してる?
漏れは Python に慣れ過ぎてプログラミングのすべてを Python で考える癖がついてしまった。
これじゃいかん、というか面白みがないんで、たまに C とか Java に浮気してみたりする。
結局 Python に戻って来てしまうんで「浮気」なわけだが。
喪前らはどーよ。
Java と Python で使い分けてますが?
C 系言語はもうほとんど使ってない。

ただ、関数型言語には微妙に興味ある。
趣味でC++, 実益でC, 研究でJava, 気になるのはHaskell(てか型演繹)とPostScript(笑
浮気しすぎw
使えると言えるのはCとPython、Perl、あと趣味lispくらい。
Python使い始めてからは、Perlほとんどしてないな。
私は ruby が嫌いで仕方がないのですが
ruby のソースファイルを python に変換できないものでしょうか?
もちろん機能は損なうことなしに python で表現すれば良いのですが
さらに perl との互換性もあると更に良し
>>773
http://www.ohmsha.co.jp/data/link/4-274-06515-4/ + http://www.pearsoned.co.jp/washo/prog/wa_pro63-j.html

・・・というのは二割方冗談だけど、結局キミの嫌いなRubyをよく知らないと変換できないのは本当。
I本さんはひょっとして Python 本を執筆中?
>>775
雑誌に書くだけかも。
>>773
嫌っている暇があったら好きなことをすればいいのに。ケセラセラ。
778デフォルトの名無しさん:03/10/23 01:51
Python で ファイルが存在するかどうか調べたいときはどうするのでしょうか、
open(infile) なんかでPerlのdieみたいな感じで使いたいのですが.
import os, sys
os.path.exists(path) or sys.exit()
Python 関連の和訳の成果が次々に報告されている昨今だけど、
日本の蛇使いが最近リリースした新しいアプリって何かある?
あってもニュースにならないのは Python が円熟してきたということなのか、
それとも・・・。
781778:03/10/23 02:11
さんきゅです 助かりました.
782デフォルトの名無しさん:03/10/23 02:43
剰余演算子%の意味が分かりません。
教えてください。
783デフォルトの名無しさん:03/10/23 02:48
jythonはどこへいった?
784デフォルトの名無しさん:03/10/23 02:49
日本語の入力はどうすれば出来るんだ?
>>782
割ったときの「余り」を求める演算子だよ。
>>> 20 / 3
6
>>> 20 % 3
2
>>>
この場合、20 割る 3 は 6 余り 2。
>>784 環境をかけ。
>>782
>>785

まとめると、
>>> divmod(20, 3)
(6, 2)
788デフォルトの名無しさん:03/10/23 14:19
スト2のボクサー
そんなこと言うためにageたのかよ
Perl肉ラベルとPythonのほうが日本語処理はずっとシームレスだなと思う。
Perlって調べること大杉益代ね。

こないだSPAMサンド食ったよ。けっこううまかった。フレッシュネスだから高いけど。
>>784
質問をrefineしてください。
岩田さんのサイトは Medusa で動いているんですね。
知らなかった。
Python-Devで
closureがどうのこうのって話がでてるけど
だれか要約してください
>>793
改めてそのスレを読んでみた。議題は Guido の最初のポストにある通り。
ttp://mail.python.org/pipermail/python-dev/2003-October/039214.html
・ネストした名前空間の内側から外側の変数を書き換えるには何らかの宣言が必要。
・global 《変数》 in 《関数》 という宣言はどうだろうか。

新しい宣言の文法は、次のような条件を満たす必要がある。
・既存の global 文の意味を変えないこと
・新しいキーワードを必要としないこと
・読みやすいこと

Guido が提案した宣言方法の主な欠点は、宣言に関数名が入っているので
外側の関数名を変えた場合に内側のすべての global-in 文を書き換えて
まわらなければならないということ。

宣言の文法に関してはたくさんの提案が出ているけれど、ザッと見た感じでは
Guido の案が妥当な気がする。あとは、グローバル変数そのものについての賛否とか、
ネストした名前空間の内側から外側の変数を書き換えるコード例とかそんな感じ。

全体はとして、Guido の最初の「どうよ?」という提案をあれこれ検討中という流れ。
関数名の書き換えが面倒な点については容認する方向で議論が進んでいるようだ。
長いスレだけど結論は最初から出ていて目新しさはない感じ。
795794:03/10/24 20:50
ちょっと補足。やりたいことは、
ネストした名前空間の内側から外側の「ローカル」変数を書き換える
ってことね。
796794:03/10/24 21:01
個人的にはネストした名前空間なんて使いたいと思わない(読みにくい)し、
外側の名前空間へのアクセスが必要ならクラスを使えばいいじゃんと思う。
この点について Guido パパは、
ttp://mail.python.org/pipermail/python-dev/2003-October/039303.html
・クラス恐怖症の人がいる
・関数の名前空間の方が安上がりであると考える人がいる(要ベンチマーク調査)
と指摘している。
このポストにあるコード例は正直言ってよく分からん。
やっぱネストした名前空間は漏れとは無縁のものらしい。連投スマソ
あんま使い道なさそうじゃね?
見えてるんなら名前変えりゃいいだけだし。
>>797
> 見えてるんなら名前変えりゃいいだけだし。

なんのこっちゃ?
PIL 使ってるけどC拡張で泣かされてるよ.
http://effbot.org/zone/pil-extending.htm
にあるコードってポインタがlong型で作られてることを期待した
ちょっと危ないコードに見えるんだけど.
>>799
確かに危なっかしいけど、sizeof(long) < size(Imaging *) が成り立つ環境ってあるのかな。
あと、微妙に Imaging パケジのバージョンに依存しそうだけど↓こういうのはどうよ。

#include "Python.h"
#include "Imaging.h"

typedef struct { /* _imaging.c からコピペ */
  PyObject_HEAD
  Imaging image;
} ImagingObject;

static PyObject *
imgop_test(PyObject *self, PyObject *args)
{
 ImagingObject *im;

 if (!PyArg_ParseTuple(args, "O:imgop_test", &im))
  return NULL;
 if (strcmp(im->ob_type->tp_name, "ImagingCore")) {
  PyErr_SetString(PyExc_TypeError, "1st argument must be an ImagingCore");
  return NULL;
 }
 return Py_BuildValue("(ii)", im->image->xsize, im->image->ysize);
}

必要なら動くコードをうpするよ。
ANSI規格が手元にないんだけど、ポインタはlongにキャストして良し
って決まりじゃなかったっけ?
802799:03/10/25 05:25
あーこんな方法があるのですか、
Python のイメージオブジェクトを渡せば
Imaging.h の ImagingMemoryInstance のフィールドに全部アクセスできるので

im->image->image[y][x]
でピクセルの値がゲットできるってことでいいのでしょうか。
803800:03/10/25 07:03
>>802
そゆことです。思いつきで短時間ででっち上げた方法だから保証はないけど。
Subject: [Python-Dev] cloning iterators again
http://mail.python.org/pipermail/python-dev/2003-October/039593.html

以下のコードは実にきれいだ。共有しなきゃ。

Andrew Koenig の「コピー可能なイタレータのラッパー」というアイデアの
いろんな実装方法について考えていた。これは、Raymond Hettinger の tee() を
一般化したものをサポートする。必要なのはある種のキュー的なデータ構造
だけど、私の思いつくキューはどれも追加要件のために多くの管理を必要と
しすぎた。最終的に私は (Andrew にとっては驚きじゃないだろうけど :-)
単方向連結リストが最良の実装方法だということに気づいた。そう、Python に
おける連結リストのユースケースだ! この方法ならイタレータのひとつが使い
尽くされる前に破棄された場合の GC の問題をうまく扱える。

Raymond がこれをC言語で実装できることを望むよ。

(訳註: コード部分は省略。上記URLを参照のこと)

-- Guidoパパ
805デフォルトの名無しさん:03/10/29 06:30
>>> Biff.knock(McFly)
>>> Biff.knock(McFly)
>>> Biff.say("Hello, hello, anybody home?")
806デフォルトの名無しさん:03/10/29 13:30
pythonでバイナリ値(整数および浮動少数点数)をファイルに書き出すにはどうしたらいいのでしょう?
ファイルオブジェクトには文字列出力のメソッドしかなさそうなのですが。。
>>806
http://www.python.jp/pub/doc_jp/lib/module-struct.html
>>> import struct
>>> struct.pack("II", 1024, 2048)
'\000\004\000\000\000\010\000\000'
>>> struct.unpack("II", "\000\004\000\000\000\010\000\000")
(1024L, 2048L)
>>>
808806:03/10/29 15:26
なるほど、文字列へ変換して出すということですね。
ありがとうございます。
(structは文字列→バイナリ変換のみの機能だと勘違いしてました)
Rubyでいうところの、attr_accessorみたいなインスタンス変数へのアクセスを
関数定義をさぼれる機能はPythonにありますか? それとも各インスタンスへの
アクセスはこつこつと関数定義しないと駄目ですか?
Python的には「何もしなくてよろしい」が正解かな。
インスタンス変数が基本的にpublicだから。

class Spam:
  def __init__(self):
    self.n = None
s = Spam()
s.n = 10
print s.n
python以外のoop知らないからはずしてるかも知れんけど、
foo.bar = "baz"
みたいに直接触るのは嫌って事?
カプセル化ってよくわかんない。
あくせっさメソッドはかかなくてよいです。
逆に、あくせすしてほしくない inst var の
名前には "__" (二つのアンダーバー) プレ
フィクスをつけてその気持ちを表現します。
x.__a ⇒ AttributeError となります。
くわしくは Tutorial か何かをよんでください。
813809:03/10/30 00:07
>>810-812
早速のお返事ありがとうございます。Python流の方法というわけですね。
私の疑問はほぼみなさんのお陰で解決したのですが、

foo.baz = "baz"

というところを、タイポで

foo.bax = "baz"

みたいに代入してしまっても、Pythonのインタプリタは素直に新しい
インスタンス変数を用意してしまうようですが、こういったところは
気をつけるしかないんでしょうかね。

それとも、こういった場合のtipsはあるんでしょうか。
気をつけるのがデフォだねぇ。
どうせすぐ見つかる類の間違いだし。

どうしてもっていうなら__getattr__, __setattr__辺りで
捕まえるとかあるけど。
815809:03/10/30 01:09
なるほど。わかりました。
どうもありがとうございました。
Python 2.3.1 (#47, Sep 23 2003, 23:47:32) [MSC v.1200 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.

IDLE 1.0
>>> class C(object):
        __slots__ = ['x', 'y']

>>> obj = C()
>>> obj.x = 42
>>> obj.x
42
>>> obj.y= 'spam'
>>> obj.y
'spam'
>>> obj.z = 'ham'

Traceback (most recent call last):
  File "<pyshell#20>", line 1, in -toplevel-
    obj.z = 'ham'
AttributeError: 'C' object has no attribute 'z'
>>>
Lerning Python の第2版が出るみたいだね。
買おうかな。
>>816
あれ、前試したら例外飛ばなかったよ。
・・・と思ったらold style classじゃだめなのね。
両方819だ!
http://www.geocities.jp/objectbrain/ のPythonコードを書いてる懸田さんってだれ?
コードがかなりクソなのだけど。
>>820
藻前さんの華麗なコーディングではどう書く?
>820
「懸田 Python」でぐぐるとよろし。

コードはクソというか、Python流ぽくないかんじ。

…とおもったらJavaのコード見て分かった。
ベタ移植しただけだわ、これ。
しかもJavaにあったコメント消えてるし。
> 上
_名指しで_ コードがクソだの言いなさんなよ
>>822
> コードはクソというか、Python流ぽくないかんじ。
自分も同じこと思った。
部分的に、「これ、本当に動くの?」と思ってしまった。
元が Java での OO の説明だからな。
python っぽくないのは仕方ないだろ。
・・・って無論大元の本を読んでいて、
説明用コードの移植としてのコメントだよな?
じゃぁ聞くけどさぁ、
> print("たべてます")
こういうのを何とも思わないわけ?
>>826
本家読むのめんどくさいからその前後も引用してくれ
828デフォルトの名無しさん:03/11/02 08:47
>826
何を食べているのだろう、と思います。
フジパン・ネオ黒糖ロール(3個入)を、たべてます
「オブジェクト脳」とかほざく奴の書きそうなコードだな。
Pythonとしての出来、というより、OOP本のサンプルとして出来悪杉。
口だけは一丁前ですね
>>826
>> print("たべてます")
>こういうのを何とも思わないわけ?
じゃ「さんざ悪態ついておいてprintにツッコミかよ(ショボ」って感じ

もっと琴線に触れる部分引用してくれや
口すらも半人前の >>831

( ´_ゝ`)まあ餅つけよ敗北者ども
OOP本のサンプルとしてふさわしかるべき
pythonコードが、はやく見たいよ〜! :-)
ところで >>835て、懸田って人?顔真っ赤になってる?
(試験構成: WinXP, Python2.3.2, wxPython 2.4.2.4u)
wxListCtrlのサイズを外側のwindowに自動で合わせる方法を教えてください。現在のコードは、以下です:

# -*- encoding: mbcs -*-
import os
from wxPython.wx import *
DEFAULT_ID = -1
u = unicode

class ListViewEx(wxApp):
    """wxListView experiment"""
    def OnInit(self):
        self.frame = wxFrame(None, DEFAULT_ID, title=u('wxPy試作08'), size=(400, 300))
        self.panel = wxPanel(self.frame, DEFAULT_ID)
        # XXX: wxListCtrlのサイズを、自動的に、外側のwxPanelに合わせたい
        self.list = wxListCtrl(self.panel, DEFAULT_ID, style=wxLC_REPORT, size=(400, 200))
        self.list_config([(u('ファイル名'), 250), (u('サイズ'), 90)])
        self.list_feed('.')
        self.frame.Show(True)
        self.SetTopWindow(self.frame)
        return True
意図に反して、下げちゃった。続きです:

    def list_config(self, columns):
        """self.listの初期設定"""
        self.list.SetBackgroundColour('light blue')
        for i, (name, width) in enumerate(columns):
            self.list.InsertColumn(i, name)
            self.list.SetColumnWidth(i, width)

    def list_feed(self, dirname='.'):
        """dirname のファイル一覧をself.listにセット"""
        for i, filename in enumerate(os.listdir(dirname)):
            sz = str(os.path.getsize(filename))
            idx = self.list.InsertStringItem(i, unicode(filename))
            self.list.SetStringItem(idx, 1, sz)
    
if __name__ == '__main__':
    app = ListViewEx()
    app.MainLoop()
(おしまい)
....
self.list_feed('.')
sz = wxBoxSizer(wxVERTICAL)
sz.Add(self.list, 1, wxALL|wxEXPAND)
self.panel.SetSizer(sz)
self.frame.Show(True)
....
intaractiveモードでクラスや関数を作り散らかして、カタチができてきたら
ファイルに落としたい、というような気持ちがあるのですが、
そういった機能ってあるんでしょうか
せめて定義したクラス、関数のリストを再表示できればコピペで持ってくんですけど
>>840
Unix なら script コマンドを使うところかな。
端末の入出力をすべてファイルに書き出すことができるよ。

でも、インタプリタでクラスとか関数を定義するのって面倒じゃない?
一部を変更しようと思ったら全部入力し直しだよね。
エディタで書いておいてインタプリタにコピペするか、
モジュールとして書いておいてインタプリタで import (reload) する方が
楽なような気がするなぁ。まあいいけど。
>>840
KaaEditを使う
>>842
もう、一般公開されてなかったような。
>>837
wx/libを掘るとmixinがあるよ
Demoをもっとよく読んでみそ
845844:03/11/02 22:34
ってカラムヘッダのサイズをウィンドウに合わせる話じゃないよね。
早とちりスマソ。
846837:03/11/03 02:29
>>839
誠に、ありがとう。
wxBoxSizer というものを、はじめて知ったかもしれない。
847837:03/11/03 02:33
「カラムヘッダのサイズをウィンドウに合わせる」ですと?
ひょっとすると、わたしは、そういうことも、したいかも知れない。
>>844 = 845 さんも、誠に、ありがとう。
>>840
pythonの対話セッションをコピペ的に
再利用するときに、sys.ps1 と sys.ps2、
プログラムからの stdout と stderr への
出力が余計となりますが、最近の
wxPython に含まれる PyCrust では、
ウインドウの下部にある Session タブに
入力のみの履歴が表示され、それらを
Select & Copy することができます。
これぞまさに、840さんのために作成された
ツールといっても、満更、過言ではないでしょう。
wxPythonはhttp://wxpython.org/から
↑気色悪い日本語だな。ムネヲタンか?
>>839,844-845 旦那がた、ありがとうごぜえました。
wxBoxSizer & wxListCtrlAutoWidthMixinの使いかたがわかりました。

file('wx08c.zip', 'wb').write("""\
UEsDBBQAAAAIAJKAYy/M5OtcbgQAACwJAAAIAAAAd3gwOGMucHmNVc1v40QUv0fK/zC0h9hR4qbb
VnQrZcGbpt2waRsl3t0gFrlOMmmG2mPLHuMULRIdHxBdtloWdrkjhOCwBwQSQqo4cEBUggsXTnBC
qy0Cac+cmBnbtZOGD18ymffe73383nsz/9yC77kLPYQXIH4dOAdkZON8bh6Ui2UAcd8eILy3Bqxe
3+NXXKLWrnfWAP304c93H4fd8N2W4ZIlaYHA/mhhsbKydHllZfn5SzK4cmV16XJpdXm5vLq8ks8N
XdsCwbglPCjBGCDLsV0CitMiE/UUC40R9tjRI33imoluMG6ymxq7UX1i30IDMtrimjHEnmn3ElV+
jq9tT3EMMjqXQOKhN2A+l8+t1zfUG01Nb6yDKigv5nM++/UxYmkLed80PA90oDlUB6/5HjF6JlzL
5wD75ubmgvFVe9xhUC49pU/o01ALa+HL9Nl9GCA8sAN6eu9t+if9mp5FJuxLE6CnLMcywvQL+js9
o5/T7+izo7/e++nwKkOO9AdwCAzhV/JYCPLaOQzgCbgs1jQEKRjfrLe1Rk1tyqnePOh2u2tgV1EH
g13m4iP6cXgY3g574ejRCf3xg98+/JV+Tx+H2+FRuMmih+HV0Kef0W8fnBx9+X6DfjPlkuOIYEpg
scS8q83mnWBc77bU7fWMW8dwISYsPq6qbELSEhfSBRWlA0kUvoCX06JvIBNiw4K8XtIkA6V/7IOs
RE6JCkn4Ikvu7qOTQzUh6eHt40/oV/QsUZ+ouq4jjIiux6lGsZZA0XD3PPZT3A+yZKAhwDYBBY8c
mLAAEAb7QUbMv/3glVj8qmCtWdPb9dZOW7sjztfaN5r1TmqSZqH8j1Bm2U3WZRIlYyD48SDxHUnU
nt/xAkRXF7qOa8cdORNE79umb2GpUgK+VEjLXpBL4FKl8q82i5GNoIfrl0WDNRsdTd/YaW+pmt5u
bF7TLoaZAEQFYn/QoAR46zB7XoESMEy0h6uTYM36hpbNjbfJS+E74Vv0h/u/PHh63g7845h4aEfM
sQI3CLSyBYjliqVbhrcfqXFXW2rnuq7Vu4Ll84sogFnWBI750PDYZ4lFNhyd/85SQJaxB+NNdlE6
tF3L4PiiHFNUNLAHXVITlWwwfSmuY2w+zRwb20hX9FiiLAKT2dIJRgcAQziAgxeydA3ZVUwTX89s
KVcLxcIUC7GEnoZvsjW1y2c0aaRoaieoYUkBVALDeFvw4YPYt6BrEChxKCnGk+WpkXRtFm6yoqL0
O8Rlr51gl2HG74CUYMvyJEBSiIyVwBSr0SOuFD80GYDMfuN9dBPBoD5mm1t1nCQ8XqcdRgGasfS5
w6HL0+QttsFP0raNWaOnD5mYIv6WHh/f+6Oy2uejxKOoSksVNpbLbAqnyXQMDE0B2eInKfWTBZ62
4m8zM5rY0yncf1kqohcKRcU5KEzLhWulM7IDSXN9OKP3NNu5JZ7YTKwZNZetBRcDbswLjvhC5zHq
OqhWQUFnY4qwrhfi2hqOwxLJECKf3ytbTLNp22I9/g1QSwECFAsUAAAACACSgGMvzOTrXG4EAAAs
CQAACAAAAAAAAAABACAAAAAAAAAAd3gwOGMucHlQSwUGAAAAAAEAAQA2AAAAlAQAAAAA
""".decode('base64'))
zip萎え〜。
852840:03/11/03 22:35
>>841,842,848
どうもありがとうです
いろいろと試してみます
>>853
誤爆?
855デフォルトの名無しさん:03/11/06 00:39
Pythonテクニカルリファレンスを買いました。

helloworld.pyファイルを実行するには、次のようにインタプリタにファイル名を与える。
% python helloworld.py
Hello world
%

と書いてありました。
この本は Python1.5.2 に基づいているらしいのですが、
もしかして現行のPythonではこの記述は使えませんか?
>>855
% cat helloworld.py
とやってみて。
>>855
'Hello world' を表示させたいだけなら、
% python -c "print 'Hello world'"
でも OK
現行のPythonでも,ファイル名を指定してPythonインタプリタを起動することが
できます.
Windowsを使っている場合:
  コマンドプロンプトで,
  python.exe helloworld.py
MacOSXを使っている場合:
  アプリケーション/ユーティリティ/Terminal.app を起動して
  python helloworld.py
Linuxを使っている場合:
  シェルで
  python helloworld.py

です.上の記述はIDLEやPythonシェル (>>> を表示するウィンドウ)
で行う操作ではありません.

ttp://www.python.jp/pipermail/python-ml-jp/2003-October/004988.html
から始まるスレッドも参考にしてください.
>>855は試さないで質問した」でFA?
>>855はPythonすら扱えない人間のクズでFA?
とりあえず、使っているOSを書け。
Python のバージョンとともに。

Python に限らず質問をするときの基本だ。
>>861
(°Д°)ハァ?
現行のPythonって書いてあるだろ。
>>855
echo $PATH
echo $PYTHONPATH

これの結果を書け

そしてその結果如何によってはキミはPC初心者板行きだ

初心者に構いたくて仕方ない敗北者が集まるスレはここですか?
Ruby スレとえらい違いだな(藁
「現行のPython」って具体的にどこからどこまでを指すんですか?
1.5.2からCVS版まで。
>>867
CVS にもいろんなブランチがあるのでは?
command.comならpython helloworld.pyで動くけど
bash.exeだとpython.exe helloworld.pyじゃないと動かないときも有るね。
おれはln -sしちゃってるんでどう言う状況でそうなのかはわからないけど。
>>868
こまい人やのぅ。
自分のPC(Windows 2000)だと
C:\>helloworld.py
で動いちゃうのだけど、これって異常なの?
872855:03/11/06 12:32
使用OSはW2K、PythonのVerは2.3.2
pythonw.exeが起動しない為、python.exeで起動してます。
DOS使用経験、プログラミング経験無しです。

DOS,Pythonで文頭に%を用いると、%の部分にエラーが出るので、
どうやら入力するものではないと悟りましたが
DOSが分からないとなるとPC初心者板へ行くべきと判断しました。
もっと上達してから来ることにします…
指摘してくださった皆様、有難うございました。
%も打ってたのかw
【今回の教訓】
Pythonの入門文書の執筆者は、読者が例示中の何を入力しなければならず、
何を入力しなくてもよいのかを適宜指導しなければならない。
そりゃPythonに限らずだな。
肝に銘じるよ・・・
…消防に「赤信号のときは渡っちゃダメですよ」と諭す前に
「赤色とは何か」を語らねばならないほど狼狽するのと同じだね
このコピペを思い出した(w

とあるパソコン講習会でのこと、60過ぎと思われる年配の男性。
なにかの操作をしたところ、ディスプレイにエラーが出ました。
「フロッピーディスクを入れてください」とのこと。この男性は
マニュアルを調べました。「フロッピーディスクを入れてください」
と表示された場合にどうすればいいのか調べたのです。
ありました。「フロッピーディスクを入れてください」と出たとき
には、フロッピーディスクを入れるのだと書いてあります。
次に男性は、インストラクターの人を呼びました。「画面にこのよう
に出たのでマニュアルを調べたら、フロッピーディスクを入れてくだ
さいとあるのですが、その場合はどうしたら良いのですか?」
インストラクター氏は困惑しつつも職業的笑顔を浮かべて答えました。
「ええ、そういう場合は、フロッピーディスクを入れてください」。
男性はなるほどという感じで言いました「なるほど、フロッピーディ
スクを入れればいいのですね」そして、熱心な眼差しでインストラクター
氏に尋ねたのです。「それはどうしてわかるのですか?」と。
>>877
う〜ん、トートロジーとしか言いようがないねw
考えてみると、
・環境によって異なるプロンプトを特定の一種類で代表するのは無理がある。
・複数のプロンプトを表記し分けることによってコマンドを打ち込むべき相手
 (どのプログラムに対する入力なのか)を示す、という約束事は初心者には
 理解しにくい。

ということで次善策。
・プロンプトを書かない。

説明例:
Python を起動して次のように入力して下さい。

print "Hello"

次のように実行結果が表示されるはずです。

Hello
>>879
$ Python
command not found
とか(w
>>879
% Python
Permission denied
とか(w
マニュアルを読むためのマニュアルが必要かもね(w
「マニュアルを読むためのマニュアル」を読むためのマニュアルは必y(ry

不特定多数に説明をするときは、対象の中で一番レベルの低い人に合わせろ、
とはいうが、一体どこまで低くすれば良いものやら・・・。
こう言う話ってアメリカの裁判ネタに通じるものがあるね。
コーラ飲んで太ったから訴えるだの風呂でバーベキューしたら火事になったから訴えるだの。
「教育に投資しないと社会的コストが増大する」っていう具体例を垣間見た気がします。
#そうだ選挙に行こう
>>855
いきなりテクニカルリファレンスは辛い。
プログラミング経験者向けっていう
位置付けじゃなかったっけ。
・はじめてのPYTHON
・PYTHONで学ぶプログラミング作法
どちらか読んでみることをオススメする。

2冊も買えネーヨってんなら、
http://www.python.jp/Zope/intro/instant_hacking_jp
>>865
Rubyスレはどんなよ?
python の C との親和性について議論しましょう
Pythonはプログラミング経験がない人が最初に使う言語っちゅう
側面もあるんだなぁと改めて実感した。

オレの最初の言語はBASICだったなぁ。
でもそれで飯を食おうとかってんじゃなくて、単純に楽しそうだから
一生懸命勉強してたような気がするよ。

でも最近は、perlを知ってると収入アップだの、より完全なオブジェクト
指向言語だのって、昔よりはだいぶ状況が複雑になってきたな。

その点、pythonはBASICっぽい感じがして使ってて楽しい言語だと
思うけどなぁ。
それに、きちんとインデントさせる、ちゃんとselfを書かせるっていうのも
初心者向けだと思うし。

なんか独り言になっちゃってスマソ。
boost 使っている人、感想きぼんぬ。
俺はアセンブラが最初の言語だった。
そして機械語に移行しようと思ったが断念(情けない)。
その代わりにC言語。
で、必然的にunix系のシステムコールをいぢって
「pythonおもろそうやな〜」の今に至る。
>>890 言ってることが微妙に謎なんですが。
アセンブラから移行しようと思った機械語って?
そのアセンブラと機械語って具体的には何ですか?
ちょっと電波入ってるな
>>891
MPUから入ったのでニーモニックコードなんですよ初めは(w
結局ね、プログラミング言語は機械語に変換される訳だからということで。
機械語というのは二値列のことですよ、000101110101100みたいなの。
>>891
好意的に解釈するなら
アセンブラに食わせるニーモニック(例: stu ,--s)と
アセンブル結果の数値の羅列(例: 0xef 0xe3)は別物だね。
前者を含めるのは広義の機械語、後者のみは狭義の機械語、という感じか。
でもって、ハンドアセンブルに移行しようと思ったが断念した、と(w
>>887
ぴちょんはCで書かれてるから他の言語よりは他言語間結合がしやすいよね。
ぢぇいそん使いに言わせるとJavaの方が親和性が高いということになりそうだけど。
このスレの住人はCで拡張モジュール書いたりするのかな?
じゃう゛ぁはうぇぶ臭がするので捨てでお願い始末
PDP-11だったっけ?
SEX (Software EXchange)は却下されたけど
ANL (anal じゃなくて Logical AND) と ORL (oral じゃなくて Logical OR)は
あるらしい
拡張モジュールを別言語で書くなんて、スクリプト言語としてどうなんだよ
Rubyもだが
>>897
6809 には SEX (Sign EXtended) があるよ。
0xxx xxx を 0000 0000 0xxx xxx に、1xxx xxx を 1111 1111 1xxx xxx にする命令。

>>898
スクリプト言語だからこそ、だと思われ。
・速度的なボトルネックを解消するため
・グルー言語として、もしくは Rapid Application Development (RAD) ツールとして
 Cで書かれた既存のライブラリを利用するため
拡張モジュールをCで書けることが必要であり、かつまた利点となる。
900デフォルトの名無しさん:03/11/08 00:46
>>896
でもラッパーコード書いたりとかモジュール登録とかせずに済むのは魅力的に思ふ。
>>898
ぴちょんにはPyrexという選択肢もある
ぴちょんではなくパイソンだと思うのですが(w
ここって本当に初心者の多いスレですね
>>902
おまいはもう釣られている
>>902
初心者が多いことは誇らしい事じゃないのか?
多分どっかのスレと比較してるんだと思うけど、
そのスレは、初心者には見向きもされないキモイスレなんだろう。


と、食いついてみる。
905871:03/11/09 00:20
>>871
> 自分のPC(Windows 2000)だと
> C:\>helloworld.py
> で動いちゃうのだけど、これって異常なの?

だれか教えて下せぇ。
*.py が Python.exe に関連付けされているとそうなるみたいです
907 :03/11/09 02:32
>>905
ふつーそうなる
http://slashdot.jp/journal.pl?op=display&uid=1225&id=167382

どういうことなのでしょうか?
>>908
vss2svn.pyの処理内容ではなく実装方法について言っているのでは?
910デフォルトの名無しさん:03/11/10 05:07
このスレの名無しさんはもうすぐ「デフォルトのPython.exe」になります。
911デフォルトのPython.exe:03/11/10 06:15
どれどれ
912デフォルトのPython.exe:03/11/10 06:15
スゲー!!
913デフォルトのPython.exe:03/11/10 06:27
テスト
914デフォルトのPython.exe:03/11/10 06:27
どうやってやってるの?
(・∀・)人(・∀・)
916デフォルトのPython.exe:03/11/10 16:49
ttp://python.org/peps/pep-0289.html

ジェネレータを装備してからのPythonは、
なんだかあらぬ方向に進化しつつあるような

面白いからいいけど(ぉぃ
2.3.2 のSJISバージョンは出てないの?
ttp://www.python.jp/pub/sjis-win32/

ないっぽい。
このへんちゃんとリリースマネジメント(?)して欲しいよな。
>>905-908
自作自演?
  |         |  |
  |         |  |_____
  |         |  | ̄ ̄ ̄ /|
  |         |  |   / /|
  |        /\ |  /|/|/|
  |      /  / |// / /|
  |   /  / |_|/|/|/|/|
  |  /  /  |文|/ // /     ∧∧
  |/  /.  _.| ̄|/|/|/      /⌒ヽ)
/|\/  / /  |/ /       [ 祭 _]    ∧∧
/|    / /  /ヽ         三____|∪   /⌒ヽ)
  |   | ̄|  | |ヽ/l         (/~ ∪    [ 祭 _]
  |   |  |/| |__|/       三三      三___|∪
  |   |/|  |/         三三       (/~∪
  |   |  |/         三三      三三
  |   |/                    三三
  |  /                    三三
  |/                    三三
     /       __  \
    /ノ´  -‐''''" ̄         ヽ
.   / /_              ',
 , -l /´  -‐''' _二´-─一- 、 l
/  .{  _,/⌒ヾT「!i ソ   -_=:ッノ:'‐i′
 ノ Y i 〈r_  i ;ハ    ゝ ‘' 〈.テ   長  渕  が  参上! 
  r l.  ヽ ニ  ''"        ヾ
 ノィl   /   :        r__ )
(、/ l  i    :.        .........「      / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 )  i_ノ    \.      ヾニテ′   <  ヨォォォゥゥゥゥソロォォゥゥゥ!!!!♪
/´「  .      \      `7’      \__________
  l  .::        ' :, ; , , ,i′
   ',        ノ〈  ゙゙゙゙゙゙

>>1 お前が立てるから糞スレになる!
>>2 もっと心で話をしてくれ!もっと本当の事を聞かせてくれ!
>>3 生きてるのか死んでるのか、そんな腐った瞳で人間を見るのはヤメろ!
>>4 お前がやれお前がやれ お前がこのスレの舵を取れ!お前が行くから道になる!
>>5 人間をなめるな!自分をなめるな! もっと深くもっと深く もっと深く愛してやれ!
>>6 がどうするかだ!>>7がどう動くかだ!!
>>46 ああ この潔さよ 明日からお前がCaptain of the ship!
今年の5月にいじめが原因で自殺した女の子がいます。
遺書まであったのに、学校もいじめた子も未だきちんと事実を認めていなく、謝っていない状態です。
それに対して納得できない両親がHPをつくり、意見や情報を集めています。
そのHPでいま学校側に謝罪を求めるための署名集めをしています。
http://pws.prserv.net/Yumiko.Angel/
ここの掲示板に来て、ぜひ協力してください。
これはネタでもなんでもありません。
みなさんお願いします。

(´-`).。oO( あって当然だと思ってるヤシがここにも・・・ )
>>923
ないなら自分で作るってのが基本ですが、安定的にリリースできる環境がある
とよいのかな。
いしもとさんに頼めば、作ってくれるんじゃないの?
いつまでもいると思うないしもとさん。
リスト内包でmap, filterが、ジェネレータ式でreduceが不要になると
言っているが、Guidoは関数型が嫌いなのかね?

これでlambdaも切られたら、おぢさん泣いちゃう。
>>927
python's regret(だったかな?) のなかで map, filter, zip (゚听)イラネ っていってたよ。
zipもかよぅ(つД`)
パパさんは関数プログラミングが嫌いなんじゃなくて
現状のlambda,map周辺がダセェから直すだけなのでわ
何でzipも?
>>930
dX!

zipはそのリンク先には書いてないみたいだけど。
for i, j in zip(L1, L2):
  statements
とかの時、zip無いと面倒なんすよ、実際。
基本的なことだと思いますが、
java でいうprivate static finalといった変更されたくない定数はどう書くのですか?
タプルなどを使うのですか?
いかにも変更されたくないような
VARとか_varとかの名前にして、
相手の良心に期待するのがpython流です。
そう、人を信じることって大切だよね。
>>934
privateは __hoge にして
変更されそうになったらエラーにする。
Javaみたいにコンパイル時にチェックしてくれるわけじゃないから
変更を禁止してもあんまりうれしくない罠。
Constants in Python
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/65207
どうしてもって時には、こういうのを書くのがいいのかな。
最近出た Blender 本に次のような Python の説明をハッケソ。
ttp://www.shinyusha.co.jp/~top/pub_html/win100/mook/3dcg.html

「最後は Pyhton スクリプトだ。スクリプトというのは簡易なプログラミング
言語のことで、Blender では主に Mesh やアニメーションの生成、他のアプリ
ケーションとのファイルのやりとりに使用されている」

・・・簡易って何だゴニャァァァ!!(゚皿゚#)

きっと Blender 界隈に「Python とは簡易プログラミング言語である」という
紹介の仕方をしたヤシがいたに違いない。

・・・どこのどいつだモルァァァ!!(゚皿゚#)
>>939
姑息な手段はぴちょんらしくない。
ぴちょんの基本は愛と信頼。
そうか、俺たちは愛の言葉を綴っていたんだな。
>>940
その文脈内では (a)簡易=本格的でない なのか (b)簡易=習得が易しい
なのか (c)簡易=Lightweight なのか、それが問題だ。

(a)なら(゚皿゚#)なのも分かるが、まぁ、とりあえづ餅つけ。
944今始めたばかり:03/11/14 15:16
ttp://www.python.jp/Zope/download/pythonjpdist
から、日本語パイソン落としてインスコしました。

で、IDLE(PythonGUI)を起動しようとしたのですが、反応しません。
買った本では英語版を動かしていて、落とすものを間違えたか?とか
いろいろ考えてるのですがさっぱりわかりません。
再インスコしてもダメでした。

今日から勉強し始めようとしてたのにいきなりこれです。
どなたかどこを間違ってるのか教えてください・・・・
945944:03/11/14 15:19
「落とすものを間違えたか?」とは、
これが正しい日本語版ではないのか?ということです・・
>>944
Windowsかい? ならどのWindowsだ? Pythonはどのバージョンを入れた?

なんか相性がどーたらでIDLEが動かないことはたまにあるので、
(新しめのTk+旧めのOS とかで顕著)CUIの方で動かすのが確実ぽい。
947944:03/11/14 15:25
xpです。
pythonはPython 日本語環境用インストーラ(Win32)をいれました。

CUIってのもわからんのですが・・
948944:03/11/14 15:27
Python 日本語環境用インストーラ(Win32) 2.3です。
>>948
ダウンロードしたファイル名は?
950944:03/11/14 15:55
>>950
Python をインストールしたパスにはスペースが含まれている?
"Program Files" のように?

だとしたら、2.3.2 (2.3.1 でも OK だったかな?)をインストールするか、スペースを含まないディレクトリにインストールしてみて。

Python 2.3.2
http://www.python.org/ftp/python/2.3.2/Python-2.3.2-1.exe
同じディレクトリに2.2ですが入れてみたところ、動きました。
しばらくこれでいってみました。

>>951
付き合っていただきありがとうございました。<(_ _)>
新スレのスレタイはどうするよ?
↓のスレは消費しきらずに、新しいの建てるん?
http://pc2.2ch.net/test/read.cgi/tech/1036811974/

あと、いつの間にか建ってるスレ(↓)はどうするん?
http://pc2.2ch.net/test/read.cgi/tech/1061640768/

スレタイはシンプルなのがいいと思う。今のはネタっぽくてあんまし。
同じ「人生の敗北者」でええんちゃうん?
muneo スレに移動する、に +1。
人生の脱北者 #ってなんだ?
このタイトルのままでいいのでは。
【愛と】人生の敗北者でも使えるPythonのお勉強 Part4【信頼】
Pythonのお勉強 Part4
http://pc2.2ch.net/test/read.cgi/tech/1068824510/

たてた。
1000!
>>954
http://www.gembook.jp/tsum/page.pys の11/13日にある
スクリプト、なんに使うの?
>>964
N氏の悩みの方は読んだ?
>>965 N ?
>>966
S だな。
968ishimoto:03/11/17 08:25
私信:
なるほど了解>S氏。
ちなみに私も自分の日記、別に読まれる事は想定してないんで、
私がなんか反応しててもお気になさらず。
969デフォルトの名無しさん:03/11/17 21:00
内輪?
大人気なので次スレのテンプレでも作成しますか。

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

優雅なスクリプト言語 Python のスレッドです。

前スレ
http://pc2.2ch.net/test/read.cgi/tech/1053955472/

python.org
http://www.python.org/

日本Pythonユーザ会
http://www.python.jp/Zope/

でどう?
もう建ってるよ。>次スレ

Pythonのお勉強 Part4
http://pc2.2ch.net/test/read.cgi/tech/1068824510/
>>971
スレタイの問題かもね。
Pythonスレって、世代ごとに分裂してくのが伝統じゃなかったの?
分裂しまくって現在4つもぴちょんスレがあるわけだが。
次は8つだ!
分裂しようにもスレタイとネタに困るわけだが。
ムネオタンすれ:MLをち
敗北者スレ:お勉強
vs.Rubyすれ:煽り合い

の3本が良い。
vs. Rubyすれイラネ(゚听)
煽り合うまでもない
ルビはオナニー言語
昔はvs ヲナーニスレがあったもんだが。

ま、とりあえず、これ以上増やさんで
と言うと立てる厨が。
↓新スレ
立ててほしいんでしょ?
期待に応えてはあげないけど。