トップページ⇒tech
495コメント175KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
スクリプト言語Pythonのスレッドです。

前スレ
http://pc2.2ch.net/test/read.cgi/tech/1020682294/
0002デフォルトの名無しさんNGNG

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/
0003デフォルトの名無しさんNGNG
3?
0004デフォルトの名無しさんNGNG
4ゲットだーヨ
 ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ∧ ∧   ダーヨ!!
  (´ー` )   ̄∨ ̄ ̄
  \ <    ∧∧     /|      (´´
    \.\_(´ー` )__/|' /    (´⌒(´
     ⊂ _⊂ ___`つつ≡(´⌒;;;≡≡≡≡
              (´⌒(´⌒(´⌒;;
      ズザネ━━━━━━━━━━━━━━━ヨッ

0005デフォルトの名無しさんNGNG

ライブラリリファレンス(原文)
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
0006デフォルトの名無しさんNGNG
ライブラリリファレンス(和訳).tgz
http://www.gembook.jp/html/tmp/doc_jp/lib_jp.current.tgz
comp.lang.python
http://groups.google.com/groups?dq=&num=100&hl=ja&lr=&ie=UTF-8&oe=UTF-8&group=comp.lang.python&c2coff=1&start=0
魅力的なPYTHON
http://www-6.ibm.com/jp/developerworks/linux/library.html
0007山崎渉NGNG
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0008デフォルトの名無しさんNGNG
これまたひどい爆撃だな・・・

ageとくぞ
0009デフォルトの名無しさんNGNG
オブジェクト指向言語として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
0010デフォルトの名無しさんNGNG
Rubyにはリファレンスカウントではない真のガーベージコレクタがある。よって:
リファレンスカウントでは生じるようなメモリリークが発生しない。
拡張ライブラリでINCREF,DECREFなど参照数管理が不要。
C/C++でRubyを拡張するときでも、容易にRubyクラスを定義できる。

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

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

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

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

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

俺の3時間を返せぇぇぇええええ!!
0023デフォルトの名無しさんNGNG
あぁ、そういうことか・・・。
そういうことだったのか・・・。
そのままの意味か、reverse・・・。

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





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

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

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

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

能無し君ですみません。精進します。
SJISパッチを当てた2.2.2でpy2exeの最新版が動作しない問題も
私の勘違いなのかもしれません。もうちょっと調べてみます。
0041デフォルトの名無しさんNGNG
同意
0042デフォルトの名無しさんNGNG
age;
0043デフォルトの名無しさんNGNG
ライブラリリファレンス(和訳).tgz
http://www.gembook.jp/html/tmp/doc_jp/lib_jp.current.tgz
↑
これ404なんだけど、手に入れる場所他に在りませんか?
0044デフォルトの名無しさんNGNG
>>43
その質問をプロジェクトの中の人に聞かないのには、何か理由でもあるのですか?
0045デフォルトの名無しさんNGNG
>>43
その質問を翻訳プロジェクトの中の人に聞かないのには、何か理由でもあるのですか?
0046デフォルトの名無しさんNGNG
中の人などいない!
0047デフォルトの名無しさんNGNG
>>43 自分で作れよ。sf.jpは生きてるんだから。
0048デフォルトの名無しさんNGNG
>>47
作れないから聞いてんだよ。

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

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

http://alink3.uic.to/user/angeler.html
0052デフォルトの名無しさんNGNG
ほら、>>48。二日間無料だってよ。
0053デフォルトの名無しさんNGNG
そんなに>>48叩かなくても。
ちなみに gembook.jpの中の人は2ch見ないって言ってたから、
ここに書いても無駄だよ。
0054デフォルトの名無しさんNGNG
復活オメ
http://www.gembook.jp/html/doc_jp/lib/
0055デフォルトの名無しさんNGNG
オメ
http://www.gembook.jp/html/doc_jp/lib_jp.current.tgz
0056デフォルトの名無しさんNGNG
>>53
> ちなみに gembook.jpの中の人は2ch見ないって言ってたから、
> ここに書いても無駄だよ。

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

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

ってやるとエラーになるんですけど、何処が間違ってんの?
(環境Win98, python222)
0061デフォルトの名無しさんNGNG
エラーメッセージも書かないお前が間違ってる。
0062デフォルトの名無しさんNGNG
>>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")
0063`gi_` プレフィックスについてNGNG
別の 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 するのは効果がないし、
迷惑なので、しないでください。
0064デフォルトの名無しさんNGNG
>>63
ジサクジエンの予感
0065デフォルトの名無しさんNGNG
>>63
説明ありがとう。

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

自分はあの質問した人間だけど、質問に関しては一回しか書き込んでないよ。
スレの最後のほうの書き込みは全部別の誰かによるコピペですよ。
0066デフォルトの名無しさんNGNG
>>63
知っててはぐらかしてた香具師ばっかりなヨカーン...
006743NGNG
世話になりました
0068デフォルトの名無しさんNGNG
winでのodbcモジュールについて質問でしる。

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

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

ライブラリがバイナリなんでソースを追えないっす。
dir関数でメソッド調べてみてもそれらしいものを見つけきらんかった。
0069デフォルトの名無しさんNGNG
>>62
どもありがとう。
しかしTkinterは奥が深い……のか?
とりあえずややこしい…
0070デフォルトの名無しさんNGNG
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 になればいいのだが、、、
パネラーのひとはがんばってください。
0071デフォルトの名無しさんNGNG
>>70

司会が法林か。自分の存在感出し過ぎるんだよな。
自分では司会うまいと思ってそうなんだけど。
0072デフォルトの名無しさんNGNG
>>70
なんでリンクがruby-listなんだ?
0073名無しさん@EmacsNGNG
参加費2000円で Tシャツって無駄だよなあ…
去年 LL2 にいったときは、Microsoft なんかが
スポンサーだったんで参加費一切タダなうえにメシがでたよ。
0074デフォルトの名無しさんNGNG
また重複スレが…
ルビキチの仕業か?
妄想だけど。
0075デフォルトの名無しさんNGNG
Ruby iz nanbar wan!
0076デフォルトの名無しさんNGNG
>>75
これも妄想?
0077デフォルトの名無しさんNGNG
>>70
渋谷か。。近いから逝ってみようかな。
0078デフォルトの名無しさんNGNG
>>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()
0079デフォルトの名無しさんNGNG
>>68
プレースホルダとは、以下のようなものですか? odbc moduleで使えています。
cur.execute("select * from Item where color = ?", ["pink"])
0080萬田銀二郎NGNG
socketのtimeoutってpythonではどうやるんでっか?
見つかりそうで見つからなかったんで、教えて北朝鮮
0081デフォルトの名無しさんNGNG
>>80
selectモジュールの即時調査を韓国する。
0082デフォルトの名無しさんNGNG
>>80
2.3 を使う。
0083デフォルトの名無しさんNGNG
>>78
ベリーベリーサンクスコ
なけりゃ作れということですね。
わざわざ作ってもらってすみません。いただきます。
今、Zopeってるんで後で試します。

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

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

良いsocketのtimeoutの方法が乗っているページってないですか?
2日がんばってぐぐっても見つからなかったんでお願いしちゃいます。
008581NGNG
>>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 のネットワークプログラミグについて調べる方が
よい情報を得られそうな気がする。
008681NGNG
>>85
ちょっと補足。select() の第4引数がタイムアウトするまでの秒数です。
上の例はソケットに対するいずれの操作もブロックしないようにすることを
意図したコードになってます。
0087デフォルトの名無しさんNGNG
>>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/>; といった、
非同期ネットワークプログラミング・フレームワークの
利用が考えられます。
0088デフォルトの名無しさんNGNG
>>87
Twisted Matrix Lab ちゅうのが開発グループの名前で、
フレームワークの名前は Twisted や。
008980NGNG
>>85-87
どうも有り難うございまっす!!
これは45年ぐらいの感謝モンです。

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

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

OSはWindows2000です。
0095デフォルトの名無しさんNGNG
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")
としてあります。エンコーディング周りはさっぱりわかりません。
0096デフォルトの名無しさんNGNG
age
0097ディフォールトの名無しさんNGNG
>>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()
009895NGNG
>>97
できますた。真っ当にopenして読むことにします。

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

timeモジュール調べてみるとか。
0104デフォルトの名無しさんNGNG
>>102 threading.Timer
0105102NGNG
>>103-104
ありがとうございました。
timeモジュールに含まれてると思ってますた。
0106デフォルトの名無しさんNGNG
"""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()
0107デフォルトの名無しさんNGNG
最近pythonってネタないなあ。なんかない?
0108デフォルトの名無しさんNGNG
cherrypyやwebwareなどのzope以外のweb開発ツールはどうでしょうか?

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

どうゆうのをネタといってるの?
0113デフォルトの名無しさんNGNG
pykf の Windows 用のバイナリはどこかにありますか?
PyJUG で公開されている Python にはデフォルトでついているようですが、
標準 Python + pykf という組み合わせで使ってみたいもので。
0114デフォルトの名無しさんNGNG
>>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 についての理解度は格段にアップすること請け合いです。
0115ディフォルトの名無しさんNGNG
>>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側の動作によって違うかも知れない。
   とりあえずここらへんまでやってみて。
0116デフォルトの名無しさんNGNG
>>107
ならば俺がネタを提供。

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

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

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

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

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

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

クッキーを永続的に管理したり、アクセス先 URL に送るべきクッキーを検索したり
といった処理もまた Python の標準ライブラリには無いと思いますので、なかなか
大変です。
0120ディフォルトの名無しさんNGNG
>>119
Cookie.py
0121114NGNG
>>120
Cookie.py には「クッキーを永続的に管理したり、アクセス先 URL に送るべきクッキーを検索したり
といった処理」は含まれていないと思うのですが私の勘違いでしょうか。
0122デフォルトの名無しさんNGNG
>>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])
>>>
0123デフォルトの名無しさんNGNG
>>118
現在の時刻を表示して、約一秒後に自分自身を実行するようにスケジュールする。
0124デフォルトの名無しさんNGNG
>>117
> 日本語コーデック入れるとpykf.pydっていうのが入るけど?
2.3 でつかいたい場合は如何すればいいのでしょうか?

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

つーか、ネタじゃないね。ゴメン
0127デフォルトの名無しさんNGNG
>>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 なしで動くように書いてみた。
0128デフォルトの名無しさんNGNG

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 で書き直してみた。
0129デフォルトの名無しさんNGNG
>>127-128
レスありがとん
すごいですねぇ。恥ずかしながら

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

こんなテクはじめてみまた。
0130デフォルトの名無しさんNGNG
>>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 版のままです)

--------------------------------------------------------
とある。
0131デフォルトの名無しさんNGNG

>>> age()

0132デフォルトの名無しさんNGNG
>>> 131.warata()
0133デフォルトの名無しさんNGNG
python初心者なんですが
質問していいですか?

C言語のgetch()みたいな
(確か、そんなだったと思う)
ユーザーのキー入力を待って
入力があると変数に入れてくれる
命令ってあるんでしょうか?
0134デフォルトの名無しさんNGNG
getch()あるよ。
import curses
ただしwindows環境にはない。
0135133NGNG
なるほど、ありがとうございます。
cursesモジュールをインポートするんですね。
やってみます。
0136デフォルトの名無しさんNGNG
>>133
getch
とは挙動が違うけど、 raw_input というのもある。
参考までに。
0137デフォルトの名無しさんNGNG
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'
>>>
0138133NGNG
>>136
>>137
どうもありがとう。お勉強になります。
オライリーの初めてのパイソンに
このへんのことが載ってなかったもんで。
0139109NGNG
使用しているpythonがSSLをサポートされてないのでつまずいています。
Python 2.2.3 日本語環境用インストーラ(Win32)
を使ってます。
SSLがサポートされているかを確認するのは
import socket
socket.ssl()
でいいんですよね?
私の場合は
'module' object has no attribute 'ssl'
とでます。
pyOpenSSLというのをインストールしてみましたがうまい事いきません。
お願いします。
0140デフォルトの名無しさんNGNG
>>139
http://pypgsql.sourceforge.net/misc/python-ssl.html
の socket.pyd はうごくっぽい。
0141デフォルトの名無しさんNGNG
SuSELinux8.2で2.2.3をビルドしてインストールしましたが
対話モードでコマンドの補完や履歴が効きません。
tab を押すと \t が挿入されますし「ctrl + p」でも ^P となります。
どうしたら解決できるでしょう?
ディストロ配布の2.2.2だと大丈夫です。
0142デフォルトの名無しさんNGNG
>>141
> ディストロ配布
日本語しゃべれ
0143デフォルトの名無しさんNGNG
>>142
オマエモナー
0144デフォルトの名無しさんNGNG
ディストロ=配布者だから合ってると重う
0145デフォルトの名無しさんNGNG
>>141
http://www.python.org/doc/current/tut/node13.html
0146デフォルトの名無しさんNGNG
File "hoge.py", line 71
if __name__ == '__main__':
^
SyntaxError: invalid syntax

このようなエラーが出て動きません。何ででしょうか?
0147デフォルトの名無しさんNGNG
>>146 インデントがなってないから。
0148デフォルトの名無しさんNGNG
>>146
65-70行目あたりも見てみたいな、、、
0149デフォルトの名無しさんNGNG
65-70 行目を予想するスレになりました。
漏れは、括弧の閉じ忘れに、100インデント。
0150146NGNG
>>147-149
上見たら、括弧の閉じ忘れでした。くだらない質問してスマン
0151デフォルトの名無しさんNGNG
>>149 おめ。ぴちょんマスターですね。
0152デフォルトの名無しさんNGNG
>>145
サンクューです。
0153デフォルトの名無しさんNGNG
kitty walk はいったん開発終了なんですか?
0154onefifty ◆DH9qKmT7Es NGNG
>>153
むしろ継続して、デザパタの本とか読んでるんですけど、まだ動かないもので。
本日のスクリーンショト http://kittywalk.sourceforge.jp/kittywalkqt.png
0155デフォルトの名無しさんNGNG
今、パイソンの勉強のために
python版NetHackを作ろうとしています。
(ぜんぜん進んでいませんが。)
画面を更新する方法まで、なんとか
解決しそうですが、速度が遅そうです。
がんばります。
0156デフォルトの名無しさんNGNG
を。qtってことはzaurusでもうごきそうですね。
0157デフォルトの名無しさんNGNG
ちょっとまたれい。
qtってWinで動くんですか?
0158デフォルトの名無しさんNGNG
動くよ
0159デフォルトの名無しさんNGNG
>>157
たしか、WindowsのNC版は
2.3までしか出てなかった気がするけどどうなんだろ。
0160デフォルトの名無しさんNGNG
>>155
ガンガレ
0161デフォルトの名無しさんNGNG
>>159
PyQt-win-nc-3.6.exe
http://www.riverbankcomputing.co.uk/pyqt/download.php
0162onefifty ◆DH9qKmT7Es NGNG
>>159
> たしか、WindowsのNC版は
> 2.3までしか出てなかった気がするけどどうなんだろ
ですね。 PyQt のバージョンは 3.6 ですけれど、
Qtが2.3です。
0163デフォルトの名無しさんNGNG
NC版って何?
0164デフォルトの名無しさんNGNG
NC: 数値制御
0165デフォルトの名無しさんNGNG
Non-Commercial の(ry
無料のWin版のQtは、Qt Non-Commercial License で配布されてる。
0166デフォルトの名無しさんNGNG

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 を参照して下さい。
0167デフォルトの名無しさんNGNG

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

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パパ
0173デフォルトの名無しさんNGNG
林檎を食らう蛇。
この蛇は無類の林檎好き。
がっつく、がっつく。
0174デフォルトの名無しさんNGNG
このスレでは DB 関連があまり話題になってないようだけど、、、
zope も。
0175デフォルトの名無しさんNGNG
171==174か? 独り言はヨソでやれ。
0176デフォルトの名無しさんNGNG
ここは重複スレッドです。

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

重複スレッドは話が分散してしまって百害あって一利なしです。
これ以降、このスレには書き込まないようにお願いします。
0177デフォルトの名無しさんNGNG
>>174
DBならこっち。
http://pc2.2ch.net/db/
0178デフォルトの名無しさんNGNG
>>176
ウザイ
0179157NGNG
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の通っているファイルにインストール
しなければいけませんね。これで時間を費やしてしまいましたが
普通に考えればわかることですね…
0180山�ア渉(^^) NGNG
python始めようかと思ったけど,つぶしがきくのでコーヒーの方にしました。
でもInstant Pythonよんだらやっぱりpythonがやりたくなった。;
0181デフォルトの名無しさんNGNG

( ´_ゝ`)フーン
0182デフォルトの名無しさんNGNG
>>179
ミスです。申し訳ありません。
http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/kittywalk/kittywalk/default.kittywalk/default.kittywalk.tar.gz?tarball=1
↑ これを解凍して、kittywalk フォルダ直下に置いてください。
0183168NGNG
>>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
と表示されます.人生のリアル敗北者には使えないんでしょうか?
0184デフォルトの名無しさんNGNG
KittyWalk - 2ch BBS Browser http://kittywalk.sourceforge.jp/
Microsoft Windows 用の実行ファイルです。
  1. kittywalk-0.2 をダウンロードして解凍
  2. kittywalk フォルダ内の 「kittywalk.exe」 をダブルクリックして起動

私のWindows98で窓すら出ませんが。
0185157NGNG
>>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の写画で挫折しちゃいました。ホント敗北社…
0186157NGNG
ごめんなさい。エラーメッセージが変わるわけないですね。。。
自分で勝手にいじってました。

で、すべて削除してもう一度入れ直したんですが
>>185のようなエラーメッセージがでできました。
0187onefifty ◆DH9qKmT7Es NGNG
>>184, >>185
報告ありがとうございます。きちんと原因を調べてみます。
0188デフォルトの名無しさんNGNG
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に特化したファイル状態のチェック方法ってありますでしょうか。
0189デフォルトの名無しさんNGNG
>>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
オプションもつけてみるとか。試してないけど。
0190onefifty ◆DH9qKmT7Es NGNG
>>185
環境変数HOMEが定義されていない場合、"~"が展開されないのに、
そのまま "~/.kittywalk" をパス名にしていたのが原因だと思われ。
修正して、スナップショット ビルドを用意しました。起動できるかも知れません。
http://kittywalk.sourceforge.jp/snapshot/
0191183NGNG
>>189 バッチリでした!! force-imports encodings までは自分でも試したのですが,
...
File "ntmbcspath.pyc", line 119, in split
LookupError: unknown encoding: mbcs
となり,mbcs の取り込みかたがわからなくて奥歯にものがはさまったような感じ
だったところだったので激しく感動しました.encodings.mbcs と指定するんですか.
ありがとうございました.
0192デフォルトの名無しさんNGNG
Java の Thread.sleep は Python でいえばなに?
0193デフォルトの名無しさんNGNG
このスレタイのほうを残したの?
0194157NGNG
>>190
みごと動きました!!
すごいです!
ダウンロード中でもGUIがフリーズしませんね
0195デフォルトの名無しさんNGNG
>>192
time.sleep
でも、秒単位だから精度が。。。
0196デフォルトの名無しさんNGNG
time.sleep(0.01)
0197195NGNG
あぅ、精度が悪いみたいに書いてごめん。ぴちょんくん。
0198デフォルトの名無しさんNGNG
l = [[1,2], [3],[4,5,6]]
のような list の list があったときに、これから
[1,2,3,4,5,6]
とひとつにつなげる便利な方法はありますか?
0199デフォルトの名無しさんNGNG
>>198
こういうダサイ解法を聞いているわけじゃない?

out = []
for x in l:
  out += x
print out
0200_NGNG
http://homepage.mac.com/hiroyuki44/hankaku02.html
0201デフォルトの名無しさんNGNG
>>199
それじゃ三重以上ネストしてるとうまくいかないが。
0202デフォルトの名無しさんNGNG
多重にネストしててもよいようにするなら再帰かな。

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)]])
0203_NGNG
int オブジェクトにはstrメソッドはないの?
0204デフォルトの名無しさんNGNG
>>199
自分がやったのは
buff = []
for l in lst:buff.extend(l)
何ですけど、一発でできる方法はないのかと。

>>202
flatten を使うテクニックはどこかで見た気がします。
URL は失念した。
0205202NGNG
>>204
> flatten を使うテクニックはどこかで見た気がします。

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

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

python 2.2.3
qscintilla 1.53
sip 3.6

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

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

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

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

>>221氏の指摘通り、道具が多いのでXMLは結構利用しやすい。
あとS式を彷彿とさせる部分もあるかも。
0223デフォルトの名無しさんNGNG
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日までに引っ越そうとしていて、私の生活と私の家族の生
活はまったく混沌としています。
0224デフォルトの名無しさんNGNG

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

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

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

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

確かソースも附属してるはず。
0229225NGNG
>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 書くのは無理なんで
しょうか?
0230デフォルトの名無しさんNGNG
>>229
まず>>226で言ってるctypesをインストールする。んで、

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

てな感じで任意のdllの任意の定数/関数が参照できる。
あとは自力でどうにかできるでしょう。
0231225NGNG
>>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 にパスを書くのがうまくいってない気配
がするのですが。
0232デフォルトの名無しさんNGNG
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

ではどうですか?

0233デフォルトの名無しさんNGNG
それが、コールバック関数の引数として 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
0234デフォルトの名無しさんNGNG

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

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

>>>'s'
's'

これじゃ駄目か…
0240239NGNG
なんたることか、Pythonでも語尾に「;」
を入れることができるとは…

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

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

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

↑スゲエ
0252デフォルトの名無しさんNGNG
> /機械伯爵/

↑カンドー
0253デフォルトの名無しさんNGNG
http://www.freeml.com/info/[email protected]

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

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

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

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

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

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

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

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

「hoge01.jpg」だけを取り出す良い方法はないでしょうか?
自分はループを利用してみてるんですがこれじゃかっこわるい。
0272デフォルトの名無しさんNGNG
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']
>>>
0273デフォルトの名無しさんNGNG
>>272
pythonって、ほかの言語と比べてモジュール最強ですね
それもpythonで書いてあるし。
0274デフォルトの名無しさんNGNG
ぱいでぶにAkiタンキターーーー!

もうね、アh(ry
0275デフォルトの名無しさんNGNG
>>274
誰それ?
0276デフォルトの名無しさんNGNG
>>274-275
↓こいつか?
Python Coding Tools: Aki Kubota
http://mail.python.org/pipermail/python-dev/2003-July/thread.html#36989

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

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

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

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

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

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

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

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

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

ときたもんだ。お見事。せっかくなので釣られてみゆ。
0285デフォルトの名無しさんNGNG
http://paison.hp.infoseek.co.jp/paison/tkinter/pytk6.html#text
0286デフォルトの名無しさんNGNG
>>282
>敗北者_かもしれない_みなさんはじめまして。
「_かもしれない_」の「_」は明らかに意識してやってますね。

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

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

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

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

> 大きなニシキヘビ君

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

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

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

sys.set_string_encoding(ENCODING)

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

sys.setdefaultencoding(ENCODING)

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

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

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

(シテ・ω・シテ) ← 眉毛がsite.py
0301デフォルトの名無しさんNGNG
>>300
それほしー

ちなみに私はコアラのマーチは耳手足から食べる派
0302デフォルトの名無しさんNGNG
最近荒れてるな.
0303デフォルトの名無しさんNGNG
>>302
どこどこ?
0304デフォルトの名無しさんNGNG
site.py を変更するのではなく sitecustomize.py に書くべき。
0305デフォルトの名無しさんNGNG
sitecustomize.pyってどこにあるんですか?
0306デフォルトの名無しさんNGNG
>> 大きなニシキヘビ君
⇒ でかPy
0307デフォルトの名無しさんNGNG
Python/Tkinter で、他のアプリケーションからのドラッグ&ドロップに対応させるためにはどうすればいいんでしょうか?
Tkdnd.py は一つのアプリケーションの中でならドラッグ&ドロップができるのですが、他のアプリケーションとドラッグ&ドロップはできないようですので……
0308デフォルトの名無しさんNGNG
OSの仕事なのでむりっぽいような。せいぜい同じtkをつかったアプリだけでしょ使えるのは。
wxPythonはどうだっけ?
0309307NGNG
>>308
ttp://www.geocities.co.jp/SiliconValley/4137/dir3/tkdnd1.html#intro
いや、Tcl/Tk ならそれっぽい拡張ライブラリがあるんですよ。
どーにかして Python でも使えないものかと。
0310デフォルトの名無しさんNGNG
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)
0311デフォルトの名無しさんNGNG
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
0312デフォルトの名無しさんNGNG
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,)
0313デフォルトの名無しさんNGNG
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)
0314デフォルトの名無しさんNGNG
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())
0315デフォルトの名無しさんNGNG
TkDNDその6
def main():
    root = Tk()
    require_dnd(root)
    app = MyApp(root)
    app.mainloop()

if __name__ == "__main__":
    main()
(おしまい)
0316デフォルトの名無しさんNGNG
上の、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
0317307NGNG
>>310
ありがとうございます!

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

脳みそ蕩けてるんで暫く頭冷やしてきます……
0318デフォルトの名無しさんNGNG
>>317
こんなんはできてますか?

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

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

何にしても勉強しようという意欲は大事だと思います。
0325デフォルトの名無しさんNGNG
>>> 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) ]
0326322NGNG
>>324
>Cを理解してはじめて、なぜPythonではそう
>なっているのか理解できる

これが言いたかった
むしろアセンブラから勉強するべきかも
0327初心者 ◆ZL0khJ59jc NGNG
これからサクッとPythonを修得しようと思ってるんですが、
どういうプログラムを書けばいい感じに覚えられますか?
教えてkds
0328デフォルトの名無しさんNGNG
>>327
> どういうプログラムを書けばいい感じに覚えられますか?
自分の作りたいもの
0329307NGNG
>>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))
と等価……なんでしょうか。
0330307NGNG
あ、>>329 の __setup__ は setup、
__dnd_bindtarget__ は dnd_bindtarget の間違いです。

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

>>327
自分がほしい物
0332デフォルトの名無しさんNGNG
>>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さえもちゃんと読んでない事がばれるぞい。
0333デフォルトの名無しさんNGNG
Python2.3(final) !!!
http://www.python.org/2.3/
0334デフォルトの名無しさんNGNG
CよりPythonのほうが得るものが多いような…
具体的にはどんなところが勉強になるの?
0335307NGNG
>>332
申し訳ありません、陛下。
ちゃんとどころか読んだことすらありません。_| ̄|○
0336デフォルトの名無しさんNGNG
Cから得られるものは少ない。
0337デフォルトの名無しさんNGNG
そんなに、得るものこだわるんだったら、SmallTakや Haskellでも
やりゃあいいじゃん。
0338デフォルトの名無しさんNGNG
×SmallTak
○SmallTalk
0339デフォルトの名無しさんNGNG
>>332
わざわざ 2.1 の古いチュートリアルを読む理由って何?
0340デフォルトの名無しさんNGNG
>>338
×SmallTalk
○Smalltalk
0341デフォルトの名無しさんNGNG
Windows XPでZopeを稼働させていますが、以下の問題が発生しております。
cryptモジュールがWindowsではサポートされておらず、ZopeのmysqlUserFolderプロダクトがこいつを要求してきますので素の状態では使えません。
となると、

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

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

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

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

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

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

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

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

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

0352デフォルトの名無しさんNGNG
大体pythonとCから得られるものなんて
経験ぐらいじゃないか?

って思う俺は天才だよね?>>351
0353デフォルトの名無しさんNGNG
>>352
経験ぐらいって・・・
最終的に必要とされるのは経験なんだけど。
この業界は、最初は経験者かそうでないかで振り分けられるんだよ。
決して才能ではない。
だから、pythonでもCでも選り好みしないで両方やるべきなんだと思うよ。
0354デフォルトの名無しさんNGNG
pythonが経験としてカウントされるかは知らないけどな
0355山崎 渉NGNG
(^^)
0356デフォルトの名無しさんNGNG
pythonはなぜかUNIXで密かに異常に使われてるらしい。
Linuxのインストーラーとかにもだ。
なぜだろう?boostのおかげ?
0357デフォルトの名無しさんNGNG
>>356
> なぜだろう?boostのおかげ?
どうすればそういう結論に、、、
0358デフォルトの名無しさんNGNG
>>356
むしろ俺のおかげ
0359デフォルトの名無しさんNGNG
>>358
> むしろ俺のおかげ
どうすればそういう結論に、、、
0360_NGNG
http://homepage.mac.com/hiroyuki44/
0361デフォルトの名無しさんNGNG
ラスタとんねるず
0362デフォルトの名無しさんNGNG
>>356
夢が、詰まってるからさ
0363デフォルトの名無しさんNGNG
>>356
松本某のせいでないことだけは確か
0364デフォルトの名無しさんNGNG
陰湿なスレだねぇ
0365名無しさんNGNG
じゃ、じゃ、ひょとして、ひょとして、


ムネオタン!!!


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

オプションは下のURL に一覧があります。
http://www.python.org/doc/2.3/lib/os-file-dir.html#l2h-1434
0371デフォルトの名無しさんNGNG
os.chmod("file", stat.S_IXUSR|stat.S_IXGRP|stat.S_IXOTH)
つーか試行錯誤してみればすぐに分かると思うんだが。
0372デフォルトの名無しさんNGNG
>>366
同意。確かに良い反面教師だ。
0373デフォルトの名無しさんNGNG
子プロセスとの双方向通信が分かりません。
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 せずにプロセスを使い回したい、
& プロセスが死んだりしてないかチェックしたい、ってのが
希望する条件なのですが。。。
0374デフォルトの名無しさんNGNG
>>373
> read() しても返ってこなかったりします。
popen2 で自分も同じ状況になった。
cygwin だったけど。
原因を未だつかめず。
0375デフォルトの名無しさんNGNG
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

0376373NGNG
>>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 が返事してくれない。。。 ま、いいや。
0377デフォルトの名無しさんNGNG
>>373
see http://www.oldriver.org/wiki/moin.cgi/ToruFurukawa_2fDiary_2f2003_2d07_2d21
0378デフォルトの名無しさんNGNG
>>373
CRLFを改行とする入力にLFだけつっこんで応答を待つとか
その逆をやっていませんか?
0379373NGNG
>>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
0380デフォルトの名無しさんNGNG
最近、Pythonスクリプトの1行目に見慣れないものが
書いてあることがあるのですが、これは何者でしょうか?
0381デフォルトの名無しさんNGNG
>>380
エスパー募集ですか?
0382デフォルトの名無しさんNGNG
#!/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
0383デフォルトの名無しさんNGNG
あるオブジェクトが hash 出来るかどうかチェックする関数はありますか?

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

てか早くCJKVCodecsを標準モジュールに入れてくれ。
0387385NGNG
やっぱりそうか。即答 thanks >> 386

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

少し前に Mailman の開発者?の人(高知の方)が ML で CJK コーデックのことを話していたから、
質問があれば、その人にメールでもすればいいんじゃない?
0389デフォルトの名無しさんNGNG
C はともかく K は滅びるべきかと思われます。
0390830NGNG
助けてー。助太刀頼む。
----------
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/
0391デフォルトの名無しさんNGNG
「Py」はPythonのことで「R」とはRoboCodeのことだよね?
0392デフォルトの名無しさんNGNG

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

どうやってするのでしたっけ?
0398デフォルトの名無しさんNGNG
reload(module)
0399デフォルトの名無しさんNGNG
>>398
ソレダ!
0400デフォルトの名無しさんNGNG
Python ユーザーのうちで Zope もさわっている人はどのくらいいます?
0401デフォルトの名無しさんNGNG
>>400
エスパー募集ですか?
0402デフォルトの名無しさんNGNG
ZopeのためにいやいやPythonやってる人なら結構いると思うけど
0403デフォルトの名無しさんNGNG
>>400
http://www.pythonandzope.com/
0404デフォルトの名無しさんNGNG
> # 2ちゃんねるスレッドも時々は見ていますので匿名での御意見もいただければと思います。
とあるから反応してみるけど、Macユーザーなのだから、ほかの人でも(やる気さえあれば)訳せる
チュートリアルよりは、Macintosh Library Modules を訳してもらった方がよかったのではないだろうか?
訳し終わってからいうのは何なんだが、、、
0405デフォルトの名無しさんNGNG
>>404
引用元どこー?
0406デフォルトの名無しさんNGNG
>>405
ttp://www.python.jp/pipermail/python-ml-jp/2003-August/002453.html
0407デフォルトの名無しさんNGNG
Pythonで作ったプログラムをPythonで拡張できるようにしたいのですが、
どのようにしたらできますか?
0408デフォルトの名無しさんNGNG
Pythonでょぅι゛ょをどうささてた
0409デフォルトの名無しさんNGNG
>>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
0410sakitoNGNG
おせわになっております。

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

ただ個人的に、Macintosh Library Modulesの優先度は低いです。
もし訳すのであればLanguage ReferenceかPython/C APIを優先したいと思います。
0411sakitoNGNG
コテハンで書くとかなり恥かしい。。読むだけにしとこう..
0412デフォルトの名無しさんNGNG

キタ━━━━(゚∀゚)━━━━ッ!!
0413デフォルトの名無しさんNGNG
managed attribute はどういう attribute ですか?
property の説明で出てきたのですが。
0414デフォルトの名無しさんNGNG
値の 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!
0415デフォルトの名無しさんNGNG
>>414
率直に言ってあまりピンとこないのですけど、また明日、コードをみながらじっくり考えてみます。
0416デフォルトの名無しさんNGNG
>>414-415
漏れはピンと来た。つーか知らんかった。分かりやすい例サンクス。
0417407NGNG
>>409
実際にソースみてみまつ。アリガ�d。
0418山崎 渉NGNG
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0419デフォルトの名無しさんNGNG
pythonってなんて読むの?
0420デフォルトの名無しさんNGNG
>>419
ぱいちょん
0421デフォルトの名無しさんNGNG
何故かフィゾンと読んでた漏れ…
0422デフォルトの名無しさんNGNG
おライリーはパイソンと書いてるね
語源のモンティー・パイソンもパイソンだしね
0423デフォルトの名無しさんNGNG
>>> 419
http://www.ibiblio.org/pub/multimedia/video/obp/IntroducingPython.mpg
で何回も発音してるから上手に真似てください
0424デフォルトの名無しさんNGNG
>>423
なるほど。「ぴちょん」が正しい発音なんですね。
0425デフォルトの名無しさんNGNG
いろいろと寒いね
0426デフォルトの名無しさんNGNG
ML、メール流れない
寒い
0427デフォルトの名無しさんNGNG
だれか、誤爆でもやってMLを盛り上げれ。
0428デフォルトの名無しさんNGNG
>>427
誤爆で盛り下がってるのが現状なんじゃないの?
と釣られてみた(w
0429デフォルトの名無しさんNGNG

も う だ め ぽ
0430>>2ちゃんねらーの皆さんNGNG
2ちゃんねらーなどの間で、人気のある寺院が有ります。
これらの寺院にて諸願成就を祈願しましょう。(爆)

(1-4件目)  http://www.z-shoten.or.jp/
http://www.tctv.ne.jp/matuti/
http://www5b.biglobe.ne.jp/~ryumyoin/
http://www1.ocn.ne.jp/~tatsueji/
(5件目)
寺院名    吉祥山唐泉寺
通称     江戸川不動尊
所属宗派  真言宗泉涌寺派
住所     〒133−0051
        東京都江戸川区北小岩七丁目10−10
        京成電鉄の小岩駅から徒歩約15分
        (JR線の小岩駅は、
        京成電鉄の小岩駅とはもの凄く離れているので不可。)
電話番号  03−3658−4192
住職     高田正圓
        (女住職で、先代住職(高田真快)の奥さんであった模様。) 
本尊     不動明王
祈祷日及び祈祷時刻
        通常は毎日午前6時より(150分前後かかる模様)
        行われるが、毎月28日には(不動明王縁日として)
        午前11時にも(2時間ほどかかる模様)行われる。
祈祷料
(普通護摩)   3000円 5000円 10000円
(特別護摩)   30000円(21日間) 100000円(108日間)
          300000円(365日間)
0431デフォルトの名無しさんNGNG
[Python-ml-jp 2460] は、ここ見て、盛り上げてくれてるんだよね。
0432デフォルトの名無しさんNGNG
だれか 1) についてちゃんと教えてやれよ。

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

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

def test():

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

for i in range(10):
print i

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

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

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

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

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

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

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

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

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

■本書の特長

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

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

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

■問い合わせ先

▼山菜ブックス
http://www.sansaibooks.co.jp/temps/moetan.html
0464デフォルトの名無しさんNGNG
りんくがもえたんですが?

0465デフォルトの名無しさんNGNG
その本書いてくれ!
0466デフォルトの名無しさんNGNG
>>462
>>463
Rの方に行ってくれ
0467デフォルトの名無しさんNGNG
>>466
RってRoboCodeのこと?
0468デフォルトの名無しさんNGNG
>>467
http://www.r-project.org/ だろ
0469デフォルトの名無しさんNGNG
>>463
そんなに覚えるほど文法事項無い気がしますが…

import yojo

g = yojo
g.…

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

http://www.imperialcasino.com/~1p3q/japanese/
0475デフォルトの名無しさんNGNG
php.netみたいなライブラリ・リファレンスの検索サイトが欲すぅぃ。
皆たんはどうかな?
0476デフォルトの名無しさんNGNG
>>475
pydoc は?
0477sakitoNGNG
>>475

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