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

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

レス数が1000を超えています。これ以上書き込みはできません。
00011NGNG
日本Pythonユーザ会
http://www.python.jp/Zope/
Python オフィシャルサイト
http://www.python.org/

前スレ
http://pc5.2ch.net/test/read.cgi/tech/1095684242/
0002デフォルトの名無しさんNGNG
人生の敗北者でも使えるPythonのお勉強
2 http://pc3.2ch.net/test/read.cgi/tech/1020682294/
3 http://pc2.2ch.net/test/read.cgi/tech/1053955472/

【たぷるタソ】Pythonのお勉強 5【ハァハァ】
http://pc5.2ch.net/test/read.cgi/tech/1081264387/
0003デフォルトの名無しさんNGNG
Pythonお勉強スレッド
http://pc.2ch.net/tech/kako/965/965815778.html
http://pc3.2ch.net/test/read.cgi/tech/1020718991/
http://pc3.2ch.net/test/read.cgi/tech/1020718991/
http://pc5.2ch.net/test/read.cgi/tech/1068824510/
http://pc5.2ch.net/test/read.cgi/tech/1081312810/
http://pc5.2ch.net/test/read.cgi/tech/1081312810/
0004デフォルトの名無しさんNGNG
はじめまして。
今日からpythonを覚えてみようかと思います。
0005デフォルトの名無しさんNGNG
>>1
もっとマシなスレタイは無かったのかよ
0006デフォルトの名無しさんNGNG

    _  ∩
  ( ゚∀゚)彡 たっぷる!たっぷる!>>1
  (  ⊂彡
   |   | 
   し ⌒J
0007デフォルトの名無しさんNGNG
>>1
ニート氏ね
0008デフォルトの名無しさんNGNG
>>7
恥パイ二夜でお勉強にしとけばよかったのに・・
0009デフォルトの名無しさんNGNG
    _  ∩
  ( ゚∀゚)彡 ピックル!ピックル!>>1
    ⊂彡
0010デフォルトの名無しさんNGNG
「敗北者でも使える」って褒めなんじゃないか?
0011デフォルトの名無しさんNGNG
バカチョン言語
0012デフォルトの名無しさんNGNG
だれか>>6と>>9を翻訳してください。
0013デフォルトの名無しさんNGNG
>>6 右に6ビットシフト
>>9 右に9ビットシフト

0014デフォルトの名無しさんNGNG
>>13
>>> >>6
 File "<stdin>", line 1
  >>6
   ^
SyntaxError: invalid syntax
0015デフォルトの名無しさんNGNG
「敗北者」じゃなくて敗者じゃねーの?
ふつー。
0016デフォルトの名無しさんNGNG
48 :名無しさん@恐縮です :04/12/28 16:42:17 ID:JDX8MPPf
  http://www.geocities.jp/doku_kiti/klack.html

  マジで最低だなこいつら。
0017デフォルトの名無しさんNGNG
>>15
今なら負け犬のほうが良いかも。

人生の負け犬でも使えるPython

カコイイ!
0018デフォルトの名無しさんNGNG
"""

この記号はなんと読むのですか?
0019デフォルトの名無しさんNGNG
トリプルクオート
0020デフォルトの名無しさんNGNG
PYTHON勉強したけど、作るものが無い…orz

洩れになにか課題をくれ
0021デフォルトの名無しさんNGNG
>>20
文字コード自動判定モジュール
0022デフォルトの名無しさんNGNG
>>19
6個ついているのにトリプルなの??????
0023デフォルトの名無しさんNGNG
"は点が二つなのでダブルクォートと称するが、単一の(広い意味での)クォート文字でもある
それが3つでトリプルクォート
だから'''と書いても"""と書いても、トリプルクォートと呼ぶ
002420NGNG
文字コードについてぐぐってたら
こんなん見つけちゃった↓
ttp://apache.noexistent.com/~mak/kconv/kconv/index_jp.html
0025デフォルトの名無しさんNGNG
ありもののことならPyKfの方がマシだと思うが。
http://www.gembook.jp/tsum/page.pys?wiki=PyKf
0026デフォルトの名無しさんNGNG
>>20
MSN messenger 互換クライアント
0027デフォルトの名無しさんNGNG
>>20
IP Messenger on KDE
0028デフォルトの名無しさんNGNG
>>20
SNS
0029デフォルトの名無しさんNGNG
"""""""""【スペシャルクォート (special quote)】"""""""""
0030デフォルトの名無しさんNGNG
       ○
       ノ|)
  _| ̄|○ <し

        ○ノ
     ○ ノ|
  _| ̄|  <し

     ○ ○ノ
     人 ノ/
     〉 />

     ヽ○ノ ヽ○ノ
      /    /
     ノ)   ノ)
0031デフォルトの名無しさんNGNG
ワラタ
0032デフォルトの名無しさんNGNG
       ○
       ノ|)
  _| ̄|○ <し


          (○
        ○ノ
        |
  _| ̄|   > 


                    ミ
                      ○
           。゚○∠
            /
  _| ̄|     />
0033デフォルトの名無しさんNGNG

                            ミ      ○
  _| ̄|     (´⌒;;;≡≡≡ _ /\○_  ⌒Y⌒Y 


  _| ̄|                  _| ̄|○
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄7 ミ
                                /   ○
                                |


           !||i○||i|!
             ノ)ヽ
  _| ̄|        ∧ ...


       ノ|)
  _| ̄|○ <し
003420NGNG
>>26-28
みんなメッサレベル高いやん…orz

じゃあ、方針変えます。
みんなでなんかテーマ決めて、それぞれソースを見せ合って、
プログラミングを勉強するのはどう??

みんなはそういうの興味ない??
仕事でPYTHON使ってるだけとか?

0035デフォルトの名無しさんNGNG
>34
とりあえずCookbookで提示されているレベルのツールを進化させるとか。
0036デフォルトの名無しさんNGNG
>>20
「Pythonで学ぶプログラム作法」を買って勉強する
0037デフォルトの名無しさんNGNG
>>34
Pythonソフトウェア作法
http://www.python.jp/Zope/articles/SoftwareTools
0038デフォルトの名無しさんNGNG
とりあえず>>30や>>32-33のアニメーション化をPythonで実装すればいいんじゃねぇの?
0039デフォルトの名無しさんNGNG
Pythonってジョイスティックあるけど欲しい?
0040デフォルトの名無しさんNGNG
         ,.. 、
        ( ... \
   , - 、  ヽ ::::... ヽ
  ( :::... \ ヽ ::::;... `ー‐- 、
   \ :::.... ン´       `丶、
    \ ::/             ヽ
        ソ                 ',
     |                l   / ̄ ̄ ̄ ̄
      ヽ         ●   ●| <   ぬるぽ
       ',          ,○、  |   \_____________
         l             (_人_)|
       }            └┘ |
        |                  |
        |             l
      /´ヽ               /
       L.__,,ゝ、     _  r 〈
          "'' ‐- 、__{__}‐'′
0041デフォルトの名無しさんNGNG
PythonってPlan9で動くのか?
0042デフォルトの名無しさんNGNG
PLAN9のシンボルは何ファイルかに紛れてるが、サポートがあるふうではないな。
0043デフォルトの名無しさんNGNG
  ∧_∧
  (,, ・∀・) ↓PSP            人 ガッ
  (    つ(+□::)-=ニ三三三三三◎<  >_∧∩
  |  |  |                  V`Д´)/←>>40
  (__)_)
0044デフォルトの名無しさんNGNG
2.3 の Windows バイナリを non-admin で入れましたが,
numpy や scipy はインストーラが admin でしか入れることができません.
setup.py で入れるにも,VC++ を要求されます.

VC++ 無し,admin 権限無しで WindowsXP に numpy をインストールするには
どうしたら良いのか教えてください.
0045デフォルトの名無しさんNGNG
2.4でZope使えてる人いる?どうやってるの?
0046デフォルトの名無しさんNGNG
>>44
あのバイナリはzipfileモジュール使って解凍できる。
だからがんばって解凍、んで手動でコピー。
0047デフォルトの名無しさんNGNG
>>45
たぶんこのスレにエスパーはいないよ?
0048デフォルトの名無しさんNGNG
>>47
呼んだ?
0049デフォルトの名無しさんNGNG
>41
かなり昔に移植されている
ttp://www.python.jp/pipermail/python-ml-jp/2001-December/000875.html
動作テストはされているような

>44
mingwでインストールできる
0050デフォルトの名無しさんNGNG
ageオメ!
0051デフォルトの名無しさんNGNG
Windows板2.4用のPILインストーラってないの?
0052デフォルトの名無しさんNGNG
http://effbot.org/downloads/#PIL
0053デフォルトの名無しさんNGNG
YYYY/MM/DDTHH:MM:SS形式の2つの時間の差を返す関数ありますか?
0054デフォルトの名無しさんNGNG
>>53
とりあえずこれで出来はする。もっといい方法はある?
#!/usr/local/bin/python
import time
t1 = "2004/01/01T12:00:00"
t2 = "2005/12/31T18:00:00"
format = "%Y/%m/%dT%H:%M:%S"
print time.mktime(time.strptime(t2, format)) - time.mktime(time.strptime(t1, format))
0055デフォルトの名無しさんNGNG
datetimeモジュールは使えない?
0056デフォルトの名無しさんNGNG
datetime.isoformat()の逆、つまり文字列から時間を得るメソッドがないように思う。
0057デフォルトの名無しさんNGNG
http://www.python.org/psf/grants/
PSFがJythonを後援するらしい。
0058デフォルトの名無しさんNGNG
最近目立ってないからな、Jython。おもしろいのに。
0059デフォルトの名無しさんNGNG
正月早々,タプルちゃんですよ
0060デフォルトの名無しさんNGNG
Jythonの最初の開発者であったJim Huguninは、.NET上のPython実装である
IronPythonの開発者でもあり、その功績で今はMicrosoftにいる。MSはWindows
とOffice製品で吸い上げた豊富な資金で、オープンソース界からも人材を貪欲
に釣り上げているようだ。優れた頭脳の供給を断たれたら、オープンソースは
死ぬか、あるいはMSに隷属してほそぼそと生かされるかしかない。
0061デフォルトの名無しさんNGNG
>>60
Jim Huguninなんて長いことJythonの開発・メンテナンスなんてやってないよ。
0062デフォルトの名無しさんNGNG
Jython は j2sdk1.5 で使えないのでどうでもいいよ
0063デフォルトの名無しさんNGNG
スケジュールとしては2005年5月にJDK1.5対応作業も予定されている。
006444NGNG
>>46
できました.普通に zip を展開して,
正しいディレクトリに放り込んであげるだけなんですね.

展開してみたことは以前にもあったのですが,
大文字のディレクトリ (DATA, PLATLIB など) があってビビってしまい,
インストーラの中の人しかできないのだと思い込んでおりました.
0065デフォルトの名無しさんNGNG
>20
自分に興味のある分野のちょっとしたソフト作ることから始めれば?
ネットワークに興味あるなら簡単なサーバーとクライアント作ったりとか
0066デフォルトの名無しさんNGNG
Adding Optional Static Typing to Python -- Part II
http://www.artima.com/weblogs/viewpost.jsp?thread=86641

動的型言語の利点を出来るだけ失わずに、より安全な方向に向かうようだ。
0067デフォルトの名無しさんNGNG
>>20 エミュレータなんかどう?
0068デフォルトの名無しさんNGNG
('A`)初心者です…

Pythonスレが乱立してますが、どれが本スレなのかわからんとです。

('A`)初心者です…

まるで日本におけるZopeのような混乱ぶりを思わせるとです。




('A`)初心者、いや小心者です…
0069デフォルトの名無しさんNGNG
http://gnosis.cx/TPiP/chap2.txt
David Mertz氏はどうやって、文書を書いているのでしょう。
reST→Tex, html, etc.
なんかスクリプトとか公開してますか?
0070デフォルトの名無しさんNGNG
Windowsでパイプで入ってきたものをもにゅもにゅも入するにはどうしたらいいですか

hoge.exe | spamegg.py > result.txt

みたいなことをしたいのです
0071デフォルトの名無しさんNGNG
すれば?
0072デフォルトの名無しさんNGNG
sys.stdin.read() でパイプから入ってきたデータ読めるでしょ。
それよりWindowsで*.pyなファイルに直接パイプで繋げたっけ?
0073デフォルトの名無しさんNGNG
fileinputモジュールなら標準入力ととともにコマンドラインでのファイル名指定にも対応。

import fileinput
num = 1
for l in fileinput.input():
    print num, l,
    num += 1
0074m9っ・∀・)NGNG
>>69
本人に直接聞いてみよう。
0075デフォルトの名無しさんNGNG
>>70-73
シェルが使いにくいから全部 python の中でやってしまった方が楽かと思います.


ところで Windows のコマンドプロンプトで動く curses はありませんか?
日本語の表示,文字色の変更,1 文字入力をやりたいです.
os.system() で色を変えるやつは,画面の色全てが変わるので使いものになりません.
0076デフォルトの名無しさんNGNG
なんで今更cursesなんか…

telnetサーバとして実装して、teratermとか使った方が楽かもしれず。ネットワーク対応にもなる。
0077デフォルトの名無しさんNGNG
>75
PDcursesっていう互換ライブラリがあるから、それのブリッジを作ればいけるかも。
0078デフォルトの名無しさんNGNG
>>75
あったと思う。どっかで見た。暇があったら探しとく。しばし待て。
007975NGNG
>>76
curses って CUI を高機能にする定番かと思ってたんです.
では最近の方法を教えてください.
とりあえず telnet を試してみます.
0080m9っ・∀・)NGNG
WConioはどうだろう。
ttp://newcenturycomputers.net/projects/wconio.html
最下行に印字するとスクロールアップするという
DOS窓の古典的な制約を受けちゃうけど。日本語は通るモヨリ。
0081デフォルトの名無しさんNGNG
>69
smart ASCII

ttp://www-106.ibm.com/developerworks/xml/library/x-tipt2dw.html

0082デフォルトの名無しさんNGNG
普通にTKinterでよくね?
0083デフォルトの名無しさんNGNG
漏れの独断の予見では3年後ぐらいに某ruby教祖さんは我らがPython陣営に加わる、ような気がする。
rubyの存在価値がこの先なくなるのではないかと内心自覚しはじめているのではなかろうか。
今も、そしてこれからもPythonはrubyを内包しているに違いない。つぅか方向性同じやし。
企業に喩えるとより膨大な資本を保有するPythonが子会社を買収して傘下に収めるといったイメージ。
0084デフォルトの名無しさんNGNG
質問です。
スクリプトのサイズと実行速度に関係はありますか?
例えばコメントをたくさん書くと容量が大きくなりますが、
速度も遅くなるんでしょうか?

また実行速度を量る方法はありますか?
0085デフォルトの名無しさんNGNG
>>84
内部コンパイラはコメントアウト部分を解釈しない。

実行環境を全く一致させる手段は無い。
0086デフォルトの名無しさんNGNG
>>83
誤爆?
0087デフォルトの名無しさんNGNG
>>83
そんなことはないと思うよ.
あの人は,ユーザにとっての言語の存在価値を全てと考えているのではなくて,
自分の趣味の部分も,自分なりのポリシーも,ユーザとの関わりもそれなりに
斟酌した上で,自分自身にとって存在価値があるかどうかを優先しているんじゃ
ないかな.結局本人に言語仕様どうこうしたいという希望があって,かつ
それを実行できる環境があれば,開発は続くし言語自体はなくならないと思う.
宗旨替えするユーザは多少いるかもしれないけどね.
0088デフォルトの名無しさんNGNG
教祖はPythonには満足できなかったからRubyを作った。
何より、本人は今のRubyに満足なんだから、いまさら本人が宗旨替えする理由があろうはずもない。

問題は、今のRubyの状況に満足していない信者。つーか俺。
008975NGNG
>>80
ありがとうございます.試してみます.
Linux でも動かすからちょっと余計に書かないとならなさそうですが.

>>82
TKinter が最近の主流なんですか?
コマンドで動くやつなんですが,コマンドをファイルに書いて標準入力から入れる,
といったことができないと不便です.
0090デフォルトの名無しさんNGNG
>>87
つぅか奴はグイドタソにベタボレだからruby捨てればいいのになw
なぜpythonを良いものにしようとしないのか不可解だよ
0091デフォルトの名無しさんNGNG
>90
ある意味、「something better than python for me」を作った結果がRubyなんでわ。
0092デフォルトの名無しさんNGNG
>>91
そのつもりなのにPythonの方が圧倒的に使われているし、
Pythonの方が圧倒的に使える、というわけだな。
0093デフォルトの名無しさんNGNG
>>89
tkinterはデフォで使える唯一のGUIツールキットです。それだけ。
もちろん他のGUIもあるよ。Pythonは他言語との親和性が強いので。

>>92
「日本人が作った」という枕詞が無かったら見向きもしなかっただろうな、ruby
日本語のアドバンテージも今や無くなったし漏れにとってはどうでもいい言語の一つ(^^;
今は単純にpythonが面白い
0094デフォルトの名無しさんNGNG
closureとか情報隠蔽とかではrubyが優位な点もあるね。
0095デフォルトの名無しさんNGNG
>>94
モジュールもドキュメンテーションも少ないのに、それだけの理由でRubyを選ぶのは、教祖本人と言語オタだけ。
0096デフォルトの名無しさんNGNG
いやいや、Martin Fowlerなんて大御所もいるぞ。
言語オタの一人に含まれるかもしれないが。
0097デフォルトの名無しさんNGNG
Martin Fowlerが大御所。笑わせるな。
0098デフォルトの名無しさんNGNG
真の大御所はPythonを使う。たとえば
↓
0099デフォルトの名無しさんNGNG
徳川家康
0100デフォルトの名無しさんNGNG
おまいら多分スレ違いでつよ。
http://pc5.2ch.net/test/read.cgi/tech/1099804004/
0101デフォルトの名無しさんNGNG
pyjugにwikiって置いてある?
0102デフォルトの名無しさんNGNG
Matzなんか話題にするなよ。汚れるから。出すならMertzにしてくれ。
0103デフォルトの名無しさんNGNG
python で mp3 の ID3 タグを管理するツールを
用意したいといじっているのですが unicode/encoding 周りで
良く分からないので教えていただけないでしょうか。

ライブラリ は eyeD3(http://eyed3.nicfit.net/ の 0.6.3)が v2 のタグを扱えるので
使いたいです(他に id3v2 扱えるものであればそれでもいいです)。

# ちなみに id3v1 であれば http://id3-py.sourceforge.net/ は
# id3info = ID3.ID3(mp3file)
# id3info[key] = unicode(EUCSTRING ,'japanese.euc-jp').encode('japanese.shift_jis')
# id3info.write()
# なんて叩き込むことができるようです。

import eyeD3
tag=eyeD3.Tag()
tag.link('01.mp3' )
tag.setArtist(unicode('中島 みゆき','japanese.euc_jp').encode('japanese.shift_jis'))
tag.update()

これだと
eyeD3/frames.py", line 560, in render
data = self.encoding +\
UnicodeDecodeError: 'ascii' codec can't decode byte 0x92 in position 0: ordinal not in range(128)
こんなエラーを吐きます。
0104102NGNG
(103 続き)

eyeD3 ライブラリの frames.py の 190行目辺りに
UTF_8_ENCODING = "\x03";
SJIS_ENCODING = "\x04"; ## 追加

#DEFAULT_ENCODING = LATIN1_ENCODING;
DEFAULT_ENCODING = SJIS_ENCODING; ## 書き換え

さらにそのすぐ下の
def id3EncodingToString(encoding): に
elif encoding == SJIS_ENCODING:
return "japanese.shift_jis";
を追加するとなんとか使えるっぽいんですが…

もっといい方法 or べつのライブラリなどどなたかご存じではないでしょうか。
0105m9っ・∀・)NGNG
動くんならいいんじゃないの?
0106デフォルトの名無しさんNGNG
>>103-104
TagLibのPython bindingsなんかどう?
http://namingmuse.berlios.de/
0107デフォルトの名無しさんNGNG
ちゃんと
#!/usr/bin/python
# -*- coding: euc-jp -*-
って書いてる?
0108デフォルトの名無しさんNGNG
Python をマスターすれば Google か NASA にアプライできますよ!
0109102NGNG
まずその後調べていたら mp3 の ID3v2 って規格上は SJIS ではなく
utf-8 など unicode 限定のはずらしいですね。
で、手元の MuVo2 が v2 を SJIS で解釈するという変態だっただけみたい。ショボーン。

>105
いや、まあ、その… もともと勉強がてらなんでなんかいけてないなーという…

>106
情報 thx. 調べてみます
(でも規模がでかくなってヘタレには hack しにくそうっす orz)

>107
今回は一応そういうところではないみたいです。
(一応デバッグで引数渡す前に print したりでは確認はしてみてますし、
ライブラリを書き換えた奴では通っているんで)

(sjis問題はともかく)今回の問題のライブラリ(eyeD3)が encoding を
どうやって指定するものなのか良く分からないんです。
Tag() を呼ぶ前とかに eyeD3.DEFAULT_ENCODING を変更してみたり
してもダメっぽかったんで。
0110デフォルトの名無しさんNGNG
pyid3libはどうだろう。id3libへのラッパーだけど。
0111デフォルトの名無しさんNGNG
> (sjis問題はともかく)今回の問題のライブラリ(eyeD3)が encoding を
> どうやって指定するものなのか良く分からないんです。
import eyeD3.frames
tag.encoding = eyeD3.frames.SJIS_ENCODING
0112デフォルトの名無しさんNGNG
threading.Thread内で一定時間待ちたい場合、time.sleep()を使ってもいいんでしょうか?
LinuxとWindowsで試した限りではtime.sleep()でも意図したとおりの動作でしたが、
モジュールドキュメントにはスレッドについて言及してないので不安です。

JavaみたいにThread.sleep()があればいいんですが、
近いのはthreading.Event.wait()ぐらいしか見つかりませんでした。
0113デフォルトの名無しさんNGNG
Modules/timemodule.cを見ると、time.sleep()はUNIXではselect、WindowsではWaitForSingleObjectを使って
実装されているので、事実上は問題ないと思われる。
全てのプラットフォームで、指定した時間だけ特定のthreadの動作を停止する方法はなさそう。
0114デフォルトの名無しさんNGNG
Pythonを初めて使ってみようとしてるんですが、
他の言語のnullやnilに対応する値は何でしょうか?

あと、perl, lisp, rubyあたりとの簡単な対応表があると
教えていただけると助かります。

0115デフォルトの名無しさんNGNG
> 他の言語のnullやnilに対応する値は何でしょうか?
None

対応表はhttp://c2.com/cgi/wiki?PythonVsRuby とか。
0116デフォルトの名無しさんNGNG
>>114
None

あと対応表がありそうなリンク
http://www.unixuser.org/~euske/doc/python/python-lisp-j.html
http://www.google.co.jp/search?hl=ja&q=lisp+python&lr=
0117114NGNG
ありがとうございます。

真理値として評価したときに偽となるものは None, False 以外にも
何かありますか? Cと同様に0がそうであるというのはどこかで聞いたことがあって
知っているのですが。
0118114NGNG
ああ、偽となる値は116のリンクの先に書いてありました。すみません。
0119112NGNG
>>113
レスどうも。
仕事で使うコードなので、一応安全だと思われる
ダミーのthreading.Event.wait()を使うことにしました。
0120デフォルトの名無しさんNGNG
数値 (整数も実数も) を返す関数が偽を返したときにはビビッタ.

こういうときは,正常なら数値,以上なら[例外|None|False]を返すようにして,
if f(x) is not None:
みたいにするのが普通ですか? ( if f(x): にしてビビッタんです )
0121デフォルトの名無しさんNGNG
暗黙のキャストは使わない方がPython(現代?)的だろうね。

if f(x) is not None:
でいいと思う。
0122113 NGNG
>>119
Lib/threading.pyを見ると、threading.Event.waitもtime.sleepを使って待ちに入るので、
time.sleepが正しく実装されていないプラットフォームでは意図通りに動作しない。
さらにthreading.Event.waitはwaitしているスレッドが0.5〜50msecごとにpolling
するのでパフォーマンスが悪化するというおまけ付き。
仕事で使うなら、対象プラットフォームでの正常動作を確認したうえでtime.sleepを使うのが筋だろう。
0123112NGNG
>>122
threading.Event.wait内でそのままtime.sleep使ってるんですね。
threading.Eventはスレッドセーフなはずだから、
time.sleepもスレッドセーフな実装を要求してると好意的に解釈しときます。
わざわざソース調べていただいてありがとう。
0124デフォルトの名無しさんNGNG
配列や集合にある要素(またはある条件を満たす要素)一つがあるか調べたい
(あればそれを返し、なかったらエラーにならずにNoneを返してほしい)ときは
何を使うべきでしょうか?

Lispのmemqやfindに相当するものがPythonにもあるだろうと思うのですが
探し方が悪いのかみつけられません。
0125デフォルトの名無しさんNGNG
一つのスクリプトファイルが一つのモジュールになるらしいということは
わかったのですが、これは無条件で全ての名前が外部から参照できてしまう
のでしょうか。関数を外部に見せないようにすることはできますか?

目的としては、内部処理用のものは、Cのstatic関数のように完全に外部に見せない
ようにしたいのですが。
0126デフォルトの名無しさんNGNG
> 配列や集合にある要素(またはある条件を満たす要素)一つがあるか調べたい

これでいいか?
>>> a = [1, 2, 3]
>>> 1 in a
True
>>> 4 in a
False
0127デフォルトの名無しさんNGNG
> 関数を外部に見せないようにすることはできますか?
できない。
__all__ を定義すれば、from module import * したときに特定の名前だけ取り込ませる、
ということはできる。
アクセス制御は紳士協定で。
0128デフォルトの名無しさんNGNG
ああ、そうするわけですか。ありがとうございます。

あと、LispやRubyのfindのように、ある条件を満たす最初のものをみつけたいときは
どう書くのが定跡でしょうか?
find(lambda x: x.attr == k, list1)
みたいな操作がPythonにも標準であるんじゃないかと予想するのですが、

>>127
あう、できませんか。残念。
お答えありがとうございます。

0129デフォルトの名無しさんNGNG
>>124

>>126さんと同じ方法で
条件を満たす要素「1つ」じゃくて「リスト」を返すならこんな感じ
L = [-1, 2, -3, 4, -5]
[ x for x in L if x > 0]

最初のやつを1つなら
[ x for x in L if x > 0][0]
0130デフォルトの名無しさんNGNG
Python のあまりのエレガントさについおまいらが優秀にみえてくるから凄いよな Python
0131129NGNG
訂正
> >>126さんと同じ方法で
in の意味が違った…
0132129NGNG
>>128
ここらへんを見ても分かるとおり
ttp://naeblis.cx/rtomayko/2004/09/13/cleanest-python-find-in-list-function
Pythonにはそういう関数はないから自分で作るしかないみたい
0133デフォルトの名無しさんNGNG
2.4ならジェネレータ式を使って、
(x for x in list1 if x.attr == k).next()

あるいは、
itertools.ifilter(lambda x: x.attr == k, list1).next()

ただ、どちらも該当要素が無い場合は例外が飛ぶ。
0134デフォルトの名無しさんNGNG
>>128
def find(iterable):
for x in ある条件:
return x
return みつかんなかった

ぐらいしか思いつかない。

上の例なら、
for x in itertools.ifilter(lambda x:x.attr == k, list1):
とか、
0135デフォルトの名無しさんNGNG
lambdaは撤廃されたものとしてください
0136デフォルトの名無しさんNGNG
がーん。
>>134みたいなのを各自用意するしかないんですか?
かなりよく使われる部類の操作だと思うのですが、2.4になってもないというこ
とはそのつど定義して大して苦に(かつ重複を無駄に)思わないか、
Python人はこんな操作を自然に避けるような組み方をするのか……。

どうも、組込み・標準ライブラリで用意されるもの・そうでないものの
選定基準がまだよくわかりません。
0137デフォルトの名無しさんNGNG
>>136
> どうも、組込み・標準ライブラリで用意されるもの・そうでないものの
> 選定基準がまだよくわかりません。
グイドタソに直接問い詰めて下さい。
0138デフォルトの名無しさんNGNG
> >>134みたいなのを各自用意するしかないんですか?

132とか133とかを先に読んだうえで言ってるのか?
0139デフォルトの名無しさんNGNG
関数型言語ならlambdaがないと面倒だし見通しが悪くなるけど、
逐次実行なんだから、内部関数定義すればいいはなし。
0140デフォルトの名無しさんNGNG
でもlist.indexがあるんだから、listのメソッドに入れてくれたっていいよな。
0141デフォルトの名無しさんNGNG
>>> a = ['foo', 'bar', 'baz', 'spam', 'egg']
>>> 'baz' in a and a.index('baz') or None
2
>>> 'bacon' in a and a.index('bacon') or None
>>>    # ←None が返っている

これでどうでしょう.
0142デフォルトの名無しさんNGNG
>>141
値そのものが返ってこないし、属性(a.attrとか)や条件が使えない>>124に言われそうです。
早く誰かが>>124を満足させるのです。
0143デフォルトの名無しさんNGNG
>>132のリンク先の様にfindを実装してlambdaを渡せばいいんじゃない。
findをモジュールからimportすれば毎回定義せずに済む、別にimportしなくてコピペでもいいし。

でも、近い将来にlambdaは廃止されます。
0144デフォルトの名無しさんNGNG
X in a and X or None # 値そのもの (そもそも問題設定おかしいよね)
X in a and X.__len__() or None # 属性
X in a and {True:'foobar', False:'spamegg'}[X in ['foo', 'bar', 'baz']] or None # 条件分岐
というのはだめなんですか.
0145デフォルトの名無しさんNGNG
んなややこしいことせんでも、>>133のを改良して
chain(ifilter(lambda x: x.attr == k, list1), [None]).next()
でいいやん。

関数にした方がよりわかりやすいが。
find = lambda f, seq: chain(ifilter(f, seq),[None]).next()

でも、これが組み込みにないのが不満だと言ってるんだから、
もはやGuidoタンに直談判するしかないでしょう。
0146デフォルトの名無しさんNGNG
>>132のリンク先
ttp://naeblis.cx/rtomayko/2004/09/13/cleanest-python-find-in-list-function
から持ってきた

def find(f, seq):
for item in seq:
if f(item):
return item

fred = find(lambda person: person.name == 'Fred', peeps)

これで>>128の
find(lambda x: x.attr == k, list1)と同じ。
0147デフォルトの名無しさんNGNG
PythonでCGIを書けるとかいう話だが,
それらを勉強できるようなWebや書籍等ってあります?
0148デフォルトの名無しさんNGNG
>>147
初めてのPython
http://www.oreilly.co.jp/books/4873112109/
0149デフォルトの名無しさんNGNG
>>147
ライブラリリファレンス11.2
0150デフォルトの名無しさんNGNG
f, seqが常識的な範囲なら
[x for x in seq if f][0]
でいいじゃん…。

> 関数にした方がよりわかりやすいが。
> find = lambda f, seq: chain(ifilter(f, seq),[None]).next()
これなにやってるか普通のひとわからないよ。

まずlist comprehension使って、うんざりするほど遅かったらまたそのとき考えようぜ。
というか、うっかりlamda使うとかえって遅くなるかもなのです。
0151デフォルトの名無しさんNGNG
python cgi でぐぐると少ないながら出てくるよ。
Cookieは標準で入ってるし、セッション管理したければ
web-libだかなんだかの追加パッケージをインストールすれば一応使える。
0152デフォルトの名無しさんNGNG
自分で position_if (見つかり次第終了) とか
map_and_position_if (基本的に map だけど検査もして,
ダメな要素があればそこまでの map の結果と None のタプルを返す) とか作ってる.

float() が例外を出すようになっていると,コードの量が増えますよね?
例外を掴まえて None なり False を返す isfloat() と作ってしまっています.

なんかこう,今の python をそのままで受け入れられるようになる文書は
無いものでしょうか.On Lisp 読んでハァハァしているようじゃ
python は使えませんか.
0153デフォルトの名無しさんNGNG
http://www.python.org/peps/pep-0008.html
0154150NGNG
2.4ならgenerator expression使ってこう書ける。
lambda使うより速く、直感的にもわかりやすい。

def first(i):
try:
return i.next()
except StopIteration:
return None

seq = [1, 2, 3]
print first(x for x in seq if x % 2 == 1)
print first(x for x in seq if x < 0)
0155152NGNG
import math
x = range(10)
y = [math.sin(x/100.0) for x in x]
print x
print y

>>> import math
>>> x = range(10)
>>> y = [math.sin(x/100.0) for x in x]
>>> print x
9

俺は恐怖した.何行も直した (x を a とか b に w.
0156デフォルトの名無しさんNGNG
>for x in x

>>155に恐怖した
0157デフォルトの名無しさんNGNG
def find(f, seq):
 for item in seq:
  if f(item):
   return item

俺はこれがいいと思う.
0158デフォルトの名無しさんNGNG
REALbasicのスレでみてwxPythonに興味を持ったのですが
wxPython、REALbasicともクロスプラットフォームで手軽にアプリケーションが開発できるとのことです。
どちらのほうがコードの実行速度が速いでしょうか?
また得意分野、不得意分野など比較できませんか?
0159デフォルトの名無しさんNGNG
wxPythonはインストールすれば巨大なDemoプログラムが動かせるから、それ見て判断して。
0160デフォルトの名無しさんNGNG
wxPythonってインラインで日本語入力できたっけ?
0161デフォルトの名無しさんNGNG
とりあえずテキストボックスには日本語入った
0162デフォルトの名無しさんNGNG
JythonってJ2SDKの5.0で動かないの?
0163デフォルトの名無しさんNGNG
漏れはwxPythonを要求するAPIが多いので仕方無しに入れている。
将来的にはPy-Qtで自前で容易したし。
0164152NGNG
本当は >>155 をうまくやる方法を教えて戴きたかったのですが,
煽りのようなネタにしてしまって申し訳ありません.
みなさんならどうやりますか?
(もちろん,*数値ものなら* import Numeric しますが...)
0165デフォルトの名無しさんNGNG
> JythonってJ2SDKの5.0で動かないの?
>>63

> wxPythonを要求するAPIが多いので
意味がわからん

> みなさんならどうやりますか?
なにをやりたいのかわからん
0166デフォルトの名無しさんNGNG
len()で文字列の文字数を数えるとき、
”a”は1文字で”あ”は2文字とカウントされます。
日本語も1文字にカウントさせる、
もしくはこの文字列はascii
0167166NGNG
すいません、途中で…
asciiかどうかを判断する方法はありますか?
0168デフォルトの名無しさんNGNG
unicode()
0169デフォルトの名無しさんNGNG
日本語は、encodingによっては1文字が3バイト表現にもなる。
文字単位で扱いたいなら、unicode文字列に変換するのが一番手っ取り早い。
ここでも見とけ。
http://www.python.jp/Zope/articles/japanese/Python4Japanese-2
0170166NGNG
ブラウザからの入力を対象としてたのですが
len(unicode(i,"sjis"))で解決しました。
ありがとうございましたm(_ _)m
0171102NGNG
102,109 です.

教えて頂いたことなどを参考に,一応自分で使う範囲では
UTF-16 の id3v2 を eyeD3 で書けるようになりました.
自分の目的の第一段階はクリアしたんでお礼に報告させて頂きます.

# -*- coding: euc_jp -*-
import eyeD3;

# 以下4行の順番を間違えると泣くみたい...
tag=eyeD3.Tag();
tag.link( '01.mp3' );
tag.header.setVersion(eyeD3.ID3_V2_3);
tag.setTextEncoding( eyeD3.UTF_16_ENCODING );
# setTextEncoding() は eyeD3 v0.6.3 以降

tag.setArtist(unicode('誰々','japanese.euc_jp'));
tag.setTitle(unicode('ほげふが','japanese.euc_jp'));
tag.update();

(その他は http://www.ginganet.org/ginga/memo/python-id3/ 参照)
0172デフォルトの名無しさんNGNG
乙かれ〜。
0173デフォルトの名無しさん05/01/17 08:25:59
ttp://www.f7.ems.okayama-u.ac.jp/~yan/python/python07.html
ここのhtml.pyで使用している『writeDict(os.environ)』って
どんな機能ですか?

0174デフォルトの名無しさん05/01/17 08:52:27
ソースコード見たまんまじゃないか。
0175デフォルトの名無しさん05/01/17 09:15:57
  def writeDict(self, dict):
    print '<DL>'
    for x in dict.keys():
      print '<DT>%s' % x
      print '<DD>%s' % dict[x]
    print '</DL>'

こんな機能。
しかしほんとにインデント間違えるとで命取りになるなこれ。
大丈夫なのか?
0176デフォルトの名無しさん05/01/18 18:23:44
たかがこんな処理に命がけですか。
0177デフォルトの名無しさん05/01/18 20:29:50
emacs の python-mode で,改めてインデントし直していると
たまに for の終わり (インデントが浅くなるところ) が失われますね.
コーディングスタイルを何とかすれば良さそうなんですが,
具体的にどうすれば...?
2 行空けるとブロックの終わりと見倣そう,とかは無いのかな.
0178m9っ・∀・)05/01/18 21:13:49
1. 再インデントしたい部分の先頭で C-SPC (set-mark-command)。
2. 再インデントしたい部分の最後に移動。
3. 思うさま C-x C-i (indent-rigidly) を連打。
0179デフォルトの名無しさん05/01/18 21:35:59
region 決めて C-x > とか C-x < じゃないの?
0180デフォルトの名無しさん05/01/18 21:36:50
C-c > だった… orz
018117705/01/18 22:38:16
>>178-180
なるほど.region の部分を深くしたいときは,
インデントを崩さないようにすればいいんですね.
いままで rectangle を使っていて不満でした.
これでガンガン書けます.ありがとうございました.

# C-h m したら書いてあった鬱
0182デフォルトの名無しさん05/01/19 07:04:42
>>181
ポストンポストン!
0183デフォルトの名無しさん05/01/23 17:47:37
Debian woody入れたらPythonが2.1.3だった。
0184デフォルトの名無しさん05/01/23 17:56:37
PyCon DC 2005 のスケジュールが出ましたな。
ttp://python.org/pycon/2005/schedule.html

Pychinko が気になる……
0185デフォルトの名無しさん05/01/23 19:42:45
>183
Debianは骨董趣味ですから。
0186デフォルトの名無しさん05/01/23 19:50:51

  ○ チンコ タッテキタ
 ( V
  >>
0187デフォルトの名無しさん05/01/23 20:46:03
パイチンコのURL
ttp://www.mindswap.org/~katz/pychinko/
0188デフォルトの名無しさん05/01/23 22:15:17
どこからちんこが出てくんだよ。
ページ見てもわからんぞ。
0189デフォルトの名無しさん05/01/23 22:19:17
>>183
python2.xって別パッケージない?
まーWorkStation的な利用だったらsargeにするのがふつう。
019016605/01/24 11:15:24
>>183
Knoppix入れたら2.4があるよ
0191デフォルトの名無しさん05/01/24 11:17:09
pychinkoワロタ
0192デフォルトの名無しさん05/01/24 12:32:24
pychinkoをCで実装したchinkoを公開します
0193デフォルトの名無しさん05/01/24 13:23:26
pychinkoをC++で実装したchinko++を公開します
0194デフォルトの名無しさん05/01/24 13:54:03
chinkoのサブセット、tinychinkoを公開します
0195デフォルトの名無しさん05/01/24 15:48:29
                             .,/  _,/      .、、     ...、ヽ,,-、
                           .,,メ-‐'"       _"',|  .、、._,i.""│._、
                      ._,,,/`,イ―''      ,`",l゙、、,,ジ'"`.```.|゙゛
                    .,,,-,i´,―--―''"      、、,!冖'"`、_、,,,/'゚,,."゙l-‐''
       _,,,,,,,,,,,,,、    _,,,,,--''"`'",/゙            、、.',j/′.、,,∠''"` .'_ヽ.',゙l.._,,、
    ,,-'"゙`    `゙゙''lーイ"`     .‐′    _,..,,/ .ヽ、,i,i´ ``゙’   、、シ":"'.「
  .,,i´         `'i、\ ゙!,      ._,-'"ン'` 、、`_,/`,i´ _,___,ニ='" .'゙、゙".゙l,,-'`
 .,/′          `'i,\ ′  .,,,,-',,,,、.,i´、_:_'_v`"゙i、|   ```` `  、_,Jィ""゙l, _,,,,、
: ,i´             ゙l. ヽ丶  .r‐'"、.l゙、、:,p=l┴丶 .!,,!  `'"''''''冖''?'''゙~."""'."'/゛ `
: |,,r                ゙l, 、 i、、、、:,,_,xl!ヴi,、      、、っ,,,,    、`',,,,、`、`、|、
  |、            、"| .i、 lrr-''"゙,,ハ;、-'"゙゙'''''''"丶ヽ.,,冫``~`"`"~"``` `/ `''''
  `''r,,、 、 、、 .、丶、.``ヽ,レ"°  `` .j゚'=∠、````,,,,,∠ ~'ヽ```````、_,r‐'ヘi、
    `゙'ーi,,_、、、、、: :._,,,r〃       "  /^゚"'广  ,/  .,/゙゙゙'''ヶ―''''″   `
       `゙^""""''"'"                `   ′  ′  ."   
ぱいちんこ!ぱいちんこ〜〜!!
0196デフォルトの名無しさん05/01/24 17:21:30
2.4への機能強化で広がるPythonの世界 (1/4)
http://www.itmedia.co.jp/enterprise/articles/0501/24/news034.html

ここでもぱいちんこー
0197デフォルトの名無しさん05/01/24 18:12:02
磯さんわはー
0198デフォルトの名無しさん05/01/24 22:28:52
エスパー募集見飽きた
人に虫取りさせるならコード全部さらせと言いたい
てかマジ勘弁
0199デフォルトの名無しさん05/01/24 22:36:08
>>196
なぜPEPに触れていないんだろうか・・・・・・・・・・・・・・・・
0200デフォルトの名無しさん05/01/24 22:47:15
>>198
奴のスレッドは読まずに捨てます。これで解決。
0201デフォルトの名無しさん05/01/24 23:19:12
ttp://www.mindswap.org/~katz/pychinko/downloads/README-0.1.html

$ python run_tests.py
Running all Pychinko testcases ← 何を調べてるんだよ
Pychinko time: 0.412466049194 ← なんだか知らんが早いぞお前
parsing: generatedtests/testoutput.rdfs-closure1.pychinko.n3 ← 閉包かよ!
no differences. ← 誰と違わないんだよ!
0202デフォルトの名無しさん05/01/24 23:48:07
ワロタ

名前って重要だな。
0203デフォルトの名無しさん05/01/25 03:51:02
>>201
つっこみ ワロス
0204デフォルトの名無しさん05/01/25 10:55:44
                \ │ /
                 / ̄\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< ぱいちんこぱいちんこ!
                 \_/   \_________
                / │ \
                    ∩ ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< ぱいちんこ!
ぱいちんこ〜!    >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」               ̄     / /
0205デフォルトの名無しさん05/01/25 13:32:55
numpy と scipy の win32 バイナリキボン.
0206デフォルトの名無しさん05/01/25 15:49:00
CygwinのPythonで最新のnumpyを使うことができるけどそんなことする奴はいないか。
言いだしっぺの>>205がコンパイルしてうp。
ついでに>>205のpychinkoもうp。
0207デフォルトの名無しさん05/01/25 18:21:13
それは2.4用が欲しいのか。
020820505/01/25 20:47:42
ヲヲ.見事に 「2.4用の」を忘れていた orz
MinGW で作れるものは Linux でも作れたんでしたっけ?
良く分かりませんけど.これが無いと 2.4 に以降できませぬ.
ついでに pychinko というのも分かりません.google日本語で 3 件.
0209デフォルトの名無しさん05/01/26 11:55:05
pyyhon-2.4のインストールの質問なのですが./configureで --without-tcl
って出来ないですか?インストールされているtclが古いのでmakeでエラーが出る
のですが、tkinter関係要らないのでmake時に選択されないようにしたいのです。
0210デフォルトの名無しさん05/01/26 13:53:20
make distclean して, Modules/Setup から tkinter を外してみてください.
0211デフォルトの名無しさん05/01/26 13:55:29
>>208
いいえ。
0212デフォルトの名無しさん05/01/26 16:55:47
Numeric-23.7.win32-py2.4.exe はすんなりできたけど,SciPyに手こずって時間切れ.
0213デフォルトの名無しさん05/01/26 17:05:52
mod_pythonもpyCryptoも2.4対応したので,もうそろそろ2.4移行かな
0214デフォルトの名無しさん05/01/26 21:02:20
男なら商用サイトをZope 2.7.4+ Python2.4 + Fedoraできまり。
0215デフォルトの名無しさん05/01/27 02:52:21
いや、Plone-Zope-Python-SuSE Linux だ。
0216デフォルトの名無しさん05/01/27 09:03:20
Guido必死だなw
http://www.rubyist.net/~matz/
0217デフォルトの名無しさん05/01/27 10:25:13
>>216
君はこっち

Python厨とRuby厨が仲直りするスレッド
http://pc5.2ch.net/test/read.cgi/tech/1099804004/
0218デフォルトの名無しさん05/01/27 14:44:27
> Rubyのプレゼンスが向上したことをすなおに喜ぼう。
> 割とRubyに対して警戒心を持っているようで

まつもと必死だなw
0219デフォルトの名無しさん05/01/27 14:49:23
変更点もまとめずにリリース、
直後に一部修正して同じファイル名で再リリースするようなRubyが
Pythonと肩を並べようとは片腹痛いわ。
0220デフォルトの名無しさん05/01/27 15:03:36
× Rubyに対して警戒心を持っているようで
○ Rubyの作者に対して警戒心を持っているようで
0221デフォルトの名無しさん05/01/27 15:08:35
警戒心というよりかは疑心暗鬼だな(w
0222デフォルトの名無しさん05/01/27 15:11:12
でもぶっちゃけ、日本でPython使いだけどRuby使えない人って少ないんじゃない?
0223デフォルトの名無しさん05/01/27 15:13:44
rubyなんて入れてませんが?使う必要全く無いし。
0224デフォルトの名無しさん05/01/27 15:49:58
>>223
日本だとまったく逆な奴のほうが多いだろうな。
0225デフォルトの名無しさん05/01/27 15:57:24
>>222
Rubyを知る以前からPythonを使ってたから、
Rubyを使って何か書いたりはしてこなかった。
0226デフォルトの名無しさん05/01/27 16:34:10
>>224
ニホンジン作者なんていう属性はしょうもないことなんですよ。
私がニホンジンでなかったら Ruby なんて注目すらしていなかったでしょう。
そういうことです。その程度なんですわ。Ruby なんていう言語は。
0227デフォルトの名無しさん05/01/27 22:14:19
PythonユーザーでRubyを叩く人間も別スレに移動したほうがいいよ。
Rubyの人たちに荒らされる原因になるもん。

Python厨とRuby厨が仲直りするスレッド
http://pc5.2ch.net/test/read.cgi/tech/1099804004/
0228デフォルトの名無しさん05/01/27 23:35:40
たたくとかそういうことでなくて眼中にない。
0229デフォルトの名無しさん05/01/28 00:02:10
>>228
だから出てけって。
しつこいしキモイよ。
Pythonの話をしろよ。
0230デフォルトの名無しさん05/01/28 00:28:03
>>227
救いようのないスレだと思うが(W
0231デフォルトの名無しさん05/01/28 00:31:28
そりゃ救いようのない人達が群れ集まるスレですから。
0232デフォルトの名無しさん05/01/28 00:48:50
救いようのない人達が群れ集まるスレ〜になるでしょう〜♪
0233デフォルトの名無しさん05/01/28 01:13:44
Ruby on Railsに対抗して、PythonのWebアプリに革命をもたらす勇者はいずこ
0234デフォルトの名無しさん05/01/28 01:20:00
まだ試してないが、とりあえず貼っとくか
Quixote上のweb application framework。
http://www.qlime.org/
0235デフォルトの名無しさん05/01/28 04:17:26
もしかして Zope-2.7.4 上では Plone-2.0.5 は使えない?!
0236デフォルトの名無しさん05/01/28 11:09:49
>>235
使えません。
0237デフォルトの名無しさん05/01/28 14:03:39
>>233
WebアプリくらいPHPにくれてやれ。
0238デフォルトの名無しさん05/01/28 14:10:33
PHPなんてヤダヤダ(AA略)
たっぷるたっぷる(AA略)
0239デフォルトの名無しさん05/01/28 15:25:09
>>236
なんで使えないか分かりますか?
具体的には handlers と子プロセス関係の Plone 側の方がどうなってるのか知りたし。
0240デフォルトの名無しさん05/01/29 14:12:03
Python厨を黙らせるには難しい質問をすればいいらしい
0241デフォルトの名無しさん05/01/29 15:27:29
ラムダちゃんさようなら
0242デフォルトの名無しさん05/01/29 15:52:05
Python はネイティブスレッドによる並行実行をサポートしているそうだけれど.リファレンスカウンタ増減に対して排他制御をかけていないようだ.本当にそれでいいの?
0243デフォルトの名無しさん05/01/29 16:10:33
pythonは、インタプリタ自体は並行動作しない。
システムコールの呼出しなど、インタプリタを抜けるときだけMT動作を許可する。
0244デフォルトの名無しさん05/01/29 16:24:13
Pythonが採用しているデータ構造を理解しておきたい。
着手はどこからが良いでしょうか?
0245デフォルトの名無しさん05/01/29 16:25:53
>>242
インスタンスでやっているから別にいい。各自独立したスレッド。
競合した場合はプリミティブにkernel依存じゃないかな。
0246デフォルトの名無しさん05/01/29 16:37:36
>>244
詳しく
0247デフォルトの名無しさん05/01/29 16:49:06
>>246
具体的にはPythonの非常に柔軟な型対応を実現している個所のソースを読みたいんですよ
0248デフォルトの名無しさん05/01/29 17:02:47
>>245
おまえは http://www.python.jp/pub/doc_jp/api/threads.html を声に出して100回読め。
0249デフォルトの名無しさん05/01/29 19:07:48
>>247
「Pythonの非常に柔軟な型対応」って何のこと?
0250デフォルトの名無しさん05/01/29 23:55:22
>>249
    _  ∩
  ( ゚∀゚)彡 タップル!タップル!
  (  ⊂彡
   |   | 
   し ⌒J
0251デフォルトの名無しさん05/01/30 12:47:39

       タップル!! タップル!!
    タップル!! タップル!! タップル!!
  タップル!! ∩   ∩ ノ)   タップル!!
 タップル!!  川 ∩ 川彡'三つ  タップル!!
タップル!! ⊂ミ∩、⊂ミ∩彡⊃    タップル!!
タップル!!⊂三ミ( ゚∀゚)彡三彡三⊃ タップル!!
タップル!! ⊂彡川⊂彡川ミ⊃    タップル!!
タップル!!⊂彡川∪⊃ U川彡⊃   タップル!!
 タップル!! (ノ ∪  川 ∪ミ)  タップル!!
  タップル!!      ∪     タップル!!
    タップル!! タップル!! タップル!!
        タップル!! タップル!!
            タップル!!
0252デフォルトの名無しさん05/01/30 18:55:10
>>251
なんか北斗百裂拳みたい。
0253デフォルトの名無しさん05/01/30 19:30:03
                  タップル!!一筋30年
     _
   ( ゚∀゚)x"⌒''ヽ、        鍛えに鍛えた左腕
   (|     ...::   Y-.、
    |  イ、     ! :ヽ      求めるものはただ一つ
    U U `ー=i;;::..   .:ト、
          ゝ;;::ヽ  :`i      今日も明日も腕を振る
            >゙::.   .,)
           /:::.  /;ノ
     ゞヽ、ゝヽ、_/::   /          
     `ヾミ :: :.  ゙  _/             
       `ー--‐''゙~
0254デフォルトの名無しさん05/01/30 21:04:14
キモw
0255デフォルトの名無しさん05/01/30 22:11:18
必須の便利モジュール教えれ。
0256デフォルトの名無しさん05/01/30 22:21:51
timeit.py
0257デフォルトの名無しさん05/01/30 22:25:21
Pythonの規格読むの面倒なので教えて。
Pythonってどういう言語なの?
関数型言語なの?
0258257の通訳05/01/30 22:32:56
過疎だから無理にでも盛り上げよう
0259デフォルトの名無しさん05/01/30 22:36:09
PYTHON/CGIに興味ある人いないかい?
サイト作ろうと思ってんだけど…
0260デフォルトの名無しさん05/01/30 22:45:14
チュートリアル読め。

0261デフォルトの名無しさん05/01/30 22:48:04
>>257
Pythonは最高にクールでゴキゲンな言語だぜ!!!!
0262デフォルトの名無しさん05/01/31 00:13:36
ジェネレータというのを使ってみると,高尚なことをやっている気分になりますね.
遅延評価とか,あのわけわからない関数言語の特徴がこんなに簡単に,みたいな.
0263デフォルトの名無しさん05/01/31 00:39:26
      | _
      |∀゚) ダレモイナイ・・タプルナラ イマノウチ
      |⊂
      |
    _  ∩
  ( ゚∀゚)彡 タップル!タップル!
  (  ⊂彡
   |   | 
   し ⌒J
    _ _
  ( ゚∀゚) タップル!タップル!
  (    )
   | 彡つ 
   し∪J
    _, ,_∩∩
   (;`Д)彡彡 タップル!タップル!
  ((⊂⊂彡
   |   |
   ヽ_つJ
∩∩_, ,_ _, ,_∩∩
ミミ(Д´≡`Д)彡 タップル!タップル!タップル!タップル!
 ミ⊃⊃⊂⊂彡
   |   |
   し ωJ
0264デフォルトの名無しさん05/01/31 02:15:25
問題は現行のZope信者がキモすぎて普及の妨げになっていることだな。
0265デフォルトの名無しさん05/01/31 09:51:44
>>253
なんか失敗したエビフライみたい。
0266デフォルトの名無しさん05/01/31 11:39:31
jythonってJAVAのクラスファイル作れるの?
0267デフォルトの名無しさん05/01/31 11:51:10
作れますよ。
Javaアプレットを作る例なんかもjython.orgに載ってた気がします。
0268デフォルトの名無しさん05/01/31 12:15:07
>>267
さんきゅ〜〜
ということは、JAVAで書くと面倒くさい処理をpythonで書いて
JAVAへ変換、ということができるということか。便利だね
0269デフォルトの名無しさん05/01/31 21:26:05
>>259
mod_python使った方が幸せになれるよ。
0270デフォルトの名無しさん05/02/01 00:25:54
2.3.5 ... rc1:問題がなければ来週にもfinal
2.4.1 ... 二ヶ月以内予定
0271デフォルトの名無しさん05/02/01 06:06:46
2.3.5って存在価値あるの?
0272デフォルトの名無しさん05/02/01 08:53:51
sys.stdin/out/err を閉じるときにバッファがflushされない
弱参照されているオブジェクトを含む循環参照をgcしようとするとうまくいかないことがある
ある種のWindows DLLを読み込もうとするときに落ちる
exec() の中でtype()を使って作成したクラスに__module__がない
__init__.pyがディレクトリだとクラッシュする
Solarisでコンパイルがうまく通らないことがある
データを解凍せずにzlib.decompress.flush()を呼ぶと落ちる
非ブロックSSLソケットがブロックしている
OpenSSLのバグ回避
xmlrpclibでUnicodeをキーに使った構造体を操作できない

その他もろもろが修正されてる。
0273デフォルトの名無しさん05/02/01 09:07:41
行頭に - とか ・ つけるなり、区点使ってはどうかと。
0274デフォルトの名無しさん05/02/01 12:53:52
>>273
じゃ、残りよろしく
ttp://python.org/2.3.5/NEWS.html
0275デフォルトの名無しさん05/02/01 15:24:07
      | _
      |∀゚) ダレモイナイ・・オッパイスルナラ イマノウチ
      |⊂
      |
    _  ∩
  ( ゚∀゚)彡 Oh!Py! Oh!Py!
  (  ⊂彡
   |   | 
   し ⌒J
    _ _
  ( ゚∀゚) Oh!Py! Oh!Py!
  (    )
   | 彡つ 
   し∪J
    _, ,_∩∩
   (;`Д)彡彡 Oh!Py! Oh!Py!
  ((⊂⊂彡
   |   |
   ヽ_つJ
∩∩_, ,_ _, ,_∩∩
ミミ(Д´≡`Д)彡 Oh!Py! Oh!Py! Oh!Py! Oh!Py!
 ミ⊃⊃⊂⊂彡
   |   |
   し ωJ

0276デフォルトの名無しさん05/02/01 16:37:03
次のPythonのキラーアプリを考える会

Zope→Bittorrent→?
0277デフォルトの名無しさん05/02/01 16:40:07
>>276
Pythonを殺すアプリの事ですね。
VisualPythonとか。
0278デフォルトの名無しさん05/02/01 20:50:18
Googleテクノロジーのお下がりで使える汎用サーチエンジンが次期候補と予想しておこうかな
0279デフォルトの名無しさん05/02/02 01:08:40
    _ _
  ( ゚∀゚) Pychinko!
  (    )    Pychinko!
   | 彡つ 
   し∪J

http://www.mindswap.org/~katz/pychinko/
0280デフォルトの名無しさん05/02/02 12:46:21
Reteアルゴリズムに基づいたRDFのルールエンジン。
どこからPychinkoなんて名前を付けたんだ。
0281デフォルトの名無しさん05/02/02 14:49:43
                \ │ /
                 / ̄\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< ぱいちんこぱいちんこ!
                 \_/   \_________
                / │ \
                    ∩ ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< ぱいちんこ!
ぱいちんこ〜!    >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」               ̄     / /
0282デフォルトの名無しさん05/02/02 16:45:05
Nokiaの携帯はPychinkoできるらしい
http://www.itmedia.co.jp/news/articles/0502/02/news022.html
0283デフォルトの名無しさん05/02/02 16:50:06
      | _
      |∀゚) ダレモイナイ・・パイチンコスルナラ イマノウチ
      |⊂
      |
    _  ∩
  ( ゚∀゚)彡 pychinko! pychinko!
  (  ⊂彡
   |   | 
   し ⌒J
    _ _
  ( ゚∀゚)   pychinko! pychinko!
  (    )
   | 彡つ 
   し∪J
    _, ,_∩∩
   (;`Д)彡彡 pychinko! pychinko!
  ((⊂⊂彡
   |   |
   ヽ_つJ
∩∩_, ,_ _, ,_∩∩
ミミ(Д´≡`Д)彡 Pychinko! Pychinko! Pychinko! Pychinko!
 ミ⊃⊃⊂⊂彡
   |   |
   し ωJ
0284デフォルトの名無しさん05/02/02 17:10:11
>>282
確かに携帯とFOAFとかは相性が良さそうだが、

> Nokiaの携帯はPychinkoできるらしい
> http://www.itmedia.co.jp/news/articles/0502/02/news022.html

この記事のどこにPychinkoの事が書いてあるんだ?
0285デフォルトの名無しさん05/02/02 17:53:59
行間嫁
0286デフォルトの名無しさん05/02/02 20:06:08
Pythonキラーアプリの変遷
Zope→Bittorrent→Pychinko
0287デフォルトの名無しさん05/02/02 22:07:14
最凶のキラーアプリ
-> py2ch
0288デフォルトの名無しさん05/02/03 14:10:35
pyslsk
0289デフォルトの名無しさん05/02/03 15:02:21
>>285
ハァ?
意味の取れない文章を書いておきながら、行間嫁だと?
0290デフォルトの名無しさん05/02/03 15:15:40
俺の行間を読んでくれ。
今日の朝は

だ。
0291デフォルトの名無しさん05/02/03 15:16:06
何となくかっこよさそうなので行間嫁と言ってみたくて仕方がない年頃なんだよ。
0292デフォルトの名無しさん05/02/03 15:17:17
>>290
暇
0293デフォルトの名無しさん05/02/03 15:29:59
>>285
つまりノキアの携帯は、ぱいもちんこも付いてるふたなりなのだと?!
0294デフォルトの名無しさん05/02/03 18:05:10
Nokiaってティモテな金髪美女のイメージ
そんな彼女達も一皮剥けばPychinko
0295デフォルトの名無しさん05/02/03 20:30:36
>>289
> 意味の取れない文章を書いておきながら

残念ッ!

>>> 282 == 285
False
>>>
0296デフォルトの名無しさん05/02/03 21:05:41
>>289
うむ。十分に意味が読み取れる文章だよ。
 PythonでPychinco動かせる。
 NokiaでPython動かせる。
 じゃぁNokiaでPychincoうごくじゃん。
という見事な三段論法だ。
0297デフォルトの名無しさん05/02/03 21:34:53
>>296
つまりNokiaの中のPythonは、Pythonのサブセットじゃなくてフルセットなわけか?
それともサブセットだけどPychincoは動くと誰かが確認したのか?
0298デフォルトの名無しさん05/02/03 21:46:28
>>296
>>297
Pychincoではない!Pychinkoだ!丁寧にもヘボン式ローマ字表記だ!
0299デフォルトの名無しさん05/02/03 22:44:05
J2MEでJythonは動きますか
0300デフォルトの名無しさん05/02/03 22:57:43
山は死にますか
0301デフォルトの名無しさん05/02/04 00:07:22
Jythonのassert対応版、いつ出るのよ
0302デフォルトの名無しさん05/02/04 00:56:45
いま必死に取り組んでおります<Jython
0303デフォルトの名無しさん05/02/05 11:29:17
ちょっとよろしいですか
pythonのurllib.urlencodeで'%20'という文字を入れると
'%2520にencodeされてしまうんですが
どにかして%20にできないでしょうか?
0304デフォルトの名無しさん05/02/05 13:11:59
前提というか要求がおかしいよ、それ。
urllib.quoteならurllib.quote('%20', '%')とはできるけど。
0305デフォルトの名無しさん05/02/05 14:35:52
そうですね。解決しました
0306デフォルトの名無しさん05/02/06 01:46:33
ftplibで大き目のファイルを転送しているときに、今どのくらいまで転送したか
知るにはどうすればできますか?
プログレスバーのようなものを考えています。
0307デフォルトの名無しさん05/02/06 03:26:51
受信はretrbinary()の引数callbackがつかえるが、送信のstorbinary()にはないので(謎)、
引数のfileオブジェクトのread()を適宜オーバーライドするのがいいかな?
0308デフォルトの名無しさん05/02/06 15:13:03
定期的に集計するログ(テキストファイル)の中に
なんでか\x03や\x1aなどの制御コードが入るので、
これを除去するスクリプトを作っています。

bchar = '\x03' # または\x1a
achar = '@'

fp=open(filename,"rb")
fp2=open(filename+"_replaced", "wb")
rep = re.compile(bchar)
buf=fp.read(1024)
while buf != "":
  m=rep.search(buf)
  if m != None:
    buf2 = str.replace(buf,bchar,achar) 
    fp2.write(buf2)
  else:
    fp2.write(buf)
  buf=fp.read(1024)
fp.close()
fp2.close()

とりあえずreadlineではなぜか検知してくれなかったので
バイナリとして読み込んだら検知はしました。
しかしstr.replaceでは文字化けしてしまって…
str.replaceに代わるものはあるのでしょうか?
0309デフォルトの名無しさん05/02/06 15:48:16
>>308
文字化けするとゆーことは、ログファイルは日本語?
EUC-JP だと除去以前に元もと文字化けしてるだろうから
ログファイルの文字コードは Shift_JIS かな。
いずれにせよ(\x03 はともかく)\x1a の除去は難しいな。
EUC-JP や Shift_JIS では \x1a が文字の一部として現れるからね。
Unicode に変換して処理するのが基本だけど、
変なバイト値が入ってくるとコデックが文句を言うかも。
errors="ignore" を指定してみるとうまくいくかも知れない。
0310デフォルトの名無しさん05/02/06 15:50:02
あ、誤読した。\xa1じゃなくて\x1aか。てか自分でもそう書いてるし。orz
つーことで下3行以外は無視して下さい。スマソ
0311デフォルトの名無しさん05/02/06 15:53:09
UTF-16じゃあるまいし、文字の一部として^Zが現れるエンコーディングがどこにあるのかと小一時間
031230805/02/06 16:07:38
情報不足ですいません。
ログファイルはutf8nエンコードで日本語が入ってます。
pythonはwindowsの2.3を使っています。
スクリプトの頭でerrors="ignore"と宣言すればいいのでしょうか…?
031330905/02/06 16:29:02
>>312
UTF-8(string型)をUnicode文字列(unicode型)に変換して処理するべし。
組込み関数 unicode() を使うのが基本だけど
(errors="ignore"とゆーのは unicode() のオプション引数です)、
ファイルの読み書きのときに自動的に unicode() を呼ぶ以下のような方法もある。
リファレンスマニュアルで意味を調べつつ処理を追いかけてみて。
(StringIOは実際のファイルの代わりなので、真似して使う必要はない。)

# -*- coding: Shift_JIS -*-

import StringIO, re, codecs

Reader = codecs.getreader("utf-8")
Writer = codecs.getwriter("utf-8")

log = u"日本語\x03ASCII\x1a\n" * 3

istream = Reader(StringIO.StringIO(log.encode("utf-8"))) # fp
ostream = Writer(StringIO.StringIO()) # fp2

re_control = re.compile("[\x03\x1a]")

while 1:
    line = istream.readline()
    if not line:
        break
    print repr(line), "->",
    line = re_control.sub("@", line)
    print repr(line)
    ostream.write(line)
031430905/02/06 16:36:48
補足。ループの部分は以下のようにも書ける。この方が簡単だね。

for line in istream:
    print repr(line), "->",
    line = re_control.sub("@", line)
    print repr(line)
    ostream.write(line)

print "istream:", repr(istream.getvalue())
print "ostream:", repr(ostream.getvalue())

最後の2行でファイルの中身を表示してみる(StringIOならではの処理)。
UTF-8で、なおかつ問題の文字が置換されているのが確認できると思われ。
0315デフォルトの名無しさん05/02/06 17:56:28
っていうか、テキストファイルの中に\x03や\x1aが入る原因を調べるほうが先じゃないか?
031630805/02/06 18:02:44
むうーすいません、ちと理解するのに時間が…

>>315 
謎です、Webからの入力をそのまま吐き出してるはずなんですが…
その際使ってるアプリケーションの問題かも知れません。
0317デフォルトの名無しさん05/02/06 18:03:26
状況には場当たり的に対処し
いつまでも仕事は減らさぬよう増やさぬよう
031830805/02/06 18:12:40
readなりreadlineなり使ってファイルから読み込む際に
文字列として読み込むために、\x1aとか\x03とかに遭遇した時点で
処理が終了してるような気が…orz
0319デフォルトの名無しさん05/02/07 00:16:07
超coooooooooooooooolなアイコンくれ
0320デフォルトの名無しさん05/02/07 08:28:19
超cooooooooooooooool の検索結果のうち 日本語のページ 約 72 件中から自分で探せよ。
0321デフォルトの名無しさん05/02/07 11:53:21
      _  ∩
    ( ゚∀゚)彡 ぱいがめ! ぱいがめ!
    (  ⊂彡
     |   | 
     し ⌒J
0322デフォルトの名無しさん05/02/07 13:23:30
>>321
GJ!!!!!!!!!!
ああいう解説、もっとキボンヌです。
これからば作者さんのページに「Features, Docs, Screenshots, Download, ...」
に加え、「Tutorial with me」が必須でしょう。
0323デフォルトの名無しさん05/02/09 18:37:27
人生の敗北者でPython使ってる奴って
実際どれくらい敗北してんの?
0324デフォルトの名無しさん05/02/09 20:31:30
そだなー。テトリスにたとえるならこんな具合の敗北度。

┃                  ┃    . . .... ..: : :: :: ::: :::::: ::::
┃                  ┃         Λ_Λ . . . .: : :
┃      ┌┐┌┬┬┬┨        /:彡ミ゛ヽ;)ー、 . ::
┃┌┐┌┼┼┼┼┴┴┨       / :::/:: ヽ、ヽ、 ::i . .::
┠┼┼┼┼┼┼┼┬┐┃       / :::/;;:   ヽ ヽ ::l .
┠┼┼┼┼┼┼┼┼┤┃  ̄ ̄ ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄
┠┼┼┼┼┼┼┼┼┤┃
┠┼┼┼┼┼┼┼┼┤┃
┠┼┼┼┼┼┼┼┼┤┃
┗┷┷┷┷┷┷┷┷┷┛
0325デフォルトの名無しさん05/02/09 21:16:50
↑って連鎖の大チャンスじゃん。
0326デフォルトの名無しさん05/02/09 21:45:02
>>325
失敗をバネにして成功を勝ち取れ!というメッセージが通じんのか
0327デフォルトの名無しさん05/02/09 22:54:48
Pythonで人生が開けたみなさまの喜びの声↓
0328デフォルトの名無しさん05/02/09 22:55:29

┃                  ┃    . . .... ..: : :: :: ::: :::::: ::::
┃                  ┃         Λ_Λ . . . .: : :
┃      ┌┐┌┬┬┬┨        /:彡ミ゛ヽ;)ー、 . ::
┃┌┐┌┼┼┼┼┴┴┨       / :::/:: ヽ、ヽ、 ::i . .::
┠┼┼┼┼┼┼┼┬┐┃       / :::/;;:   ヽ ヽ ::l .
┠┼┼┼┼┼┼┼┼┤┃  ̄ ̄ ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄ ̄
┠┼┼┼┼┼┼┼┼┤┃
┠┼┼┼┼┼┼┼┼┤┃
┠┼┼┼┼┼┼┼┼┤┃
┗┷┷┷┷┷┷┷┷┷┛
0329デフォルトの名無しさん05/02/10 20:57:41
ttp://slashdot.jp/developers/05/02/08/0010222.shtml?topic=44

WindowsでPyQt製のeric3使ってみようかな、日本語使えない気がするけど。
0330デフォルトの名無しさん05/02/10 22:44:00
split(`ps -ef`) ...
とか、外部プロセスの出力結果を簡単に取り込むシンタックスシュガーが欲しい脳
0331デフォルトの名無しさん05/02/10 23:47:34
Perlとちがって純粋なプログラミング言語を目指してるから、
実装されることはないだろうね。

自分では結構仕事でPython取り入れてるけど、
そういうのにはやっぱりPerlを使うし。
0332デフォルトの名無しさん05/02/11 01:52:36
自分で定義するんじゃだめか?

from subprocess import Popen, PIPE
def shellexec(cmd):
    return Popen([cmd], stdout=PIPE, shell=True).communicate()[0].split()

for f in shellexec('ls *'):
    print l
0333デフォルトの名無しさん05/02/11 02:02:04
    _  ∩
  ( ゚∀゚)彡 ポーペン! ポーペン!
  (  ⊂彡
   |   | 
   し ⌒J
0334デフォルトの名無しさん05/02/11 02:27:00
commandsモジュールを使う
0335デフォルトの名無しさん05/02/11 23:02:13
IronPython、開発者がMSの.net開発チームに入ったって
鳴り物入りでニュースになったけど、その後どーなっている
んだろう。
033630805/02/12 03:52:50
>>313-314
何とかいけました(遅 ありがとうございました。
0337デフォルトの名無しさん05/02/12 04:25:48
Noneの比較の際は == None ではなくis None が推奨されるようですが、
理由は何ですか?
0338デフォルトの名無しさん05/02/12 04:54:22
文字列ではないから
0339デフォルトの名無しさん05/02/12 16:48:02
>>337
None は唯一無二のオブジェクトだから。

二つのオブジェクトが同じ値かどうかを調べるのが == 演算子。
二つのオブジェクトが同じオブジェクトかどうかを調べるのが is 演算子。

二つのオブジェクトが共にNoneならば、その二つは同じオブジェクトであるハズ。
その予想を確認する最も確実な方法が is None というわけ。
0340デフォルトの名無しさん05/02/12 17:45:36
>>339
is None と ==Noneで別の結果が返ってくる例ってあります?
0341デフォルトの名無しさん05/02/12 18:13:35
>>340
無いと思われ。

以前は None に代入できたが最近のバージョンでは SyntaxError になる。
また、C言語で拡張モジュールを書く場合でも None のインスタンスは
Py_None という定数で表される。したがって「None」が None オブジェクト
以外である状況というのは考えにくい。

もし None に代入できれば is None が偽(つまり別のオブジェクト)で
== None が真(値が同じ)になる状況というのはあり得ると思う。

一方、is None が真で == None が偽になる状況はあり得ない(演算子の
定義から明らか)。
0342デフォルトの名無しさん05/02/12 19:28:54
こうか。

>>> None = 106
<stdin>:1: SyntaxWarning: assignment to None
>>> n =106
>>> n == None
True
>>> n is None
False
0343デフォルトの名無しさん05/02/12 21:08:40
or dieの代わりに流行らせようとして失敗したんだよな
0344デフォルトの名無しさん05/02/13 02:33:43
or die はカッチョイイからな。チェケラッって感じ。

ところでオライリーの新しいやつってどんなでしょうか。
買う価値ありますか。
0345デフォルトの名無しさん05/02/13 02:41:58
なんでこのスレのテンプレってPyJUGとかへのリンクがないのさ。
0346デフォルトの名無しさん05/02/13 02:47:55
> ところでオライリーの新しいやつってどんなでしょうか。
初めてのPython 第2版のこと?

だったら、内容はすごく丁寧。
初学者でもつまづかないように注意深く書かれてる。
Python使いでもあんまり知らないようなディープなことも載ってるし。
ただし言語仕様についてが重点的に書かれていて、
ライブラリのことはほとんど書かれてないという弱点が。

それをふまえて、買う価値があるかどうかは自分で決めてくれ。
0347デフォルトの名無しさん05/02/13 02:49:21
>>345
>>1
0348デフォルトの名無しさん05/02/13 02:50:49
Python 2.3.5(final) released!
0349デフォルトの名無しさん05/02/13 03:01:08
subprocess ってのは2.4からか。知らなかった。
0350デフォルトの名無しさん05/02/14 21:44:27
1から100までの数字を選んでそれをプログラムに当てさせるプログラムを作れって問題があるんですがうまくできないです。
何処が悪いか教えてもらえないでしょうか?問題は101以上の数字を入力して再入力するよう指示できないところです。
よろしくお願いします。

G = 1
A = int(raw_input("choose a number: "))

while A < 0 and A >100:
A = int(raw_input("choose a number: "))

while G != A:
G +=1

print "the number is ", G

raw_input("enter")
0351デフォルトの名無しさん05/02/14 21:47:08
350です。
出来ました。
ANDじゃなくてORですね。
スレ汚しすみません。
0352デフォルトの名無しさん05/02/14 21:57:27
細かくつっこむと
今のままだと100が入力できないのと、
個人的趣向で最初の
A = int(...
は
A = 0
の方がすきなとこ。
035335205/02/14 21:59:13
ごめん100は入る。
スレ汚しスマソ
0354デフォルトの名無しさん05/02/14 22:06:42
0を入力すると…
0355デフォルトの名無しさん05/02/14 22:45:38
> 何処が悪いか教えてもらえないでしょうか?
そんなあほな例題を出してる奴の頭が一番悪い。
「1から100までの数字を選んでそれをプログラムに当てさせるプログラム」って何だよ。
ユーザが最初に入力した値そのものが答えだろ。もっとよく考えて問題作れよ。

while 1:
 try:
  n = int(input("enter number?"))
  if 0<n<=100:
   print "out of range (must be 0<n<=100)"
  else:
   print "the number is %d" %(n)
 except ValueError:
  print "your input is not a number! bye..."
  break

感想の欄があったら「例題があほすぎます。まじめに教える気あるんですか?」って書いとけ。
0356デフォルトの名無しさん05/02/14 22:50:35
> if 0<n<=100:
if not 0<n<=100: だし、input() も raw_input() だ。
俺もっとあほや。首吊ってくる。
0357デフォルトの名無しさん05/02/14 23:17:31
> print "the number is %d" %(n)

もっと言うと n のまわりの括弧は要らないね。

C言語で return(n); って書くタイプ?
0358デフォルトの名無しさん05/02/14 23:21:45
(n,) ならどうだろうか。
0359デフォルトの名無しさん05/02/14 23:40:34
return(n);
なんて書くやついるのか。
いや〜
0360デフォルトの名無しさん05/02/14 23:51:55
sizeof(n)とは書くけど…
0361デフォルトの名無しさん05/02/15 00:25:24
> 1から100までの数字を選んでそれをプログラムに当てさせる

プログラム「50ですか?」
人間「もっと大きい」
プログラム「75ですか?」
人間「もっと小さい」
プログラム「63ですか?」
……

という感じのじゃないのか?
0362デフォルトの名無しさん05/02/15 00:27:19
それで矛盾した情報をインプットすると爆発するんだよな。
0363デフォルトの名無しさん05/02/15 03:00:50
基本的なアルゴリズム:
予め1から100までの自然数マップテーブルを定義して(静的でよい)
「表面に」ユーザからの任意入力を受けつけて
マップテーブルとのコネクションを確立させる。
なければエラー入力とみなす。
次に「裏面」でこのコネクションを探索するエンジンを動かす(乱数でよい)
「表面」と「裏面」は独立したオブジェクト構成にして「イカサマ」がないように立証する。

# 実装はしませんよ。そんな低俗な労働は精神衛生上よくありませんので(^^;
0364デフォルトの名無しさん05/02/15 04:03:15
(1+sqrt(5))/2 を使うのかい。
0365デフォルトの名無しさん05/02/15 07:38:24
なぜ黄金比?
0366デフォルトの名無しさん05/02/15 10:09:56
プログラム「50ですか?」
人間「もっと大きい」
プログラム「51ですか?」
人間「もっと大きい」
プログラム「52ですか?」
……
0367デフォルトの名無しさん05/02/15 10:30:33
>>363はsuckitだな。
0368デフォルトの名無しさん05/02/15 10:37:29
>>366
ε-δ論法?
0369デフォルトの名無しさん05/02/15 10:51:30
>365
http://gakuen.gifu-net.ed.jp/~contents/museum/golden/page62.html
一番下を見ろ。
0370デフォルトの名無しさん05/02/15 11:48:57
nですか?nではありません→O(n)
nですか?nより(大きい|小さい)です→O(logn)
0371デフォルトの名無しさん05/02/15 20:37:50
pythonでWindowsのコマンドラインに入力できる関数ってありますか?
0372デフォルトの名無しさん05/02/15 20:43:07
>>371
Win32APIのSendMessage
0373デフォルトの名無しさん05/02/15 20:55:40
>>372
pythonでwin32api使いたいんですけど
ActivePython入れるしかない?
037437305/02/15 20:57:11
ごめ。すぐ見つかった。
スレ汚しスマソ
0375デフォルトの名無しさん05/02/15 21:04:17
>>371
もしかしたら勘違いしたかも。標準入力からの入力のことを言っているのだったりして…
sys.stdin.readline()
037637105/02/15 21:41:57
えと、pythonからDOSのコマンドを実行したいんですけど
具体的な例を教えてくれませんか?
pythonから別のアプリを引数つきで起動したいんです。

あと質問ですが
pythonのWin32apiってCでWin32api使うのと同じぐらいの機能はあります?
0377デフォルトの名無しさん05/02/15 21:42:05
os.popen() じゃない?
などと >>371 の質問をいろいろに解釈してみるテスト
037837705/02/15 21:43:52
しまった、ボケたつもりだったのに・・・
0379デフォルトの名無しさん05/02/15 22:53:04
>> 376

例えば,os.system() が使えます.
>>> import os
>>> os.system('"c:\\Program Files\\Adobe\\Acrobat 6.0\\Acrobat\\Acrobat.exe" d:\\docs\\mypaper.pdf')
0

ドキュメントを関連付けされたアプリで開きたいだけなら os.startfile() を使います.
>>> os.startfile("acrobat.exe")

win32api を使うと色々なAPI機能にアクセスできるけど,すべてのAPIに対応している
わけではないでしょう.それに,コールバックが入ってくるようなプログラムを
書こうとしたら苦労するはずです.C で使うほどには融通利かないと思う.
038037605/02/15 23:25:51
>>379
ありがとうございます。
osモジュールは滅多に使わないので解りませんでした。
win32apiは使ってみる価値がありますね。win32guiモジュールも気になる。

日本語の解説サイトが少ないのが悲しいかなw
0381デフォルトの名無しさん05/02/15 23:26:30
>376
えーと、例えばDOSプロンプトで
> type
とか
> copy
とか
> xcopy
とかやるような? だったら>379にもう一工夫
>>> os.system('"command.com xcopy 〜〜"') ←9x、Me

>>> os.system('"cmd.exe xcopy 〜〜"') ← 2000,XP

でも、普通にshutil使った方がよかないかい? netコマンド使うとかならしらんけど。
0382デフォルトの名無しさん05/02/16 02:41:25
http://d.hatena.ne.jp/doc2/20050204#p1
PyHSP(PygameをHSP風に使えるようにするラッパー)を製作中
0383デフォルトの名無しさん05/02/16 02:52:31
>>382
お前は明らかに言語のエレベータで『下がる』ボタンを押してるよ
0384デフォルトの名無しさん05/02/16 02:57:28
HSP厨の存在は単なる冗談かと思っていたけれど、本当にいたんだ、こんな人。
まわりのりんごまで腐らないといいけれど。。
0385デフォルトの名無しさん05/02/16 03:08:37
貶めるバカが居るとは思わなかった
0386デフォルトの名無しさん05/02/16 03:31:47
pygameってFFの画面を思い浮べてしまうんだけどw
でも画像ビュアとかプレゼンUIとかのバックエンドで秘かに使われているので
なんとなしに複雑な心境(´・ω・`)
0387デフォルトの名無しさん05/02/16 11:39:09
Pythonでも「るびま」みたいなのがあればいいなー。
どうでしょ?
0388デフォルトの名無しさん05/02/16 12:18:29
情報が増えるってのはいいことだ
特に日本語の。
0389デフォルトの名無しさん05/02/16 12:48:29
>>388
そのとおりですね。小さなブログ記事1000本よりも、「るびま」風
のまとまった記事1本の方がわかりやすかった。だから、「ぱいそま」
に一票。
0390デフォルトの名無しさん05/02/16 12:51:55
ところで、「ぱいそま」で投稿をお願いしたいPythonの
人を募集!

* Rubyist Hotlinks 第 1 回 まつもとゆきひろさんさん
* Rubyist Hotlinks 第 2 回 前田修吾さん
* Rubyist Hotlinks 第 3 回 かずひこさん
* Rubyist Hotlinks 第 4 回 ただただしさん
* Rubyist Hotlinks 第 5 回 増井俊之さん
0391デフォルトの名無しさん05/02/16 12:52:53
なんで増井さん…
0392デフォルトの名無しさん05/02/16 13:20:40
なんで日本語なんだよ。
0393デフォルトの名無しさん05/02/16 13:30:55
>> 391
プロトタイピングとして、Perl4からRubyに乗り換えたんだって。
増井さんの記事、面白かった。
0394デフォルトの名無しさん05/02/16 15:30:36
                             .,/  _,/      .、、     ...、ヽ,,-、
                           .,,メ-‐'"       _"',|  .、、._,i.""│._、
                      ._,,,/`,イ―''      ,`",l゙、、,,ジ'"`.```.|゙゛
                    .,,,-,i´,―--―''"      、、,!冖'"`、_、,,,/'゚,,."゙l-‐''
       _,,,,,,,,,,,,,、    _,,,,,--''"`'",/゙            、、.',j/′.、,,∠''"` .'_ヽ.',゙l.._,,、
    ,,-'"゙`    `゙゙''lーイ"`     .‐′    _,..,,/ .ヽ、,i,i´ ``゙’   、、シ":"'.「
  .,,i´         `'i、\ ゙!,      ._,-'"ン'` 、、`_,/`,i´ _,___,ニ='" .'゙、゙".゙l,,-'`
 .,/′          `'i,\ ′  .,,,,-',,,,、.,i´、_:_'_v`"゙i、|   ```` `  、_,Jィ""゙l, _,,,,、
: ,i´             ゙l. ヽ丶  .r‐'"、.l゙、、:,p=l┴丶 .!,,!  `'"''''''冖''?'''゙~."""'."'/゛ `
: |,,r                ゙l, 、 i、、、、:,,_,xl!ヴi,、      、、っ,,,,    、`',,,,、`、`、|、
  |、            、"| .i、 lrr-''"゙,,ハ;、-'"゙゙'''''''"丶ヽ.,,冫``~`"`"~"``` `/ `''''
  `''r,,、 、 、、 .、丶、.``ヽ,レ"°  `` .j゚'=∠、````,,,,,∠ ~'ヽ```````、_,r‐'ヘi、
    `゙'ーi,,_、、、、、: :._,,,r〃       "  /^゚"'广  ,/  .,/゙゙゙'''ヶ―''''″   `
       `゙^""""''"'"                `   ′  ′  ."   
ぱいちんこ
0395デフォルトの名無しさん05/02/16 16:47:46
>>390
* Hotlinks 第 1 回 mojixさん
* Hotlinks 第 2 回 たけしさん
打ち切り。
0396デフォルトの名無しさん05/02/16 18:32:37
だれか暇な人pythonでマルコフ連鎖書いて〜
0397デフォルトの名無しさん05/02/16 18:35:51
>>396
マルコフ連鎖の意味解かっていますか?
039839605/02/16 18:39:50
解らないから書いてほしい。
接頭語句と接尾語をあーだこーだするみたいだけど全く解らない。
つかすれ違いかな。

過疎スレなのに返信速くてワロw
0399デフォルトの名無しさん05/02/16 18:53:35
>>387
全うな Pythonist は PEP8 を遵守して英語でコメントせねばなりませんので・・
どうしても日本語情報を欲っするのならばブログのトラバを集めたポータルを
ご自分で作られてはいかがか?
0400デフォルトの名無しさん05/02/16 18:54:37
Kakashiで分かち書きしてマルコフ連鎖で文章を自動生成させるPythonスクリプトを以前書いたよ。
夏目漱石風だの梶井基次郎風だのが簡単にできて結構おもしろかった。
そーゆーことがやりたいんだよね?
0401デフォルトの名無しさん05/02/16 19:01:16
>>398
一般的なマルコフ連鎖についてもう少し勉強してから来てください。
http://markun.cs.shinshu-u.ac.jp/learn/probability/i_04-00.html
0402デフォルトの名無しさん05/02/16 19:08:08
>>401
理解不可w
0403デフォルトの名無しさん05/02/16 19:12:28
I'm feeling Lucky!
0404デフォルトの名無しさん05/02/16 19:26:53
今読んでるdictionaryの説明のところで dictionary の value について
"values can be immutable. They can be anything you want"
ってあるんですが文脈からいってこれって mutable のまちがいなのではとおもうんですが
実際のところどうなんでしょうか?
0405デフォルトの名無しさん05/02/16 19:42:20
>>395
たけしって誰?
0406デフォルトの名無しさん05/02/16 19:47:40
PlanetPythonJでいいじゃん。
0407デフォルトの名無しさん05/02/16 19:55:04
>>405
Zopeスレへgo!
0408デフォルトの名無しさん05/02/16 20:16:02
>>404
その前の文章はどうなってるの?
↓予想

(keyはimmutableでないといかんが、valueはmutableでもおっけーよ。)←文脈
もちろんimmutableでもよい。つまりvalueはなんでもありっす。
0409デフォルトの名無しさん05/02/16 20:22:06
>>404←エスパー募集
>>408←エスパー1号
0410デフォルトの名無しさん05/02/16 20:25:09
↓エスパー魔美
0411デフォルトの名無しさん05/02/16 20:38:40
>>408
おっしゃるとおりです。
value のが sequance として imutable なんだって説明しているの飼って思ってたんですが
value に入れられるものについての説明だったのかぁ。
value と sequance がなんかごっちゃになってました…。
ありがとう御座いました。
0412デフォルトの名無しさん05/02/16 20:43:19
何でこんなにもスレ伸びてるの?
0413デフォルトの名無しさん05/02/16 20:45:24
↑こういうレスがあるから(含むこのレス)
0414デフォルトの名無しさん05/02/16 21:20:09
>>402
高校生になるまでこのスレに書き込むな。
小・中学生には確かに難しすぎる。
0415デフォルトの名無しさん05/02/16 21:31:22
Pythonってインデント間違ってると誤動作しますか?
0416デフォルトの名無しさん05/02/16 21:42:53
そういうこともある。
0417デフォルトの名無しさん05/02/17 00:34:08
これ 0 を最初に入力したらループが抜けるとおもってたんですが抜けないんですよねぇ…。
何処が悪いんでしょう?本に載ってるやつと何処が違うのかいまいちわからない。

choice = None
dic = {"a": "aaaa", "b":"bbbb", "c":"cccc"}

while choice != 0:
print \
"""
0: Quit
1: Look up a term
2: Add a term
3: Redifine a term
4: Delete a term
5: Display all items

"""

choice = raw_input("Make a choice: ")
noterm = "we do not have the term"

if choice == "0":
print "\nGood Bye"

raw_input("enter")
0418デフォルトの名無しさん05/02/17 00:36:00
417です。
あ、わかりました。
0419デフォルトの名無しさん05/02/17 10:43:16
PerlならCPAN、TeXならCTAN、RならCRAN、PHPならPear・・・と、
「まずはここで探せ」という場所があるんですが、
Pythonだとどこが拠点になるんでしょうか。
皆さんはどうしてますか?
PyPI(ぱいぱい?)というのがそれに相当するんでしょうかね?
0420デフォルトの名無しさん05/02/17 10:48:06
だいたいここらで探してる。
h ttp://www.python.org/pypi
h ttp://www.vex.net/parnassus/
0421デフォルトの名無しさん05/02/17 11:50:24
>>419
つぅか sf か freshmeat のサーチエンジン使え
0422デフォルトの名無しさん05/02/17 16:16:24
以下のコードで,セーブ時にエラーがでて,実行できません.
「〜」って使えないんでしょうか?

----------------------------
# coding=shift_jis

print "〜"
----------------------------
0423デフォルトの名無しさん05/02/17 16:44:58
セーブ時にエラーがでて
0424デフォルトの名無しさん05/02/17 17:26:34
エディタの問題をPythonスレで聞かれてもリンダ困っちゃう
0425デフォルトの名無しさん05/02/17 17:36:29
文字列を標準出力にセーブするときの話だろ。
0426デフォルトの名無しさん05/02/17 17:42:21
「標準出力にセーブ」?
0427デフォルトの名無しさん05/02/17 17:59:09
エスパーを激しくきぼんぬするスレになりました
0428デフォルトの名無しさん05/02/17 18:52:09
おさえの投手が内野ゴロをトンネルして逆転負けっていう話じゃないか?
0429デフォルトの名無しさん05/02/17 20:32:36
入力された文字をエンティティ化したいのですが、
JavaScriptのcharCodeAt()みたいなメソッドはありますか?
ttp://www.openspc2.org/reibun/javascript/form_textfield/036/
0430デフォルトの名無しさん05/02/17 20:51:42
>>> s = u"\u3000"
>>> s[0]
u'\u3000'
>>> ord(s[0])
12288
043142905/02/17 21:22:27
組み込み関数で用意されていたとは…orz
ありがとうございました!!
0432デフォルトの名無しさん05/02/17 22:40:48
ordをorzと誤読した
0433デフォルトの名無しさん05/02/17 23:51:07
>>> orz = ord
>>> print orz('\u3000')
12288

これで問題ない
0434デフォルトの名無しさん05/02/18 01:49:56
流石だな、兄者。
0435デフォルトの名無しさん05/02/18 02:11:20
寧ろ Python そのものを讃えるんだな
043641905/02/18 06:42:33
レス遅れてすみません。
>>420-421 ありがとう。
決定版な場所というのはないにせよ、
だいたい見に行く場所ってのは限定されているんですね。
0437デフォルトの名無しさん05/02/18 08:07:40
別に Bittorrent 宜しく、"anywhere"でもいいんだよ。
それだと甚大なアタック被害を被ることはありませんですし。
0438デフォルトの名無しさん05/02/18 22:15:57
ODBCやらJDBCやらDBIみたいな統一APIがないと聞きますが
そのうちどーにかなりますか
0439デフォルトの名無しさん05/02/18 22:56:54
>>435
0440デフォルトの名無しさん05/02/19 00:00:56
>>438
これのことですか?

Python Database API Specification v2.0
http://python.org/peps/pep-0249.html
0441デフォルトの名無しさん05/02/19 01:49:20
質問自体が間違いの気もしますが
タプルにどうにかして要素を追加する方法ってありませんか?
0442デフォルトの名無しさん05/02/19 01:51:17
>>> x = (1, 2, 3)
>>> x += (4, 5, 6)
>>> x
(1, 2, 3, 4, 5, 6)
>>>
0443デフォルトの名無しさん05/02/19 08:07:54
>>440
ttp://www.python.jp/pub/doc_jp/contrib/peps/pep-0249.txt
0444デフォルトの名無しさん05/02/19 09:12:18
わかってるんだろうけど、listと違いtupleはimmutableなので

>>> a = (1,2,3)
>>> id(a)
1077626556
>>> a += (4,5,6)
>>> id(a)
1077607900

要素を変更したい場合は、listに変換するのが正しい方法だと思う。
0445デフォルトの名無しさん05/02/19 17:00:28
次ぎのエラーの原因がわからないのですがいったい何なのでしょうか?
python2.2.3を使っています。

>>> file = open("D:\a\TEXT\memo.txt","r")
Traceback (most recent call last):
File "<pyshell#7>", line 1, in ?
file = open("D:\a\TEXT\memo.txt","r")
IOError: [Errno 2] No such file or directory: 'D:\x07\\TEXT\\memo.txt'
0446デフォルトの名無しさん05/02/19 17:09:20
>>445
パス名がエスケープシーケンスでやられてる
0447デフォルトの名無しさん05/02/19 17:14:04
>>446
ありがとう御座います。
どう対処すればいいのでしょうか?
044844705/02/19 17:24:19
/ じゃないとだめなのか。
0449デフォルトの名無しさん05/02/19 17:31:31
>>447
\\で'\'とかの話じゃないのかな?
045044705/02/19 17:35:01
>>449
あ、なるほど!
ストリングか。
0451デフォルトの名無しさん05/02/19 18:36:24
こういう場合os.pathモジュール推奨なんじゃないの?
まーWindowsとUnixだけなら'/'で間に合うけど。
0452デフォルトの名無しさん05/02/19 20:44:57
file = open(r"D:\a\TEXT\memo.txt","r") という手も蟻。
0453デフォルトの名無しさん05/02/19 23:42:55
今日初めてpydoc使ってみて驚愕しました。イカす。
0454デフォルトの名無しさん05/02/20 04:52:23
>>453
標準ライブラリとかでやったか?
次は自分で作成したモジュールでやって見るべし。
0455デフォルトの名無しさん05/02/21 10:30:22
「もし X が 4の倍数なら」っていうのはどうやってかけばいいんですか?
045645505/02/21 10:55:15
for x in range(0,101,2):
print x

こんな感じになるのかなぁ。
0457デフォルトの名無しさん05/02/21 11:45:23
>>455
厳密じゃないかもしれませんが、
そのまま「4の倍数なら」って書き方はできないから、
4の倍数の「4で割った余りが0」という性質をつかって書きます。
0458デフォルトの名無しさん05/02/21 20:39:41
>>455
if x % 4 == 0:
  xが4の倍数の時の処理
else:
  そうで無いときの処理

>>457
どうせガッコの課題かなんかなんだろうから、
もったいつけてないで直接コードで教えたれや。
0459デフォルトの名無しさん05/02/22 03:30:07
まさかPythonの課題などあるまい・・・
0460デフォルトの名無しさん05/02/22 08:42:24
C言語スレだと絶対に宿題呼ばわりされちゃうから
意表を突いてPythonスレにしたんだな。賢いやつだ。
0461デフォルトの名無しさん05/02/22 13:51:46
PythonからC言語に移植できるような賢いやつが
xが4の倍数かどうかで悩まない気が・・・。
0462デフォルトの名無しさん05/02/22 18:26:22
リファレンスの、「Pythonインタプリタの拡張と埋め込み」で
所有権に関する記述があるんだけど、頭悪いせいかさっぱりわからん。
どのタイミングで参照カウントを下げればいいの?
借用した参照は、そのローカルでしか使えないの?
046344105/02/22 19:03:19
タプルに一つの要素ぶっこむ方法できたよーw
>>> x=(1,2,3)
>>> x+=(4,)
>>> x
(1, 2, 3, 4)

この方法ってさ、邪道ですか?
0464デフォルトの名無しさん05/02/22 19:12:21
>>442で既出
046544105/02/22 19:22:04
>>> 4,
(4,)
ってことに感動しただけでした。
0466デフォルトの名無しさん05/02/22 21:40:45
2.4は最高ですか?
0467デフォルトの名無しさん05/02/22 21:45:21
2.5最高です。
0468デフォルトの名無しさん05/02/22 22:51:48
ipython最高
0469デフォルトの名無しさん05/02/22 23:22:37
すいません、助けてください。
Pythonに限った事ではないんですが‥
テキストに一行ずつランダムな五桁の数字があり(総行数は一定ではない)、
上から順にテキストを読んで行き、参照している行にある数値が前10行の内、
最大の数値であれば、HIT!、それ以外はpassするスクリプトを書くとしたらどのように書きますか?

ちょっと意味不明な文章かもしれませんが、誰か知恵を下さい。
0470デフォルトの名無しさん05/02/22 23:51:33
宿題じゃないことを証明せよ
0471デフォルトの名無しさん05/02/23 00:06:33
nyanko=eval(str([0]*10))
def wanko(a,b):pass
for line in sys.stdin.xreadlines():
 for b in nyanko:
  wanko(int(line.strip()),b)
 nyanko.pop(0)
 nyanko.append(int(line.strip()))
0472デフォルトの名無しさん05/02/23 00:16:08
内側のループはわんこの中に入れたほうが良いね。
あと1行目が意味不明。
0473デフォルトの名無しさん05/02/23 01:29:25
単純に。

import sys

lst = []
for line in sys.stdin:
  curNum = float(line.strip())
    for n in lst:
      if n == curNum:
        print "Hit", curNum, lst
        break

    lst.append(curNum)
    f len(lst) == 10:
      lst.pop()

ではダメかね。
0474デフォルトの名無しさん05/02/23 01:35:16
インデント失敗。

import sys

lst = []
for line in sys.stdin:
  curNum = float(line.strip())
  for n in lst:
    if n == curNum:
      print "Hit", curNum, lst
      break
  lst.append(curNum)
  if len(lst) == 10:
    lst.pop()
0475デフォルトの名無しさん05/02/23 02:20:30
zlibについて質問させてください。
以下のようなコードを書きました。

#!/usr/bin/python

import zlib

f = open("test.gz", "r")
all = f.read()
f.close

all = zlib.decompress(all)

print all,

すると「zlib.error: Error -3 while decompressing data: incorrect header check」というエラーになってしまいます。
「test.gz」はgzipコマンドを使って手動で作ってファイルです。
ヘッダーが壊れているとは思えないのですが……。
もちろんgzipコマンドでは解凍することが出来ます。
お知恵を拝借させてください。
よろしくお願いします。
0476デフォルトの名無しさん05/02/23 03:32:07
f = open("test.gz", "rb")
バイナリモードで開くべし
047746905/02/23 03:46:19
>>471,474
ありがとうございます。でもどちらも上手く行きません。
例えば
2,1,5,3,1,1,1,1,1,1,1,1,4
とあった場合(コンマ区切りは一行として)
最初の2が最大値としてスタートし、5と4がヒット。
>>474さんの場合は3もヒットしてしまいます。
自分でもいろいろ試してみましたが、完璧なものが作れません...orz
頼みます。誰かお願いします。
0478デフォルトの名無しさん05/02/23 06:50:05
>>477
import sys

lst = []
for line in sys.stdin:
  curNum = float(line.strip())
  try:
    if curNum >= max(lst):
      print "Hit", curNum, lst
  except ValueError:
    pass

  lst.append(curNum)
  if len(lst) > 10:
    lst = lst[1:]
047946905/02/23 07:24:06
>>478
完璧です!ありがとうございます!
ほんとに助かりました。
調べながらソース見て勉強させて頂きます。
0480R(x)05/02/23 09:56:50
>>469

def hit_max_mae_10(lst, idx): return idx and lst[idx] > max(lst[max([0,idx-10]):idx])

dataをlstで与えられ、そのidx番目の値が前10個の値と比較して大かどうかでTrue/Falseを返すと思う。
idxが0の時、無条件にFalseを返すように工夫してみた。あと、pythonらしくなるようにも。
0481デフォルトの名無しさん05/02/23 11:26:17
>>480
なんか、Pythonらしいというか、Lisp風だなぁ。
048246905/02/23 12:10:22
>>480
ごめんなさい
俺の知識じゃ、それの使い方すらわからない。
どのように扱うのでしょうか?
048374505/02/23 12:15:20
何方か>>745わかりませんか?
0484デフォルトの名無しさん05/02/23 12:24:49
>>475
gzip.open("test.gz")
0485R(x)05/02/23 12:52:55
>>480 私はLispを知らないのですけど、そうなんですか。
>>483 >>475?

hit_max_mae_10(lst, idx)のlstに、元になるテキストから作られたリストを入れてください。
例えば、こんなのです。[2, 3, 8, 1, 2, 5, 9, 8, 1, 0, 7, 9, 2, 9, 3]
で、その中でチェックしたい値の番号をidxに与えます。
例えば例のリストの9だったら、6ですね。
そしたらこの関数は、条件にあっていればTrue値、そうでなければFalse値を返します。
idxに0を指定した時は、どうしょうかと思ったのですけど、無条件にFalse値にしときました。

オマケに私の作成した時のコードを全部、貼り付けますね。>>482
インデントを全角スペースにしたので、半角に置き換えて動かしてみてください。
import random
def hit_max_mae_10(lst, idx): return idx and lst[idx] > max(lst[max([0,idx-10]):idx])
print '- '*20
s = [random.randint(0,9) for x in range(random.randint(15,20))]
print s, len(s)
for i in range(len(s)):
  if hit_max_mae_10(s, i): print 'HIT!', i, s[i]
0486デフォルトの名無しさん05/02/23 12:54:49
>>484
あんたすごい。745=475ってことね・・・
エスパー決定w

>>482
どこまで分かるのかが解らないんですけんど
max()は組み込み関数で、リストの中で最大の数値を返す。
Pythonのリストはスライスって機能があって
たとえば
>>>lst=[1,2,3,4,5]
>>>lst[2:4]
[3, 4]
って感じだよ

>>480
max([0,idx-10])をする意味がよく解らんのですが・・・
0487R(x)05/02/23 13:03:36
>>486 それはですね、、、こうしないとこのスライスをとったときに
に例えばidxは5だった時に、lst[-5:5]ってなって、空リストが返ってしまってたからです。
048846905/02/23 13:18:45
>>485
できました!
これも完璧ですね。
本当に勉強になりました!ありがとうございます!
0489デフォルトの名無しさん05/02/23 13:48:37
>>487
なる。そこまで配慮したのね
0490R(x)05/02/23 14:29:43
>>489 そうしないと、出来なかったのです。例えば。
>>> range(7)[-5:5]
[2, 3, 4]
0491デフォルトの名無しさん05/02/23 14:52:41
ttp://www.cubelab.com/ymasuda/python/wxpython/simplesample.html
ここの一番下辺りにあるOnInitメソッドの
self.frame.Show(true)
って間違ってません?
0492デフォルトの名無しさん05/02/23 18:14:43
>>491
frame.Show(True)
の間違いだろうね。
0493デフォルトの名無しさん05/02/23 19:17:36
Pythonにはcのgetcやputcみたいに1文字ごとに入出力ってないの?
0494デフォルトの名無しさん05/02/23 19:46:59
getc?: c = sys.stdin.read(1)
putc?: sys.stdout.write('!')
0495デフォルトの名無しさん05/02/23 21:24:48
>>494
どうもです。
writeは知りませんでした。
0496デフォルトの名無しさん05/02/24 01:57:14
ここ以外でも、python系スレで、shelveモジュールについて、話題になった事ってあるのでしょうか?
最近初めて使って、これの便利さ加減に驚愕し、もっと便利な使い方はないかなと思って。
0497デフォルトの名無しさん05/02/24 02:04:59
何ソレ?
0498デフォルトの名無しさん05/02/24 06:01:40
>>496
なんかのdbm系 + pickleで同じような動作を自分で作れる。
トランザクションとかがほしい場合は、Standalone ZODB使ってもいい。
あと、こんなのも http://www.mems-exchange.org/software/durus/ ある。

>>497
せっかく和訳軍団ががんばっているのだから、
http://www.python.jp/pub/doc_jp/lib/module-shelve.html
くらい読むように。
0499デフォルトの名無しさん05/02/24 08:16:23
>>496
pyweblibでセッション管理に使われてますね。
重宝してます。動作の仕組みはさっぱりわからんけど…
0500デフォルトの名無しさん05/02/24 12:31:25
ユーノス500
050149605/02/24 16:19:49
>>498-499 ありがとうです。見てみましたが、ほとんど分かりませんでした;;
shelveは必ず実体のあるファイルを要求するんですね、fileオブジェクトでもいいと
もうちょっとうれしかったかも。使い方の問題なのかな?
私の特にうれしいと思った点は、ちょっとの事ならDBを立てないですむ事。読む速度が早い事。
リアルタイムな書き換えの必要無い場面で、pythonのよく使うオブジェクトをそのまま入れておきたいとき便利ですよね。
またprotocol パラメタかなにかを使って、圧縮や暗号化も出来るのですか?
0502デフォルトの名無しさん05/02/24 17:19:53
shelve.py を読んでみるといいよ。小さなモジュールだから簡単だと思われ。

shelve が強力なのは pickle モジュールが強力だからだね。
pickle は Python のオブジェクトを文字列に変換したりオブジェクトに
戻したりするのに使うモジュール。オブジェクトを文字列に変換できれば、
ファイルへの格納もできるし、圧縮・暗号化することもネットワーク上を
流すこともできる。shelve は pickle の有用な応用の一つというわけ。
0503デフォルトの名無しさん05/02/24 17:54:37
信者ってキモイね
0504デフォルトの名無しさん05/02/24 18:39:17

 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 |   次でボケて!!!   |
 |________|
    ∧∧ ||
    ( ゚д゚)||
    / づΦ
0505ウエシマ05/02/24 19:29:51
ハゲを直したい!!
0506デフォルトの名無しさん05/02/24 20:04:10
>>505
さすが敗北者スレ
0507デフォルトの名無しさん05/02/24 21:39:47
>>505
         ,. -──‐- 、
        /        \
       /       MSCB   ヽ
     _|==、__, --- 、  ____  l
     f勹 -`l-==、 j=v'___ ヽ.|
     .!L!    `ー彡' ト、__゙ノV!
     L.j,     / `‐' -'ヽ  〃 / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
       |   ヾュェェュ,, 〉 /j <  ハゲも爽快感があって気分いいですよ。
       |ヽ、   ヽ二´  /   \______________
    _,. -''^ヽ \       /ヽ、   
-‐'''´   || ヽ ヽニニr'´   `゙ヽ、
0508デフォルトの名無しさん05/02/24 22:05:10
AA貼るな。荒れるから。
0509デフォルトの名無しさん05/02/24 22:47:12
>>502 あれから、shelve.pyを見てみました。
小さいと言うより、ほとんど以上の処理を、他のモジュールに投げてしまってましたね。
shelveはアイデアが良かったか伝統的なのか何故か標準モジュールになってるのでしょうね。
これなら>>498 の言うように自分の欲しい機能を実装したものを作るのも頷けますね。
独自でこれを拡張するってのもアリでしょうね。
0510デフォルトの名無しさん05/02/25 02:46:57
丁度今pickleの移植中、個人的にタイムリーな話題

>>501
protocolはpickleのパラメータで、データを保存するフォーマットのバージョン番号みたいなものです。
省略時は 0 で、すべてのデータが文字列として書き込まれ、
1 や 2 を設定すると、データはpackされ、バイナリで保存されます。

データ全体を圧縮とまではいかないけど、
重複する要素は参照にして、データの実態はひとつにまとめるくらいの工夫はされてます。
オブジェクトの参照が保たれる為、循環構造も保存できます。暗号化はされません。

>>> a = []
>>> b = [a]
>>> a.append(b)
>>> pickle.dumps(b)

# marshal.dumps だと segmentation fault
0511デフォルトの名無しさん05/02/25 15:02:21
>>507
だれ?
ホリエモンでもないし。
0512デフォルトの名無しさん05/02/25 15:16:46
>>511
ttp://columbia.jp/~chiharu/
0513デフォルトの名無しさん05/02/25 17:18:45
pythonのプログラミングコンテストがあるようです。
http://www.samhita.info/Home.htm
0514デフォルトの名無しさん05/02/25 19:27:14
>>511-512
ttp://mojix.org/
0515デフォルトの名無しさん05/02/25 21:16:56
>>512 「粋」の代表的な例
>>514 「野暮」の代表的な例
0516デフォルトの名無しさん05/02/26 01:34:38
で、この人がどうかしたの?
0517デフォルトの名無しさん05/02/26 02:24:10
pygameについて質問ですが
spriteを動かしたら残像が残るんですがどうしたらいいでしょうか?
0518デフォルトの名無しさん05/02/26 05:30:21
>517
http://www.unixuser.org/~euske/doc/pygame/pygameintro1.html
0519デフォルトの名無しさん05/02/26 14:50:25
timedeltaってどうやったら使えるようになるんですか?
import timedelta ってしたらエラーがでるんですが。
python は2.2 2.3 2.4 入れています。
よろしくお願いします。
0520デフォルトの名無しさん05/02/26 14:59:46
from datetime import timedelta
0521デフォルトの名無しさん05/02/26 15:10:38
ありがとう御座います
なんかよく使い方がわからないです…。
とりあえず今日の日付をだしてほかの日付との差を出してみたいんですが、どう言う風に使えば委員でしょうか。
今日の日付の出し方もわからないんですよね…。
import datetime
d = datetime.today()
じゃだめなんですか?
ほんと基本的な質問だとはおもうんですがすいません。
0522デフォルトの名無しさん05/02/26 15:13:32
なんとなくわかりました。
今日の日付はこうするんですね。
datetime.datetime.today()
0523デフォルトの名無しさん05/02/26 17:24:52
この下のところでエラーが出るんですがどうしてなんでしょうか?
def quit_time():
data_file = shelve.open("data.dat", "c")
data_file["quit_time"] = "test"
print data_file["quit_time"]
raw_input("enter")

Traceback (most recent call last):
File "D:\a\TEXT\Py\going_over\going_over.py", line 192, in -toplevel-
main()
File "D:\a\TEXT\Py\going_over\going_over.py", line 190, in main
quit_time()
File "D:\a\TEXT\Py\going_over\going_over.py", line 156, in quit_time
data_file = shelve.open("data.dat", "c")
File "D:\A\UTILITIES\PYTHON\PYTHON23J\lib\shelve.py", line 231, in open
return DbfilenameShelf(filename, flag, protocol, writeback, binary)
File "D:\A\UTILITIES\PYTHON\PYTHON23J\lib\shelve.py", line 212, in __init__
Shelf.__init__(self, anydbm.open(filename, flag), protocol, writeback, binary)
File "D:\A\UTILITIES\PYTHON\PYTHON23J\lib\anydbm.py", line 80, in open
raise error, "db type could not be determined"
error: db type could not be determined
0524デフォルトの名無しさん05/02/26 17:26:14
age
0525デフォルトの名無しさん05/02/26 17:30:44
どうも今は教えてクンに教える気分になれねえ。
任せた。
↓
0526デフォルトの名無しさん05/02/26 17:36:41
(・∀・)ウンコー
0527デフォルトの名無しさん05/02/26 17:43:35
そんなこといわずに教えてくださいな。
こう見えてもdocumentationも検索したし本も見たんですからぁ。
0528デフォルトの名無しさん05/02/26 17:54:46
まずエラーメッセージを声に出して読んでみろ。
0529デフォルトの名無しさん05/02/26 18:29:40
やっぱりわかんないです、先生。
いろいろ調べてみたんですが↓これっすか? パイソンを再インストールすればいいんのかなぁ。なんのこっちゃわけわかんないっす。

The Suse 6.2 distro does not have dbm built in. Recompile Python but first
edit the Modules/Setup file to allow gdbm to be compiled in as a shared
library. Shelve will work but I have not been able to build Tkinter
correctly this way. So I use /usr/bin/python for Tkinter apps and
/usr/local/bin/python for shelve apps.

0530デフォルトの名無しさん05/02/26 18:50:10
> File "D:\A\UTILITIES\PYTHON\PYTHON23J\lib\anydbm.py", line 80, in open
> raise error, "db type could not be determined"
anydbm.pyの80行目では何の処理をやっている?

プログラマならgoogleより先にまずドキュメントとソースを見る。
それが出来ないなら足を洗った方がいい。時間の無駄だから。
0531デフォルトの名無しさん05/02/26 19:11:12
>>530
ありがとうございます。できました。
すごく勉強なりました。
そういうふうに原因を探していけばいいんですね。目からうろこでした。
プログラミング自体勉強し出してひとつきぐらいなんでそう言う風に調べていくんだってことも知りませんでした。
ありがとうございました。
053249605/02/26 19:13:45
openの時に'c'って指定してるのに、data.datってファイルを作って無いとか?>>523
と、試さずに言ってるので、違ってたらスマソ
053349605/02/26 19:15:05
あ、sageたのに上がった!と思ったら解決でしたか。では
0534デフォルトの名無しさん05/02/27 21:57:28
python について質問できるところでもっとも人が多い(レスが早い、書き込み数が多い)ところって英語のサイトも含めて何処でしょうか?
0535デフォルトの名無しさん05/02/27 22:00:41
c.l.py?
0536デフォルトの名無しさん05/02/27 22:20:18
2ch
0537デフォルトの名無しさん05/02/27 22:22:17
初心者です。ただいまPythonをダウンロードしたばかりなんですが、
インストールした後に何をやればいいのかわからない初心者です。
ここにいる皆さんは次何をしましたか?
教えてください。
0538デフォルトの名無しさん05/02/27 22:43:51
>537
とりあえずコマンドプロンプト立ち上げて
> python
って打って、手元のはじPyのサンプルをぽちぽち入力して「おー」と感心した。
0539デフォルトの名無しさん05/02/27 22:44:45
おー
0540デフォルトの名無しさん05/02/27 22:45:54
>>538
ありがとうございます!やってみます!
よければ皆さんのお勧めのPythonの本を教えてください。
0541デフォルトの名無しさん05/02/27 23:04:35
>>540
ネットで読めるドキュメントで十分
0542デフォルトの名無しさん05/02/27 23:06:19
自分もインストールした後どうすればいいのかわからなくて
本買うまで何もしなかった(できなかった)です…。
0543デフォルトの名無しさん05/02/27 23:14:32
プログラミング経験が全く無いのであれば、本家サイトのチュートリアル
から始めるのがいいと思う。
その次は「Python Cookbook」かな・・・
「初めてのPython」は良書だと思うけど、何気にレベル高い。
0544デフォルトの名無しさん05/02/27 23:16:41
>>540
>>538が「はじPy」と略してるが、
・初めてのPython 第2版
ttp://www.oreilly.co.jp/books/4873112109/
俺は買ってないが入門にちょうど良いだろう。日本語でのPython本としては最新だろうし。

あとは、各種モジュール・ライブラリを使うために、
・Pythonクイックリファレンス
http://www.oreilly.co.jp/books/4873111773/
は出来れば持っていたほうがいい。

あと入門書としてはちょっと古いけど
・Pythonで学ぶプログラム作法
http://www.pearsoned.co.jp/washo/prog/wa_pro45-j.html
これは一般のプログラミング初心者向けに書かいてあるので、Python独自のつっこんだ解説はないが
逆に読みやすいかもしれない。
0545デフォルトの名無しさん05/02/27 23:23:51
恥py2、ほんとに初めての人はビビる値段と厚さだな
0546デフォルトの名無しさん05/02/27 23:34:59
>>541>>542>>543>>544>>545
みなさんほんとにありがとうございます(泣)
他のスレだとみんなに馬鹿にされまともに答えてもらえず、騙され続けました。
本当にありがとうございました。
がんばって習得してみます!!!!!!!・゜・(ノД`)・゜・。
0547デフォルトの名無しさん05/02/27 23:46:45
VB、HyperTalk、C++、Perl、Ruby とさわってきたのだが
Pythonは end や } がないのがとても不安で
トイレを流さず出てきたみたいな気がする。
# end def とか入れてたこともあった。
いつになったら、堂々と流さなくなれるんだろうか。
0548デフォルトの名無しさん05/02/27 23:54:06
> # end def とか入れてたこともあった。

それやると、コメントの場所が最初から間違ってたり、
スクリプトは修正してもコメントはそのままだったりして余計に混乱するんだよね
0549デフォルトの名無しさん05/02/28 00:09:37
>>534
#python-cleese
#python-gilliam
0550デフォルトの名無しさん05/02/28 00:34:37
>>537へのお題
いろいろ弄って慣れてきたら、下記の物を作ってみそ

�@指定URLのHTMLファイルからタイトルと『http://』から始まるurlを全て抽出
�A抽出したURLのそれぞれのページを開き、それぞれのタイトルを取得
�B最初に指定したURLのタイトルでテキストファイルを作成し、
  『url<>タイトル』の書式で書き込む。

読み書き処理とURL処理が出来るだけでも結構遊べるから、よかったら挑戦して見て下さい。
0551デフォルトの名無しさん05/02/28 00:40:43
ところでpythonで使えるvalidationまでやってくれるXMLパーサってある?
XML Pathも使えればなおよし。
0552デフォルトの名無しさん05/02/28 01:01:33
libxml2-python
0553デフォルトの名無しさん05/02/28 01:21:21
PyXML
0554デフォルトの名無しさん05/02/28 03:03:14
importしたfileが存在する場所のpathを知るにはどうすればいい?
0555デフォルトの名無しさん05/02/28 03:57:26
inspect.getsourcefile(module)
0556デフォルトの名無しさん05/02/28 12:59:39
>>550さんありがとうございます!
やってみます♪
0557デフォルトの名無しさん05/02/28 13:42:50
                             .,/  _,/      .、、     ...、ヽ,,-、
                           .,,メ-‐'"       _"',|  .、、._,i.""│._、
                      ._,,,/`,イ―''      ,`",l゙、、,,ジ'"`.```.|゙゛
                    .,,,-,i´,―--―''"      、、,!冖'"`、_、,,,/'゚,,."゙l-‐''
       _,,,,,,,,,,,,,、    _,,,,,--''"`'",/゙            、、.',j/′.、,,∠''"` .'_ヽ.',゙l.._,,、
    ,,-'"゙`    `゙゙''lーイ"`     .‐′    _,..,,/ .ヽ、,i,i´ ``゙’   、、シ":"'.「
  .,,i´         `'i、\ ゙!,      ._,-'"ン'` 、、`_,/`,i´ _,___,ニ='" .'゙、゙".゙l,,-'`
 .,/′          `'i,\ ′  .,,,,-',,,,、.,i´、_:_'_v`"゙i、|   ```` `  、_,Jィ""゙l, _,,,,、
: ,i´             ゙l. ヽ丶  .r‐'"、.l゙、、:,p=l┴丶 .!,,!  `'"''''''冖''?'''゙~."""'."'/゛ `
: |,,r                ゙l, 、 i、、、、:,,_,xl!ヴi,、      、、っ,,,,    、`',,,,、`、`、|、
  |、            、"| .i、 lrr-''"゙,,ハ;、-'"゙゙'''''''"丶ヽ.,,冫``~`"`"~"``` `/ `''''
  `''r,,、 、 、、 .、丶、.``ヽ,レ"°  `` .j゚'=∠、````,,,,,∠ ~'ヽ```````、_,r‐'ヘi、
    `゙'ーi,,_、、、、、: :._,,,r〃       "  /^゚"'广  ,/  .,/゙゙゙'''ヶ―''''″   `
       `゙^""""''"'"                `   ′  ′  ."   
ぱいちんこ
0558デフォルトの名無しさん05/02/28 13:56:00
>>547
インデントが滅茶苦茶になったら (そんなケース無いけど) どうしよう,
とは思います.lisp ならカッコのお陰で emacs がちゃんとやってくれるんですが.

でも,結局は「馴れ」なんですよね.
0559デフォルトの名無しさん05/02/28 14:34:45
>>558
emacsならpython-modeがpythonのソースの中にあるからそれを使えば、
0560デフォルトの名無しさん05/02/28 14:44:52
努力次第ではキミもぱいちんこ、と言いたいところだけど、
0561デフォルトの名無しさん05/02/28 14:50:08
>>559
python 付属の python-mode はちょっと古くて PEP318 対応(decorator)がないよ
0562デフォルトの名無しさん05/02/28 15:16:59
>>561
そうなのか。
デコレータ使ったことないから俺は問題ないけどな。

っていうか使用例があるなら知りたいね、デコレータ。
0563デフォルトの名無しさん05/02/28 16:22:56
>>558
慣れですむかよ。
インデントが失われたら、機械的には元に戻せないんだぞ。
0564デフォルトの名無しさん05/02/28 17:26:16
>>563
インデントが失われるってどんな状況ですか?
0565デフォルトの名無しさん05/02/28 17:27:47
(・∀・)ニヤニヤ
0566デフォルトの名無しさん05/02/28 17:40:18
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* !!!!!!!IF YOU CHANGE TABS TO SPACES, YOU WILL BE KILLED!!!!!!!
* !!!!!!!!!!!!!!DOING SO FUCKS THE BUILD PROCESS!!!!!!!!!!!!!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0567デフォルトの名無しさん05/02/28 17:44:36
>>556
あとお勧めのエディタはJmEditor
0568デフォルトの名無しさん05/02/28 17:45:34
もしかして: Mediator
0569デフォルトの名無しさん05/02/28 17:54:53
(・∀・)ニヤニヤ
057055805/02/28 18:10:01
>>563
いえ,失われないように編集できるように馴れましょう,ってことです.
0571デフォルトの名無しさん05/02/28 18:16:59
コードをコピペするな
0572デフォルトの名無しさん05/02/28 18:25:20
高性能なリファクタリングブラウザ作ってから言え
0573デフォルトの名無しさん05/02/28 18:35:50
(・∀・)ニヤニヤ
0574デフォルトの名無しさん05/02/28 18:52:27
インデントが失われたら機械的に元に戻せないなんて、
"}"や"end"が失われたら機械的に元に戻せないのと
同じ位にしか危機感を感じませんが、皆さんはどうですか?
0575デフォルトの名無しさん05/02/28 18:52:36
>>555
ごめん、importしたfileじゃなかった。あるclassを定義してるmoduleがあるん
だけど、そのmodule自身が存在する場所のPathを知りたいんです。importした
fileだとそれでうまくいったんだけど、自身のmoduleをどう指定したらいいか分
からん。inspect.getsourcefile(self)だとerror出るし。自身のmoduleを指定
する識別子ってある?
0576デフォルトの名無しさん05/02/28 19:04:24
>>> import os
>>> os.__file__
'C:\\Python23\\lib\\os.pyc'
0577デフォルトの名無しさん05/02/28 19:14:18
[foo.py]
class A:
    def __init__(self):
        m = __import__(__name__)
        print m.__file__

[IDLE]
>>> import foo
>>> a = foo.A()
C:\Documents and Settings\Super Hacker\My Documents\foo.pyc
0578デフォルトの名無しさん05/02/28 19:17:22
>574
ネタにマジレス超クール
0579デフォルトの名無しさん05/02/28 19:22:22
Python コードは Python IDE 上で弄ぶのが通。
0580デフォルトの名無しさん05/02/28 21:30:48
>>574
空白と、} や end などの文字列では失う可能性がまるで違う。
0581デフォルトの名無しさん05/02/28 21:55:19
>>580
物がソースコードって事を考えると、空白だろうがそうでなかろうが、
1byteでも失った時点でどうかしてると思うよ。
0582デフォルトの名無しさん05/02/28 22:05:02
>>567さんありがとうございます!!
挑戦してみます!!(^ヮ^)
0583デフォルトの名無しさん05/02/28 22:36:05
自分はPy厨だから戻れないけど、一般的な感覚のプログラマなら、
インデントを失う可能性に嫌悪感というか危機感をもつのが通常だろうね。
0584デフォルトの名無しさん05/02/28 22:48:27
>>571 やっべ、ばれたか
0585デフォルトの名無しさん05/02/28 22:57:57
>>583 rubyのendどれと対応してるのかわからなくなるので
endが消えるとめんどい。Pythonは、その危険性がどの行にも
あるようなもんかな。
0586デフォルトの名無しさん05/02/28 23:07:00

    〃〃∩  _, ,_
     ⊂⌒( `Д´) < インデント消えたらヤダヤダ!
       `ヽ_つ ⊂ノ
              ジタバタ

    〃〃∩  _, ,_
     ⊂⌒( `Д´) < Pythonでも消えたらヤダヤダ!
       `ヽ_つ__つ
              ジタバタ

      _, ,_
     (`Д´ ∩ < JavaでもLispでもヤダヤダ
     ⊂   (
       ヽ∩ つ  ジタバタ
         〃〃

    〃〃∩  _, ,_
     ⊂⌒( つД´) < Cでもヤダヤダ
       `ヽ_ ノ ⊂ノ
              ジタバタ

       ∩
     ⊂⌒(  _, ,_) < ヤダヤダ…
       `ヽ_つ ⊂ノ
              ヒック...ヒック...

       ∩
     ⊂⌒(  _, ,_) 
       `ヽ_つ ⊂ノ  zzz…
0587デフォルトの名無しさん05/02/28 23:29:00
>>576
そのようにimportされたmoduleならinspect.getsourcefileで得られるので
問題ないです。実行中のmoduleから自身のpathを得る方法が分からないんです。

>>577
__import__(__name__).__file__で得られました。thanks
0588デフォルトの名無しさん05/02/28 23:43:22
藻前らが愛用してるヴィジュアライゼーション・アイテムを教えてください.
超クールなプロット,グラフが出せるやつをお願いします.
0589デフォルトの名無しさん05/02/28 23:47:35
>>588
Microsoft Excel。win32com でウハウハ。
0590デフォルトの名無しさん05/02/28 23:51:43
まやび
0591デフォルトの名無しさん05/03/01 04:59:04
matplotlib
0592デフォルトの名無しさん05/03/01 08:37:26
PyX
0593デフォルトの名無しさん05/03/01 09:46:05
PyQtのQCanvasで自前で描画
059458805/03/01 12:56:06
>>589-593
親切にありがとう! #(本当に愛用してい(ry

unix でも windows でも使いたいということで,win32 バイナリのある
まやびと matplotlib を試してみます.
どちらも動作はあまり軽くないですね...

>>588 ctypes ってことですか?
059558805/03/01 21:40:19
メモ: matplotlib 試用中...show() すると window を閉じるまで次の処理ができないorz
0596デフォルトの名無しさん05/03/01 22:01:56
>>594
> ctypes ってことですか?

これはどのレスに対する問いだ?(エスパーの俺にも分からん)
059739605/03/01 22:47:32
今更だけど書けました(文章自動生成)。自分のレスを見返すと恥ずかしい・・・
059858805/03/01 23:42:08
>>596
レス番号ミスでした.>>589 の win32com にレスシマシタ.

matplotlib は deb を apt でインストールしたところ,
pygtk が使われているみたいです.
これと show() しないと表示されないのと関係あるのでしょうか?
敗北者な私でも機能が少ない Gnuplot-py からは脱脚したいものです.
0599デフォルトの名無しさん05/03/01 23:54:14
.matplotlibrcでbackendをGTKAggからTkAggとかに変えてもだめかな?
俺windowsだからよくわからんけど
060058805/03/02 00:16:58
>>599
backend 変わりました! でも show() しないと出てこないのは相変わらずです.
インタラクティブに操作したいときは困りますよねぇ...
0601デフォルトの名無しさん05/03/02 00:36:55
>>598
> レス番号ミスでした.>>589 の win32com にレスシマシタ.

http://starship.python.net/crew/mhammond/win32/

>>> import win32com.client.dynamic
>>> app = win32com.client.dynamic.Dispatch("Excel.Application")
>>> book = app.Workbooks.Open(r"C:\Documents and Settings\Super Hacker\My Documents\mona.xls")
>>> sheet = book.Worksheets(1)
>>> sheet.Cells(1, 1).Value
u'mona'
>>>
のよーに Excel などの Windows アプリ(COM鯖)を Python から操作できる。
0602デフォルトの名無しさん05/03/02 00:40:02
あ…
同じく.matplotlibrcでinteractiveをTrueにしてみて
060358805/03/02 00:55:13
>>602
show() しなくてもできました! 手取り足取りありがとうございました.
これからガンガン試してみます.
0604デフォルトの名無しさん05/03/02 01:42:13
人生の敗北者は「まやび」をMayaViと変換できなさそうだな
orz
0605デフォルトの名無しさん05/03/02 02:37:57
(・∀・)<u"\u041d\u0423\u0420\u0423\u041f\u041e"
0606デフォルトの名無しさん05/03/02 10:12:47
(´-`).。oO(ふつーはRPyを使うだろうに・・・
0607デフォルトの名無しさん05/03/02 11:38:13
何か処理を行おうとして、それが
組み込み関数やらで用意されているか
自分で作らなくてはならないか
どうかの判断はどのようにすればよい?
0608デフォルトの名無しさん05/03/02 11:50:26
ライブラリのリファレンスをざっと見て、どこになにがあるかの内容を把握しとけ。
それも言語習得の一過程。
0609デフォルトの名無しさん05/03/02 13:09:07
                \ │ /
                 / ̄\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< ぱいちんこぱいちんこ!
                 \_/   \_________
                / │ \
                    ∩ ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< ぱいちんこ!
ぱいちんこ〜!    >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」               ̄     / /
0610デフォルトの名無しさん05/03/02 13:09:23
>>607
(1)とりあえず具ぐる。
標準ライブラリにあるものは当然リファレンスのページが見つかる。
「こーゆー処理がやりたいんだけど」的なML・掲示板のやりとりも見つかる。
誰かが作った便利なモジュールも見つかる。
(2)見つからなければML・掲示板で聞く。
要求を具体的に書く。それが後に誰かが検索したときの役に立つ。
(3)それでもダメなら存在しないと諦めて自炊する。

具ぐるときのキーワードを選ぶ(探す)のが意外と難しいわけだが、
それはまた別の話。
0611デフォルトの名無しさん05/03/02 13:16:06
Pythonソースコードを見ればどんなモジュールがどういうふうに使われているのかが分かるよ。
0612デフォルトの名無しさん05/03/02 16:28:29
Pythonで、別のフォーマットのファイルを
XML にして書き出すのって何を使えばいいのでしょうか?

自分でタグを print してもいいのですが、もっといい方法があれば教えてください。
0613デフォルトの名無しさん05/03/02 18:29:35
DOM ツリーをこさえて .toxml() とか。
invalid な文書を吐く心配がない点がメリット。
反面、禿しく面倒くさい。折れならやらん。
0614デフォルトの名無しさん05/03/02 19:20:28
>>612
RSS.py
0615デフォルトの名無しさん05/03/02 20:44:53
dictionary で
d = {("a","b"):"c"}
としたとき
"a" だけをつかって "c" をよびだすこってできないんでしょうか?
0616デフォルトの名無しさん05/03/02 20:49:25
見つかるまで全ての要素を回せば?
0617デフォルトの名無しさん05/03/02 20:53:46
>>615
要素が一つだけじゃ、なんとも言えない気がする。
d = {("a","b"):"c", ("a","d"):"e"} は無いってことか?
d = {("a","b"):"c", ("d","a"):"e"} はありうるのか?
0618デフォルトの名無しさん05/03/02 21:08:04
>>617
今のところはないとおもいます。
まわすってのは
keys = d.keys()
for key in keys:
 for element in key:
  if elemtnt = "a":
   destination = key

d[destination]
てなかんじですか?

0619デフォルトの名無しさん05/03/02 22:12:08
なら素直に
d = {"a":("b","c")}
とか
d = {"a":(("a","b"),"c")}
にしと毛。
0620デフォルトの名無しさん05/03/02 22:23:57
>>617のようになるとして、
{'a': {'b': 'c', 'd': 'e'}}
としたらどうか。>>615
0621デフォルトの名無しさん05/03/02 22:28:03
>>618
はげしくtypoだらけだが、まあそんなとこじゃないかな
0622デフォルトの名無しさん05/03/02 22:47:00
{"n": {"u": {"l": {"l": {"p": {"o": {}}}}}}}
0623デフォルトの名無しさん05/03/02 23:12:48
皆さんありがとう御座います
>>619>>620>>622
そっか辞書の中に辞書をいれてもいいんですね。
そう言う風にした場合
d = {("a","b"):"c"}
のbの検索は出来なくなりませんでしょうか?
たとえば
{("本","ほん"):"本の意味"}
というような感じにしたいんですが別々に登録({本:ホンの意味、ほん:ホンの意味})しないでなにかうまい方法ありますか?
0624デフォルトの名無しさん05/03/03 00:10:03
>>623
本質的には別々に登録するのと同じだけど・・・
d={}
d.update(dict.fromkeys(("本","ほん"),"本の意味"))
d.update(dict.fromkeys(("紙","かみ"),"紙の意味"))
ちなみに
d.update(dict.fromkeys(("神","かみ"),"神の意味"))
とやると、"かみ"が上書きされてしまう
0625デフォルトの名無しさん05/03/03 00:20:02
>>623
要するにキーと値の対応関係が N:1 の辞書を作りたいってことだな。
いろいろ方法があると思うけど、こーゆーのはどうだろう。

$ cat smartdict.py
class SmartDict(dict):
    TEXT, LINK = "text", "link"
    def lookup(self, key):
        type, value = self[key]
        print "*** key: %s => type: %s, value: %s" % (key, type, value)
        if type is self.LINK:
            return self.lookup(value)
        return value

if __name__ == "__main__":
    d = SmartDict({
        "neko": (SmartDict.TEXT, "a cat"),
        "giko": (SmartDict.LINK, "neko"),
        })
    print d.lookup("neko")
    print d.lookup("giko")

$ python smartdict.py
*** key: neko => type: text, value: a cat
a cat
*** key: giko => type: link, value: neko
*** key: neko => type: text, value: a cat
a cat
0626デフォルトの名無しさん05/03/03 01:04:12
辞書を2つで、こんな感じはどうか?
oya_dct = {'猫': 2, 'かみ': 1, 'ネ申': 1, 'ぬこ': 2, 'ねこ': 2, '神': 1}
ko_dct = {1: '神の意味', 2: '猫の意味'}
0627デフォルトの名無しさん05/03/03 01:22:04
>>625>>626
すげーっ。
勉強なりました。
ありがとう御座います!!!!!
062862605/03/03 01:49:09
先に断っておけば良かったが、この形の辞書は作るのや更新するのが大変かも知れない。>>627
>>626の例に追加で 'neko': '猫の意味' を加えようと思ったら、どうしても
'猫の意味'から ko_dct のキー 2 を探し当てないといけないので、適当にキーを付けるのは良くなさそう。
こんなときにhash(hmacモジュール?)とか使うといいのかな?私にはわからんのだけど。
0629デフォルトの名無しさん05/03/03 05:20:57
>>> lst = [1,2,5,4,3]
>>> max(lst)
5
>>>

という風にリストの最大値は取り出せるけど、
最大値の位置を求める方法はありますか?
例えば上の場合は『2』になるような…
063062905/03/03 05:25:36
すまん。自己解決しました。
lst.index(max(lst))
で出来ました。
0631デフォルトの名無しさん05/03/03 13:28:23
そこでまたブチ切れですよ。
0632デフォルトの名無しさん05/03/03 13:56:56
>>623
short answer: use RDB

long answer:
Pythonでは、文字列はimmutableなオブジェクトなので、
同一の文字列は内部でひとつにまとめて参照される為、
漢字とひらがなそれぞれ辞書に登録しても, indexを参照するのとたいして変わらない.

つまり、下のように別々に登録した場合でも、

dct['猫'] = '猫の意味'
dct['ねこ'] = '猫の意味'

同一スコープ内で、(例の場合)'猫の意味'はどちらも同じメモリ上のデータを指す.

ひらがなキーで重複する場合は、どうするのかしらないけど、
漢字<=>ひらがなの関連を保持したい場合、効率良く探索する為には別のテーブルに定義するといい。

値を変更する可能性があるなら、適当なオブジェクト作って参照を登録するようにする

class WordDefinition:
  def __init__(self, desc):
    self.desc = desc

# object は mutableなので, 必ず同じ参照を登録するように注意.
>>> d['猫'] = d['ねこ'] = WordDefinition("猫の意味")
>>> d['猫'].desc = '猫の意味2'
>>> d['ねこ']
'猫の意味2'
0633デフォルトの名無しさん05/03/03 14:28:25
普通は long answer の要約 == short answer となるように書くものだと思うのだが・・・・
0634デフォルトの名無しさん05/03/03 20:28:36
http://www.lilypond.org/cygwin/cyg-apt
0635デフォルトの名無しさん05/03/03 20:43:03

(*´д`*)ピチョン♥
 ↓
Σ(゚д`*;)ピッ,ピチョッ♥
 ↓
Σ(*゚Д`;)ピ…ピ…ピッチョォォォォォォォン♥!!!!
 ↓
(*´д`;)…
 ↓
…(*´д`)ピチョン…♥
063662605/03/04 00:33:54
>>632 すごっ、私にはそこまでは考えられなかったなぁ。dictについてもそこまで知らなかったなぁ。
0637デフォルトの名無しさん05/03/04 00:59:35
> dct['猫'] = '猫の意味'
> dct['ねこ'] = '猫の意味'
>
> 同一スコープ内で、(例の場合)'猫の意味'はどちらも同じメモリ上のデータを指す.

誤解を招きそうな表現だな。確かに同じ文字列リテラルは一つにまとめられるが…

>>> a = "abc"
>>> b = "a" + "b" + "c"
>>> a == b
True
>>> a is b
False
0638デフォルトの名無しさん05/03/04 01:23:30
Pythonのメモリアロケーションの詳細が良く分かるドキュメント(英語)を探しています。
0639デフォルトの名無しさん05/03/04 01:33:53
>>> a = "abc"
>>> b = intern("a" + "b" + "c")
>>> a is b
True
>>> help(intern)

Help on built-in function intern:

intern(...)
intern(string) -> string

``Intern'' the given string. This enters the string in the (global)
table of interned strings whose purpose is to speed up dictionary lookups.
Return the string itself or the previously interned string object with the
same value.
0640デフォルトの名無しさん05/03/04 01:41:34
書くの忘れたけど、
> 文字列はimmutableなオブジェクトなので、
と
> 同一の文字列は内部でひとつにまとめて参照される為、
も意味が繋がってない。
0641デフォルトの名無しさん05/03/04 01:49:32
後出しでジャンケンに負けたヤシをそこまで追い込まなくても・・・(藁
0642デフォルトの名無しさん05/03/04 09:58:12
>>632の最後の2行だけど、こう出るよね。
>>> d['ねこ']
<__main__.WordDefinition instance at 0xXXXXXXXX>
これだけでなくて、いろいろ怪しく見えてきた。
0643デフォルトの名無しさん05/03/04 10:24:21

>>637
"a"+"b"+"c"は式になってるので、"abc"と同じリテラル表現ではないのだけど。b = "a" "b" "c" なら a と同じになるはず。
同じ値の文字列でも別のオブジェクトになる事があるのは指摘の通り、
同一の文字列という表現は不十分でした。コンパイル時に決定されるリテラルと言った方が良かったかな。
実行時に同じオブジェクトを得たい場合は >>639 が示してくれたようにinternを使う。フォローthx u>>639

>>638
http://evanjones.ca/python-memory.html

0644デフォルトの名無しさん05/03/04 19:06:13
「同一スコープ内で」というのも間違いでは?
064564505/03/04 22:41:11
FreeBSD (4.8-RELEASE)のマシンにPython-2.4を(ソースコードから)インストールし
ようとしています。

/usr/local/Pythonにインストールするため、
 % ./configure --prefix=/usr/local/Python
 % gmake
を実行したのですが、途中で

building '_hotshot' extension
gcc -pthread -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -pg -fno-strict-aliasing -I. … -c …/Modules/_hotshot.c -o build/temp.freebsd-4.8-RELEASE-i386-2.4/_hotshot.o
gcc -shared -pg build/temp.freebsd-4.8-RELEASE-i386-2.4/_hotshot.o -L/usr/local/lib -o build/lib.freebsd-4.8-RELEASE-i386-2.4/_hotshot.so
*** WARNING: renaming "_hotshot" since importing it failed: build/lib.freebsd-4.8-RELEASE-i386-2.4/_hotshot.so: Undefined symbol "fgetc"

というのが出てきます。一方、

building 'array' extension
gcc -pthread -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -fPIC -pg -fno-strict-aliasing -I. … -c /…/Modules/arraymodule.c -o build/temp.freebsd-4.8-RELEASE-i386-2.4/arraymodule.o
gcc -shared -pg build/temp.freebsd-4.8-RELEASE-i386-2.4/arraymodule.o -L/usr/local/lib -o build/lib.freebsd-4.8-RELEASE-i386-2.4/array.so
building 'cmath' extension

の 'array' extension のように、何のエラーも出ないものもあります。
064664505/03/04 22:48:14
ごめんなさい、
 http://pc5.2ch.net/test/read.cgi/unix/1107967998/840
は私ですが、こちらの方が適切かと思いましたので移動させていただきまし
た。

841 :名無しさん@お腹いっぱい。:05/03/04 22:36:27
->840
|FreeBSD (4.8-RELEASE)のマシンにPythonを(ソースコードから)
|インストールしようとしています。
portsだとうまくいくのですか?

842 :840:05/03/04 22:44:07
ごめんなさい、考え直して
  http://pc5.2ch.net/test/read.cgi/tech/1104156256/645
に移動させていただくことにしました。

>>841
> portsだとうまくいくのですか?

いえ、試していないので…。
エラーが起こるにしても、なぜfgetcなのかな、と。fgetcって標準Cライブラリ
の関数ですよね。
0647デフォルトの名無しさん05/03/04 23:05:12
1. portsを試す。
2. もしダメなら古いバージョンのportsを試す。
3. もしビルドできたら野良ビルドとの違いを調べる。
064864505/03/05 00:55:21
リンク時(gcc -shared …)に、最後に -lc を付けたら大丈夫っぽいです。意味
が分かりません…。

% env LD_LIBRARY_PATH=/…/Python-2.4:/usr/lib ./python
Python 2.4 (#1, Mar 4 2005, 16:41:41)
[GCC 2.95.4 20020320 [FreeBSD]] on freebsd4
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ImportError: /…/Python-2.4/build/lib.freebsd-4.8-RELEASE-i386-2.4/math.so: Undefined symbol "fabs"
>>> ^D
%

-lcを付けると
 >>> import math
 >>>
となり、 ImportError: … のエラーは表示されなくなるんです。
0649デフォルトの名無しさん05/03/05 01:12:17
>648=645
いやその。藻前さんが645に書いた警告に対処する一番直球な方法が
>最後に-lcを付ける
ってことなんだが。「fgetc()なんてねーぞゴルァ!!」とお怒りのリンカに
「ここにあるYo!」ってlibc.aを明示的に渡してやっている(リンカオプションに-lcを追加)という図式。
うーむ、Cのプログラムコンパイルしたことのない人間にはソースからのインスコってのは
まだまだ難しいもんなのか。
065064505/03/05 01:26:02
>>649
-lcを付けなくてもうまくいく場合があることがあるんですよ。例えば
'cmath' extension のソースコード cmathmodule.c ではfabs()が使われているにもかか
わらず、エラーが出ない。
065164505/03/05 01:34:55
>>650
ライブラリやプログラムをビルドするときに -lc を付けなくてもよいのは
なぜですか?

-lcを付けなかったこと自体が直接の原因というわけではなかろうに。。
'math' extensionでも fabs() で '_hotshot' extension と同様のエラーを出すけど、リン
ク時にはきちんと -lm が追加されていたのでね。

それともう一つ、
  *** WARNING: renaming "…" since importing it failed: …
が表示されるのはコンパイルとリンクが完了した「後」です。
0652651(=645)05/03/05 01:36:32
>>651
s/>>650/>>649/
0653デフォルトの名無しさん05/03/05 01:38:16
自分の無知を他人にあたっても仕方なかろ。
このへん読むとわかるようになるんじゃないかな。
http://www.amazon.co.jp/exec/obidos/ASIN/4274064379/
065464505/03/05 02:08:32
>>645で出した例が悪かったですかね。('_hotshot',fgetc,-lc)だけだとあいまいだ
が、>>651('math',fabs,-lm)を見ると>>649は(申し訳ないが)的外れ決定ですな。

まぁ、いくらイライラしても、会ったこともない人に対して
 >>649
 > Cのプログラムコンパイルしたことのない人間には
などと罵る人間にはなりたくないもんだ。
0655デフォルトの名無しさん05/03/05 03:10:21
>>654
まあ餅つけや。
649みたいな分かったつもりになってるジジイは放っとけ。

ところでバグ虎はもう見た?
未知の障害で再現性があるなら報告しる。
ドキュメントに名前が載る(かも知れない)チャンスだ(笑
0656デフォルトの名無しさん05/03/05 03:40:45
>>654
別に649は罵ってるようには読めないけどな。

ほとんど読まずに書き込むが、
warningの一つや二つ出たっていいじゃん。
0657デフォルトの名無しさん05/03/05 03:57:24
>>656
ごめん。よくなかったのね。
本当に全然読んでませんでした。
065864505/03/05 04:28:36
>>655
http://www.python.org/dev/にある「Bug Tracker」のことですね。初めて見ました。

configureスクリプトの --disable-profiling が働かない(--enable-profilingを指定した
のと同じ状態になる)というのも、まぁバグの一つでしょうね。Bug Trackerを
ざっと眺めてみたところ、そういう報告は上がっていないようですね。

>>656
> warningの一つや二つ出たっていいじゃん。

 今回の件の場合、この WARNING が意味するのは、importできない=そのextension
が使えないということなんですよね。
# (Pythonに限らず)コンパイル時に警告が出るというのであれば、危険はあっ
# ても使えないことはないのですがね。(そっちの方の警告は見なかったこと
# にしてたことが多いなぁ (゚∀゚;)

 使えないのが、確認しただけで6つもあるんです: _hotshot, math, time, datetime, zlib, bz2
 まぁ、>>653氏推薦の本を読んでいくと何か分かるかもしれませんね。

 ありがとうございました。
065965805/03/05 04:30:40
あれ、reloadしてたけど>>657見えなかった。(^^;
0660デフォルトの名無しさん05/03/05 08:25:13
654を読んで( ゚д゚)ポカーン
0661デフォルトの名無しさん05/03/05 11:13:23
>会ったこともない人に対して

2ch以前の問題として、ネットの掲示板で何言ってんだ? このバカは?
0662デフォルトの名無しさん05/03/05 12:11:28
>>645 UNIX板から粘着しにきました。
意地でもportsを使わずに野良buildして失敗して質問する人が私の会社にも
いますが、そういうこだわりの背景には何があるんでしょうか。その人にも
質問したんですが、ごまかすだけで筋の通った返答をもらったことはないです。
066366205/03/05 13:14:33
>>658
ところで、pythonはlibc_r(libcのreentrant版)にリンクしているんだけど、
FreeBSD 4.8-RELEASEのlibc_rってfgetcとか入ってないの? -lcをつけ足すと
エラーが出なくなるということはそういうことよね。

$ objdump -T /usr/lib/libc_r.so | grep fgetc
これを実行すると「*UND*」とか出る?

FreeBSD portsについて補足だけど、これは別に「楽をできる」とかいうだけ
じゃなくFreeBSD特有で必要になる修正や変更のうち、開発元(python.org)へ
フィードバックが必要(または開発ツリーにのみ取り込みずみ)だけどまだ
リリース版には反映されていないような変更を吸収する働きもあるんだよ。
(他のOSでも似たしくみがあると思うけど) あと各人が野良buildして同じところで
ハマるのって時間の無駄でしょ?
066465805/03/05 15:08:51
>>663
  % objdump -T /usr/lib/libc.so | grep fgetc
  0001e1ec g DF .text 00000069 fgetc
  %
でした。
# 「*UND*」って "UNDefined" から来てるのか。このファイルでは定義されていない
# けど、別のところで定義されているのを利用しているよ、みたいなことです
# かね。


> まだリリース版には反映されていないような変更を吸収する働きもあるんだ
> よ。

 files/以下にあるpatch-*とかですよね。あれは私もよく参考にさせていただい
てますよ。勉強になりますから。
 Pythonに関しては、2.4では修正されていない PSF-2005-001 の件もportsではパッ
チとして提供されてますね。
0665デフォルトの名無しさん05/03/05 15:39:20
>>664
>>663さんの指摘によれば
/usr/lib/libc.so じゃなく
/usr/lib/libc_r.so なのでは。

fgetc() とか fabs() って環境によってはマクロになってそうだね。
エラーの原因は分からないけど、コンパイル時に使うヘッダとリンク時に使う
ライブラリが正しく対応していないんじゃないかなーと何となくオモタ。
(コンパイラが複数入っていたりすると割とありがち)
066665805/03/05 16:59:04
うわ、すみません。。両方コピペするつもりだったんですが…

% objdump -T /usr/lib/libc_r.so | grep fgetc
0002504c g DF .text 00000069 fgetc
%

> fgetc() とか fabs() って環境によってはマクロになってそうだね。

 マクロになってる可能性があるのはfgetc()ではなくてgetc()の方ですね。こち
らの環境(FreeBSD 4.8-RELEASE)ではgetc()はマクロになっているようです。


> エラーの原因は分からないけど、と何となくオモタ。
> (コンパイラが複数入っていたりすると割とありがち)

 利用したコンパイラはすべて /usr/bin/ にあるもの(gcc 2.95.4)です。という
わけで、今回の件に関しては、
  > コンパイル時に使うヘッダとリンク時に使うライブラリが正しく対応し
  > ていないんじゃないかなー
の可能性は低いかと。
0667デフォルトの名無しさん05/03/05 17:19:30
スレ違い
0668デフォルトの名無しさん05/03/06 01:01:17
pythonを勉強しようと思い、
ttp://www.python.jp/Zope/introを見つつ手をつけはじめたところなんですが、
早速つまずいてしまいました。以下、上記サイトより。

簡単なPythonスクリプトを動かして見ましょう。
print "Hello World!"
リスト 1: greeting.py
リスト 1 の greeting.py をエディタで作成し、次のようにして起動します。
%python greeting.py
Hello World!
見事にご挨拶が返ってきました。 Python はスクリプトファイルを読みこんで実行するだけでなく、対話モードで使用することもできます。

をやってみようと思い、まずはhelloworld!。しかし次のリスト1のgreeting.pyをエディタで作成し・・・
エディタってなんでしょうか?上記内容をそのまま入力するとエラーが出ます。
それと、入力する際改行はどうやって入れるのでしょうか?

プログラミング自体が全くの初心者、いやそれ以前の段階なので、釣りではないです。
よろしくお願いします。
0669デフォルトの名無しさん05/03/06 01:03:32
h = httplib.HTTP(host)
h.putrequest('GET', path)
h.putheader('Accept', 'text/html')
h.putheader('Accept', 'text/plain')
h.endheaders()
errcode, errmsg, headers = h.getreply()

これでyahoo.co.jpにアクセスするとerrcode==200なんですが
google.co.jpにアクセスすると302となってしまいます。
回避策などありますでしょうか?
0670デフォルトの名無しさん05/03/06 01:57:23

頭おかしいんじゃないの?
0671デフォルトの名無しさん05/03/06 02:05:14
>>668
エディタで作成っていうのは、Windowsだったらメモ帳とかワードパッドで先に書いて、
greeting.pyって名前で保存して実行するってこと。
あと他にもプログラミング向けのエディタとかもあるから、victorで探していろいろ
試すと良い。

それと対話モードってのが一行ずつ入力、実行していく方法(簡単な計算等に使用)
コマンドプロンプトでやる場合は『ファイル名を指定して実行』からcmdを入力。
『python』って入力するとpythonが起動する。
そこから『print helloworld!』と入力すると>>helloworldとなる。
0672デフォルトの名無しさん05/03/06 02:14:58
>>671
おおなるほど!
ありがとうございます。
0673デフォルトの名無しさん05/03/06 02:17:57
>>669
よく判らないけど、
httplib.HTTPConnection(host)
でやってみたらどう?
0674某ヌレの1205/03/06 02:27:37
>>668
ようこそ(笑)

>>669
302 Found の場合、改めて参照すべき URL が headers["Location"] に
書いてある。その URL に対してもう一度 GET リクエストを出せば OK。
詳しくは RFC 2616 あたりを読んでちょ。
067566905/03/06 12:11:58
あのソースはどこかで拾ってきたものなのですが、
オンラインのリファレンスを見たら>>673さんの言う
HTTPConnectionを使ったやり方が書いてあり、そちらでやったら
302とならず200を返してくれました。
あのソースは原始的なやりかたっぽいですね。

>>674
ttp://www.studyinghttp.net/status_code#Code302
調べたらこーいうのが出てきて概念は理解できました。
あのソースを使った場合の回避策も理解できましたが
手間いらずのHTTPConnectionを使おうと思います。


回答いただきありがとうございましたm(_ _)m
0676デフォルトの名無しさん05/03/06 14:13:20
                             .,/  _,/      .、、     ...、ヽ,,-、
                           .,,メ-‐'"       _"',|  .、、._,i.""│._、
                      ._,,,/`,イ―''      ,`",l゙、、,,ジ'"`.```.|゙゛
                    .,,,-,i´,―--―''"      、、,!冖'"`、_、,,,/'゚,,."゙l-‐''
       _,,,,,,,,,,,,,、    _,,,,,--''"`'",/゙            、、.',j/′.、,,∠''"` .'_ヽ.',゙l.._,,、
    ,,-'"゙`    `゙゙''lーイ"`     .‐′    _,..,,/ .ヽ、,i,i´ ``゙’   、、シ":"'.「
  .,,i´         `'i、\ ゙!,      ._,-'"ン'` 、、`_,/`,i´ _,___,ニ='" .'゙、゙".゙l,,-'`
 .,/′          `'i,\ ′  .,,,,-',,,,、.,i´、_:_'_v`"゙i、|   ```` `  、_,Jィ""゙l, _,,,,、
: ,i´             ゙l. ヽ丶  .r‐'"、.l゙、、:,p=l┴丶 .!,,!  `'"''''''冖''?'''゙~."""'."'/゛ `
: |,,r                ゙l, 、 i、、、、:,,_,xl!ヴi,、      、、っ,,,,    、`',,,,、`、`、|、
  |、            、"| .i、 lrr-''"゙,,ハ;、-'"゙゙'''''''"丶ヽ.,,冫``~`"`"~"``` `/ `''''
  `''r,,、 、 、、 .、丶、.``ヽ,レ"°  `` .j゚'=∠、````,,,,,∠ ~'ヽ```````、_,r‐'ヘi、
    `゙'ーi,,_、、、、、: :._,,,r〃       "  /^゚"'广  ,/  .,/゙゙゙'''ヶ―''''″   `
       `゙^""""''"'"                `   ′  ′  ."   
ぱいちんこ
0677デフォルトの名無しさん05/03/06 20:02:21
ttp://www.google.com/search?hl=ja&lr=&ie=UTF-8&oe=UTF-8&q=%E3%81%B1%E3%81%84%E3%81%A1%E3%82%93%E3%81%93&num=50
C言語とCVSのスレで「ぱいちんこ」やった奴出て来い。タダでは済まさんぞ。
0678デフォルトの名無しさん05/03/06 20:17:06
>>677
おおかた脳味噌にチンポでも生えているのだろう。
0679デフォルトの名無しさん05/03/06 21:00:48
>>677
ばいちんこって何?
ウィルスか何かですか?
0680デフォルトの名無しさん05/03/06 23:21:00
みなさん
else:
pass
は使用しますか?
0681デフォルトの名無しさん05/03/06 23:37:03
YES とも NO とも答えられるね。ダメじゃん。
0682デフォルトの名無しさん05/03/07 00:06:49
それもだけどtry:のfinallyも私は使わないね。>>680
forのelseはたまに使うけど。
068368005/03/07 00:09:43
>>682
処理速度に違いは出てきますかね?
0684デフォルトの名無しさん05/03/07 01:00:03
>>680

else:
   pass
   # print "OK"

みたいにブロック内をコメントアウトしたときに使うぐらいかな。

>>683
違いがあったとしても問題にならない程度だと思われ。
068568405/03/07 01:06:18
訂正。こうでした。

else:
   # print "OK"
   pass

こう書くと Emacs の python-mode で自動インデントがうまく働くのでした。
0686デフォルトの名無しさん05/03/07 04:21:08
>>684
自分もそれとよくにたことやるよ。

0687デフォルトの名無しさん05/03/07 09:18:27
較べてみよう。

>>> from dis import dis
>>> disassemble = lambda src: dis(compile(src,"","exec"))
>>> disassemble("pass\n" * 100)
>>> disassemble("if n: func()\n")
>>> disassemble("if n: func()\nelse: pass\n")
0688デフォルトの名無しさん05/03/07 12:23:23
ちょっと質問があるのですが、
海外の現地時刻を計算するのはどうやるの?
夏時間も考慮してやるには?
教えてください。
0689デフォルトの名無しさん05/03/07 12:55:31
自己解決しました。
pytz ( World Timezones for Python)ってがあったので
それを使いました。
069068005/03/07 17:52:50
>>687
やってみたけど、意味不明です…
0691デフォルトの名無しさん05/03/07 18:17:16
>>679
Python使っているくせに、ぱいちんこも知らないのか?
もぐりだな。
0692デフォルトの名無しさん05/03/07 18:45:58

       ∧  ∧
       |1/ |1/
     / ̄ ̄ ̄`ヽ、
    /        ヽ
   /  ⌒  ⌒    |
   | (●) (●)   |
   /          |
  /           |
 {            |
  ヽ、       ノ  |
   ``ー――‐''"   |
    /          |
   |          | |
   .|        |  | |
   .|        し,,ノ |
   !、          /
    ヽ、         / 、
     ヽ、⊂、   /ヽ.ヽ、
       |  |   |   ヽ.ヽ、
      (__(__|     ヽ、ニ三

ムーミンがぱいちんこに興味を持ったようです
0693デフォルトの名無しさん05/03/07 18:57:17
お前らRubyスレ池よ。あっちなら歓迎してくれるぞ。
0694デフォルトの名無しさん05/03/07 19:25:59
ところでこのムーミンのAAは、なぜ他のキャラでなくムーミンが選ばれたのだろうか。
0695デフォルトの名無しさん05/03/07 20:05:27

            __,,,,_
            /´      ̄`ヽ,
            / 〃  _,ァ---‐一ヘヽ
         i  /´       リ}
          |   〉.   -‐   '''ー {!
          |   |   ‐ー  くー |
           ヤヽリ ´゚  ,r "_,,>、 ゚'}
         ヽ_」     ト‐=‐ァ' !  < ぱいちんこ、ぱいちんこ
          ゝ i、   ` `二´' 丿
              r|、` '' ー--‐f´
         _/ | \    /|\_
       / ̄/  | /`又´\|  |  ̄\

皇太子様までがこのスレ、とゆーかぱいちんこに興味をお持ちになったようです。
0696デフォルトの名無しさん05/03/07 20:07:45
>>693
.._ .......、._    _ /:/l!            まぁまぁ。
 :~""''.>゙' "~ ,、、''‐'、|            ここで歓迎するくらい余裕を持ちましょうよ。
゙、'、::::::ノ:::::::_,.-=.  _〜:、         /_.}'':, こころの狭いスレだと思われますよ。
 ``、/:::::::::__....,._ `゙'Y' _.ェ-、....._ /_゙''i゙ノ、ノ
 ,.--l‐''"~..-_'.x-='"゙ー 、`'-、 ,:'  ノ゙ノブ
"   .!-'",/  `'-‐'') /\ `/ でノ-〈
 .-''~ >'゙::    ‐'"゙./  ヽ.,'   ~ /
   //:::::       ',    /    ,:'゙
0697デフォルトの名無しさん05/03/07 23:23:25
Pythonなんて使ってる奴はこころ狭いだろ。
クズどもばっかりだからな。
0698デフォルトの名無しさん05/03/07 23:24:34
   な
     っかり
0699デフォルトの名無しさん05/03/08 00:04:20
       て   て
       か   か
0700デフォルトの名無しさん05/03/08 00:45:05
あったま
0701デフォルトの名無しさん05/03/08 01:27:31
>>697
全員が>>649,>>661みたいなヤシってわけではなかろうて。。。
0702デフォルトの名無しさん05/03/08 01:53:42
>>697
心は広いよ。
でもチンコが小さい。
0703デフォルトの名無しさん05/03/08 10:21:29
排泄器としてしか使ってないからOk
0704デフォルトの名無しさん05/03/08 11:01:01
そんな悲しいことをいうな
0705デフォルトの名無しさん05/03/08 13:00:40
排泄器と生殖器を兼ねるんだから、ちんこはたとえるならpickle並のすごい働き。
0706デフォルトの名無しさん05/03/08 13:09:15
 ぱいチンコびろーん
   ∩___∩     
   | ノ      ヽ/⌒) 
  /⌒) (゚)   (゚) | .|  
 / /   ( _●_)  ミ/
.(  ヽ  |∪|  /
 \    ヽノ /   
  /      /  
 |   _つ  /    
 |  /UJ\ \       
 | /     )  )       
 ∪     (  \    
        \_)


0707デフォルトの名無しさん05/03/08 13:41:16
>>703
さすがは敗北者スレ
0708デフォルトの名無しさん05/03/09 11:33:21
pythonにずっと計算させてると、CPUが常に100%になってしまいます。
CPU使用率を制限させる方法はありますか?
0709デフォルトの名無しさん05/03/09 12:14:19
Pythonに限った話じゃないと思われるのでスレ違い(とゆーか板違い)。
とゆーか使っているOSの名前も出さないなんてエスパー募集ですか?
0710デフォルトの名無しさん05/03/09 12:19:35
>>708
演算量が多ければ当然の動き。計算の所要時間が延びても構わないのか?
0711デフォルトの名無しさん05/03/09 12:43:58
>>CPU使用率100%
所詮はCPUの自己申告。本当はたっぷりサボってるんだから気にせずガンガン叩いてOK!
071270805/03/09 12:50:38
>>709
ごめんなさい、OSはWinXPです。
>>710
構いません。バックでゆっくり計算してもらいたいです。

ソースをどうこうして実現するのは不可能でしょうか?
0713デフォルトの名無しさん05/03/09 12:56:56
できるか
0714デフォルトの名無しさん05/03/09 13:24:48
>>712
アプリの優先度を下げる。
0715デフォルトの名無しさん05/03/09 13:36:04
ループのよく通る場所にtime.sleep(0.1) とか入れとけ。
0716デフォルトの名無しさん05/03/09 15:28:09
>>709
勘違い(とゆーか基地外)。
0717デフォルトの名無しさん05/03/09 15:35:46
>>716
優先度の制御はOSに依存した話であってpythonの話じゃないだろ。
Windowsは知らないがUNIXならniceコマンドの仕事。
0718デフォルトの名無しさん05/03/09 16:42:02
(´-`).。oO(なんの計算なんだろう・・・
0719デフォルトの名無しさん05/03/09 16:54:20
さすがは敗北者スレ
072070905/03/09 16:58:16
>>716
失敬な(w
0721デフォルトの名無しさん05/03/09 17:03:45
なんかいかにも就職活動中って感じの女子大生が真昼間の
ファーストキッチンで胸とかバンバン揉ませてるわけ。同じ年くらいの
男子大学生ぽい奴に。しかもスーツの内側に手入れて直で揉んだり
してるわけ。なんか女のほうも廻りを気にしながらも小声で
笑ったりしてるわけ。「ヤダァ♪」とか言いながら。

俺は思ったね。お前ら独身中年なめんな、と。お前らのすぐ隣に座ってる
俺はお前らの様子見ながら正直、勃起してんだよ。ていうか信じられないよ。
素人同士で金のやり取りもなく胸揉むなんてよ。俺はヘルスで平均40回ぐらい
揉むわけ。12,000円で40モミ。1モミ300円。俺はそいつら見ながら「あ、300円」
とか「また300円」とかカウントしてたわけ。で、そのカウントが6,000円ぐらいに
達した時、突然こみ上げてきたわけ、嗚咽が。押さえ切れないほどの憤怒が。
で、声に出して泣き出しちゃったわけ。真昼間のファーストキッチンで。独身中年が。

急に声をあげて泣き出した俺を珍獣でも見るように一瞥した挙句、クスクス笑いながら
店を出ていくそいつらの後ろ姿を見ながら俺は思ったわけ。これはもう階級闘争だ、と。
謂なき触穢の鉄鎖に蹂躙された日陰者の人権は闘争によってしか解放されないのだ、と。
そんなわけで俺は闘うわけ。ここに常駐するグズなお前らも闘え。取り戻せ。矜持を。
0722デフォルトの名無しさん05/03/09 17:15:23
PyblosxomがWebProgになかったので、板違いかもと思いつつも失礼。。
Pyblosxomで、non-blogなコンテンツ(普通のHTMLページですね)
を表示するPluginのようなものはあるでしょうか?
サイドバーに静的ページのリンクが自動的に表示できたりしたら、便利
だと思うのですが。
(http://wiki.subtlehints.net/moin/PluginDevelopmentTutorial3 の「1」)
0723デフォルトの名無しさん05/03/09 17:37:44
      _
      /,.ァ、\
     ( ノo o ) )  空
      )ヽ ◎/(.    気
    (/.(・)(・)\ . 嫁
    (/| x |\)
      //\\
   . (/   \)
0724デフォルトの名無しさん05/03/09 19:25:59
>>717
winだとstartだね。

winアプリだとアプリ側で制御することも多いけど。
0725デフォルトの名無しさん05/03/09 20:00:26
>>724
start /low hoge.exe とかすればいいんかな? 勉強になった。サンクス。
UNIXでもRC5アタック等のクライアントのように「皆さんのお仕事の邪魔は
いたしませんので、ええ」なんつーものはアプリ側で制御することもあるね。

os.nice ってのがあるけど、 availability: UNIX って書いてあるから
Windowsではダメっぽいねえ。cygwin版なら使えるのだろうか?


0726デフォルトの名無しさん05/03/09 23:41:46
なんでヤシは人に自分の探し物をさせるんだ?
0727デフォルトの名無しさん05/03/10 09:19:50
文字列の文字コードについてMS932 --> UTF-8 変換をやりたいのですが、
hoge = unicode(strings,"MS932")
この時点で
UnicodeError: MS932 decoding error: invalid character 0xa03b
と言われ、一文字ずつ切り出していったら
UnicodeError: MS932 decoding error: truncated string
と言われてしまったのですが
何かよい回避策はありますでしょうか…
0728デフォルトの名無しさん05/03/10 10:37:09
>>725
cygwin版で試してみたよ。

os.nice(1)ってやったらプロセスの優先度が「通常」から「低」に下がってた。
os.nice(-1)で上げるのも問題なし。

ついでにwin版でも試してみたけど、こっちは「no attribute」でエラーでした。
0729デフォルトの名無しさん05/03/10 11:12:04
>>727
unicode関数の引数errorsを使ってみては?
0730デフォルトの名無しさん05/03/10 11:39:08
[0xa0 0x3b] というバイト並びは、通常のShift JISエンコーディングなテキストではありえない不正な文字列だが、
それを承知で、できる範囲でテキトーに変換したいのならunicode()の第3引数に"ignore"なり"replace"を指定すればよい。
0731デフォルトの名無しさん05/03/10 17:24:51
みんなエディタなに使ってる??
0732デフォルトの名無しさん05/03/10 18:28:22
xyzzyのpy-mode + キーワード補完。
簡単なテストはipython。
QtのWindows版がフリーになったらQt製のエディタを試す予定。
0733デフォルトの名無しさん05/03/10 18:42:49
>>729-730
errorsの記述で一部でもやり過ごせるかと思いきや、文字列全体が文字化けしてしまって…
本当にShift_JISにあるまじきデータのように思われます。
それならそれで別の策を考えなきゃ…レスいただきありがとうございました。
0734デフォルトの名無しさん05/03/10 18:58:43
コモンセンスを啓蒙してもらうのにすら論理が必要だと思っている奴は新興宗教でも立ち上げろや(プ
0735デフォルトの名無しさん05/03/10 19:36:50
>>731
IDLE
0736デフォルトの名無しさん05/03/10 22:13:29
http://www2.garage.co.jp/Search/sections/download/docs/python
0737デフォルトの名無しさん05/03/11 00:06:37
>>233

Subway
ttp://subway.python-hosting.com/
0738デフォルトの名無しさん05/03/11 11:23:29
>>731
eric3
0739デフォルトの名無しさん05/03/11 21:17:49
突然ですが、正規表現を使って文字列をヒットさせて、置換させるようなメソッドってないでしょうか?
文字列のReplaceにreを上手く組み合わせると出来ます?
074073905/03/11 21:23:54
もっと具体的にはCGIで、formから受け取った文字列をまたWebページに表示させたいのだけど、半角スペースの連続は1個と変わりないので、それを置換させたいのです。今のところこんな感じになってます。
△のとこは半角スペースのつもりです。あ、改行の扱いもこれでよかったんでしょうか???
word = ('\n'.join([x.strip() for x in cgi.escape(cgi.FieldStorage().getfirst('word', '')).replace('△△','△').replace('\r\n','\n').replace('\r','\n').split('\n')])).strip('\n').replace('\n', '<br>')
0741デフォルトの名無しさん05/03/11 21:34:21
>>740
そんなふうに1行を長く読みにくくして人生楽しいか?
074273905/03/11 21:53:57
こうですか!?わかりません!
sWord = cgi.escape(form.getfirst('word', ''))
sWord = sWord.replace('△△','△').replace('\r\n','\n').replace('\r','\n')
sWord = sWord.strip('\n') # ←このタイミングの方が無駄が減る事が分かりました。TNX>>741
sWord = '\n'.join([x.strip() for x in sWord.split('\n')])
sWord = sWord.replace('\n', '<br>')
0743デフォルトの名無しさん05/03/11 22:21:10
>>742
re.sub()とかじゃダメなんか?
074473905/03/11 22:37:31
私も今チュートリアルのここを見ていました。
www.python.jp/pub/doc_jp/tut/node12.html#SECTION0012500000000000000000
なんとか、re.sub()でやってみますね。
0745デフォルトの名無しさん05/03/11 22:42:00
import re
import cStringIO

sWords = "lskdjflks\r\n sjfjsj \r dfsdjfkj\n"
words = []
for line in cStringIO.StringIO(re.sub(" +", " ", re.sub(r"(\r\n|\r)", r"\n", sWords))):
  words.append("%s<br>" % line.strip())
print words

こんな感じの処理がしたいのかな?
074673905/03/11 23:11:29
ありがとうございます。>>745
私のしたかった事とは少し違うのですけど、そこからなんとか出来そうです。
wordsの前後の改行も省きたかったのです。
074773905/03/11 23:33:34
私のしたかった事は結局。こうでした。ありがとうです。>>743>>745
sWord = cgi.escape(sWord)
sWord = re.sub(r' +',r' ',sWord)
sWord = re.sub(r'(\r\n|\r)',r'\n',sWord)
sWord = ''.join([re.sub(r'(^ | $)',r'',x) for x in cStringIO.StringIO(sWord)])
sWord = re.sub(r'(^\n*|\n*$)',r'',sWord) # ←さっきこれを上にした方が無駄がどうとか言いましたが、間違いでした。ここでないといけないです。
sWord = re.sub(r'\n',r'<br>',sWord)
0748デフォルトの名無しさん05/03/11 23:52:39
>>> import re
>>> re.sub("[\r\n]+", "<br>", " word\r\n\r\nword\r\nword ".strip())
'word<br>word<br>word'
>>>
074973905/03/12 00:22:26
むむ。私の>>747も間違ってますね、、、。4行目のre.sub(r'(^ | $)',r'',x) が行末に\nがあるので、上手く働かないですね。
cStringIOも使ってみたかったですが。
>>748 それだと、'あ\n\n\nあ'も'あ<br>あ'とならないですか?文字と文字の間の改行は残したいんです。
075073905/03/12 00:48:08
こうしました。
sWord = '\n'.join([x.strip() for x in cgi.escape(sWord).replace('\r\n','\n').replace('\r','\n').split('\n')])
sWord = sub(r' +', ' ', sWord)
sWord = sWord.strip('\n').replace('\n', '<br>')
0751デフォルトの名無しさん05/03/12 01:38:02
 ぱいチンコびろーん
   ∩___∩     
   | ノ      ヽ/⌒) 
  /⌒) (゚)   (゚) | .|  
 / /   ( _●_)  ミ/
.(  ヽ  |∪|  /
 \    ヽノ /   
  /      /  
 |   _つ  /    
 |  /UJ\ \       
 | /     )  )       
 ∪     (  \    
        \_)
0752デフォルトの名無しさん05/03/12 01:39:24
ぱいチンコびろーん  びろろ〜ん  べろーん  びろんぬ
   ∩___∩ ∩___∩ ∩___∩ ∩___∩
   | ノ      ヽ/⌒)     ヽ/⌒)     ヽ/⌒)     ヽ/⌒)
  /⌒) (゚)   (゚) | .|    (゚) | .|    (゚) | .|    (゚) | .|
 / /   ( _●_)  ミ/ ( _●_)   ミ/ ( _●_)   ミ/ ( _●_)   ミ/
.(  ヽ  |∪|   /  |∪|   /   |∪|   /  |∪|    /
 \    ヽノ /     ヽノ ./      ヽノ /      ヽノ  /
  /      / ./       / ./      / ./         /
 |   _つ  / |   _つ  / |   _つ  / |   _つ  /
 |  /UJ\ \.|  /UJ\ \|  /UJ\ \.|  /UJ\ \
 | /     )  )| /     )  )| /     )  )| /     )  )
 ∪     (  \      (  \      (  \      (  \
        \_)       \_)       \_)       \_)


   ∩___∩             ∩___∩
   |ノ      ヽ            |ノ      ヽ 
  /  (゚)   (゚) |          /  (゚)   (゚) |
  |    ( _●_)  ミ         |    ( _●_)  ミ  
 彡、   |∪|  、` ̄ ̄ヽ    /彡、   |∪|  ミ  
/ __  ヽノ   Y ̄)  |   (  (/     ヽノ_  | 
(___)       Y_ノ    ヽ/     (___ノ
     \      |       |      /
      |  /\ \     / /\  |     
      | /    )  )    (  (    ヽ |
      ∪    (  \   /  )    ∪
            \_)  (_/
0753デフォルトの名無しさん05/03/12 05:10:30
ハッスルハッスル
0754デフォルトの名無しさん05/03/12 11:47:37
 (⌒) .(⌒)             
 ( ´・●・)つ このスレのあり方を
 ( 二つ        見直そうよ 
  \./ /、             
    ∪`J             
0755デフォルトの名無しさん05/03/12 14:00:08
さーて、いよいよプログラム板でも
AAフィルタかけなきゃダメになってきたか?
0756デフォルトの名無しさん05/03/12 15:32:14

  /\___/\
/ /    ヽ ::: \
| (●), 、(●)、 |    / ̄ ̄ ̄ ̄ ̄
|  ,,ノ(、_, )ヽ、,,   |  < >>755、ねぇ、笑って
|   ,;‐=‐ヽ   .:::::|    \_____
\  `ニニ´  .:::/
/`ー‐--‐‐―´´\
0757デフォルトの名無しさん05/03/12 20:20:17
あははははははは(乾いた笑い)
0758デフォルトの名無しさん05/03/13 15:49:57
つか、本スレなのかネタスレなのかはっきりしてほしい。
0759デフォルトの名無しさん05/03/13 16:27:26
>>758
ここは本スレでありネタスレでもあります。
頭の硬い人たちがスレ立て時にいつも一つに統合したがるので。
0760デフォルトの名無しさん05/03/13 22:32:12
そもそもネタすれって何だよ。
その存在意義は?
0761デフォルトの名無しさん05/03/14 10:31:21

    _  ∩
  ( ゚∀゚)彡 たっぷる!たっぷる!
  (  ⊂彡
   |   | 
   し ⌒J
0762デフォルトの名無しさん05/03/14 11:14:22
たっぷる!たっぷる!みんなたっぷる!
0763デフォルトの名無しさん05/03/14 23:42:09
でぃくしょなりにも愛をちょうだい( ´д`)人
0764デフォルトの名無しさん05/03/15 11:34:46
                \ │ /
                 / ̄\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< ぱいちんこぱいちんこ!
                 \_/   \_________
                / │ \
                    ∩ ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< ぱいちんこ!
ぱいちんこ〜!    >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」               ̄     / /
0765デフォルトの名無しさん05/03/15 14:41:14
2ch自体がネタなのに、本スレだのネタすれだのは無意味
0766デフォルトの名無しさん05/03/15 14:50:23
asyncoreって何て発音するの?
0767デフォルトの名無しさん05/03/15 16:20:41
>>766
あしんこわ
0768デフォルトの名無しさん05/03/15 18:22:34
>>766
あ、チンコは
0769デフォルトの名無しさん05/03/15 22:54:13
pychinko
0770【今日のキーフレーズ】05/03/15 23:50:29

asyncore pychinko [ア チンコハ パイチンコ]
0771デフォルトの名無しさん05/03/16 01:11:01
ぱいチンコ・・・・
   ∩__   _∩      
   | ノ   | /|    ヽ/⌒)   
  /⌒) (゚) |;;;;;;;|   (゚) | .|  
 / /   (_|;;;;;;;| ●_)  ミ/   
.(  ヽ  | |;;;;;;;;|∪|  /    
 \    ヽ|;;;;;;;|ノ /       
  /___________| \|___/       
  /;;;;;;;\ \;;;;\         
 /;;;;;;;;;;;;;;\ \;;;;\      
 |~~~~_つ~~|;;;;;;;|~~/       
 |  /UJ\ |;;;;;;;| \      
 | /     |;;;;;;;|   )      
 ∪     (| \|  \      
           \_)  

0772デフォルトの名無しさん05/03/16 01:21:32
>771
とりあえず、CUBEの犠牲者+1。
0773デフォルトの名無しさん05/03/16 23:21:46
自分でconfigure,makeしてインストールすると、/usr/libにlibreadline.があるにもかかわらず
readlineモジュールがインストールされないのですが、どうすればされるようになりますか?

ちなみに、元からインストールされているPythonでは、readlineモジュールが無事使えます。
0774デフォルトの名無しさん05/03/16 23:45:44
>>773
ヘッダファイルがないのとちゃう?
0775デフォルトの名無しさん05/03/17 11:37:49
configureのログを見よ。原因はそこに書いてある。
0776デフォルトの名無しさん05/03/18 10:47:33
       タップル!! タップル!!
    タップル!! タップル!! タップル!!
  タップル!! ∩   ∩ ノ)   タップル!!
 タップル!!  川 ∩ 川彡'三つ  タップル!!
タップル!! ⊂ミ∩、⊂ミ∩彡⊃    タップル!!
タップル!!⊂三ミ( ゚∀゚)彡三彡三⊃ タップル!!
タップル!! ⊂彡川⊂彡川ミ⊃    タップル!!
タップル!!⊂彡川∪⊃ U川彡⊃   タップル!!
 タップル!! (ノ ∪  川 ∪ミ)  タップル!!
  タップル!!      ∪     タップル!!
    タップル!! タップル!! タップル!!
        タップル!! タップル!!
            タップル!!
0777デフォルトの名無しさん05/03/18 17:59:09
グーグル、オープンソース開発者向けに「Google Code」 を開始
ttp://japan.cnet.com/news/media/story/0,2000047715,20081426,00.htm

最初はC++とPython向けのツールを提供だと。
GoogleはPythonをよく使うねぇ。
0778デフォルトの名無しさん05/03/18 18:08:31
人の人生にいちいちケチつんなよ! 別にいいだろ!
俺の仕事はな、おまえら弁当によく入ってる魚の形した醤油入れ知ってるか?
あれのふたを閉める仕事だ。
おまえらバカにするかもしれんけどな、俺は誇りを持ってやってるぜ。
親戚に紹介してもらってやっと今の会社に入れたんだからな。
別にいいだろ。
別に何人やったからって女にもてるわけでもねーじゃん。
おまえらつまらんこと気にすんな。
おれはスカイラインに乗ってるぜ、どーだおまえらすげえだろ。
0779デフォルトの名無しさん05/03/19 18:00:51
自分のプログラムの中で
tkFileDialog.askopenfiles()
だけを使いたかったのですが,ファイルを選ぶウィンドウが閉じた後も
tk のウィンドウが開き放しになります.
速攻でこいつを消すにはどうしたらいいですか?
0780デフォルトの名無しさん05/03/19 19:54:29
>>778
敗北者
0781デフォルトの名無しさん05/03/19 21:07:21
⊂⌒ヽ          (⌒⊃
  \ \  /⌒ヽ  / /
 ⊂二二二( ^ω^)ニニ二⊃
     \ \_∩_/ /
      (  (::)(::)  )
       ヽ_,*、_ノ  ぱいチンコびろーん!
   ///         おシリもびろーん!
 ///
0782デフォルトの名無しさん05/03/19 21:55:10
カワイイ!
0783デフォルトの名無しさん05/03/20 00:02:22
Pythonの未来は明るい。
ttp://www.itmedia.co.jp/news/articles/0503/19/news013.html
0784デフォルトの名無しさん05/03/20 01:02:36
>>783
次は「犯罪者が使うPythonのお勉強」か
0785デフォルトの名無しさん05/03/20 16:29:32
>>779
コンソール画面が開いたままということ?

それだったらpythonではなくてpythonwで起動すればいいと思う。
関連付けで、pyファイルをpythonwにしとくとか。
078677905/03/20 17:02:37
>>785
ごめんなさい.環境を書き忘れていました.誤解させてしまいました.
Linux の仮想ターミナルから起動しています.
みなさんのところでも,askopen...() と同時に「tk」という名前のウィンドウと
ファイルを開くウィンドウの 2 つが出て来るのだと思います.
で,選択しても片方は閉じません.Windows では閉じたような気がします.
0787デフォルトの名無しさん05/03/20 18:51:06
>>777
goopy/functionalって具体的になんなの?
0788デフォルトの名無しさん05/03/20 18:53:15
>>786
askopen...で開くとmasterをとる方法が無いから
素直に
tk = Tkinter.Tk()
tkFileDialog.askopenfiles()
tk.destroy()
するしかないような・・・。
0789デフォルトの名無しさん05/03/20 19:00:28
>>787
データの基本操作系の関数の詰め合わせ。
sort, reverse, some, every, remove_duplicatesとか
リストの操作系の関数が多いかな。
079078705/03/20 19:33:26
ソース読んでみた。
なるほどしょーもない。次回に期待。

こんなにネタがあればPythonの
未来も明るいと言えるよね。
0791デフォルトの名無しさん05/03/20 19:38:46
  /⌒\
 (    )
 | / ⌒\    / ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | (・∀・  )  <  サスーリ!
 |((⊂  |    \_______
 |  (  )ノ
 |   |
 |   |
 | / ⌒\    / ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | (・∀・  )  <  サスーリ!
 |((⊂  |    \_______
 |  (  )ノ
 |   |
 |   |
 | / ⌒\    / ̄ ̄ ̄ ̄ ̄ ̄ ̄
 | (・∀・  )  <  サスーリ!
 |((⊂  |    \_______
 |  (  )ノ
 |   |
 |   |  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 |   | <  ぱいちんこ!
 ( ・∀・)   \_____________
  )   (
 (__Y_)
079277905/03/20 21:33:08
>>788
できました.ありがとうございました.
0793デフォルトの名無しさん05/03/20 22:19:01
こんなにネタがあればPythonの
未来も明るいと言えるよね。
こんなにネタがあればPythonの
未来も明るいと言えるよね。
こんなにネタがあればPythonの
未来も明るいと言えるよね。
こんなにネタがあればPythonの
未来も明るいと言えるよね。
こんなにネタがあればPythonの
未来も明るいと言えるよね。
こんなにネタがあればPythonの
未来も明るいと言えるよね。
こんなにネタがあればPythonの
未来も明るいと言えるよね。
0794デフォルトの名無しさん05/03/21 00:47:16
文字コードについてぐぐってたら
こんなん見つけちゃった↓
ttp://apache.noexistent.com/~mak/kconv/kconv/index_jp.html
0795デフォルトの名無しさん05/03/21 01:31:34
>>794
kconvは変な関数あって楽しいぞ
0796デフォルトの名無しさん2005/03/21(月) 06:15:58
Pythonデスクトップリファレンスは買い?第2版まで待ったほうがよい?
0797デフォルトの名無しさん2005/03/21(月) 08:32:59
さすがに1.xベースは古くないか?
0798デフォルトの名無しさん2005/03/21(月) 08:37:27
iTunesのDRM技術を破る新アプリ「PyMusique」公開
http://www.itmedia.co.jp/news/articles/0503/19/news013.html

ソースも公開っぽい
http://fuware.nanocrew.net/pymusique/
0799デフォルトの名無しさん2005/03/21(月) 18:08:49
>>798
犯罪者
0800デフォルトの名無しさん2005/03/21(月) 19:44:05
トヨタスポーツ800
0801デフォルトの名無しさん2005/03/21(月) 20:22:12
いきなり質問ですみません。
ファイルの最終更新時間を知りたいのですが、

import time
time.strftime("%c", time.gmtime(os.path.getmtime(PATH)))

とすると9時間程ずれるのですが、どのようにすれば良いでしょうか?

>>> print time.strftime("%z",time.gmtime())
東京 (標準時)

とは出るのですが・・・。
0802デフォルトの名無しさん2005/03/21(月) 20:28:27
time.localtime() にしたら?
08038012005/03/21(月) 21:02:20
ありがとうございます。
time.strftime("%c", time.localtime(os.path.getmtime(PATH)))
で出来ました。
0804デフォルトの名無しさん2005/03/21(月) 21:59:02
 ぱいチンコびろーん
   ∩___∩     
   | ノ      ヽ/⌒) 
  /⌒) (゚)   (゚) | .|  
 / /   ( _●_)  ミ/
.(  ヽ  |∪|  /
 \    ヽノ /   
  /      /  
 |   _つ  /    
 |  /UJ\ \       
 | /     )  )       
 ∪     (  \    
        \_)
0805デフォルトの名無しさん2005/03/23(水) 01:34:33
スライスだけで何でもできる
0806デフォルトの名無しさん2005/03/23(水) 10:14:58
>>805
じゃあスライスで彼女を作る方法を教えてください。
0807デフォルトの名無しさん2005/03/23(水) 10:22:24
>>807
スライス元のオブジェクトを持ってきてください。
0808デフォルトの名無しさん2005/03/24(木) 01:40:40
pythonでCGIを書いてます。
フォームからの情報をテキストに書き込む時に『utf-8』で保存したいのですが
どのようにすれば可能でしょうか?

現在は単純に
form = cgi.FieldStorage()
value = form['value'].value
f = open('test.txt','w')
f.write(fix(value)) # fix()は"\r"を""に置き換えしているだけ
f.close

だれか教えてください
0809デフォルトの名無しさん2005/03/24(木) 01:57:47
>>808
フォームのあるページが EUC-JP だと仮定して、
f.write(fix(unicode(value, "EUC-JP").encode("UTF-8")))
もちろんJapaneceCodecsかCJKCodecsは必須。
0810デフォルトの名無しさん2005/03/24(木) 02:50:05
StreamWriterつかうのが吉
08118082005/03/24(木) 04:59:48
>>809
出来ました!
ありがとうございます
0812デフォルトの名無しさん2005/03/24(木) 14:13:15
codecに日本語の自動判別が含まれないのは、当然とはいえどう対処したものか。
0813デフォルトの名無しさん2005/03/24(木) 16:01:11
>>812
今のところ PyKf.guess() を使うのが一番楽な方法かも。
0814デフォルトの名無しさん2005/03/24(木) 17:01:19
英語圏の人達は、UTF-8とISO 8859-1を判別する必要に迫られたりはしないのか?
0815デフォルトの名無しさん2005/03/24(木) 22:50:44
>>779
遅レスだが一応。

tk = Tk()
tk.withdraw()
0816デフォルトの名無しさん2005/03/24(木) 23:11:50
>>815
消してない、隠れてるだけ。
ま、どっちでもいいが。
0817デフォルトの名無しさん2005/03/25(金) 00:26:07
(゜Д゜)???
0818デフォルトの名無しさん2005/03/25(金) 11:21:47
?????????
   ∩___∩     
   | ノ      ヽ/⌒) 
  /⌒) (゚)   (゚) | .|  
 / /   ( _●_)  ミ/
.(  ヽ  |∪|  /
 \    ヽノ /   
  /      /  
 |   _つ  /    
 |  /UJ\ \       
 | /     )  )       
 ∪     (  \    
        \_)
0819デフォルトの名無しさん2005/03/25(金) 14:14:50
「消す」と「隠れる」の違いくらい分かるだろ?
0820デフォルトの名無しさん2005/03/25(金) 14:18:02
                \ │ /
                 / ̄\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< ?????????!
                 \_/   \_________
                / │ \
                    ∩ ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< ???????!
?????〜!    >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」               ̄     / /
0821デフォルトの名無しさん2005/03/25(金) 15:18:08
>>819
何が言いたいのかさっぱり分からん
0822デフォルトの名無しさん2005/03/25(金) 16:05:07
学生のころマックでアルバイトしてたときの事。

わたしはドライブスルー担当で、その日は日曜。
次から次へとやってくる客の対応に追われ、目の回る忙しさだった。

あまりの忙しさにあせってしまって、
「いらっしゃいませコンニチハ。マイクに向かってご注文をどうぞ!」
って言うとこを、
「いらっしゃいませコンニチハ。マイクに向かってコンニチハ!!」

全身から汗がふきでたよ。
モニターの向こうのドライバーも、
「こ、こんにちは…」 とか言ってるし…
0823デフォルトの名無しさん2005/03/25(金) 17:06:34
俺は初めて彼女とhex()した。(以下略
0824デフォルトの名無しさん2005/03/25(金) 21:12:38
正規表現が使いずらい気がする。
0825デフォルトの名無しさん2005/03/25(金) 21:38:37
構文になってるPerlと比べると使いづらいのはたしか。
あっちは正規表現に命懸けてるし。
ParrotになってVMレベルで正規表現をサポートしても、
Pythonは利用しなさそう。
0826デフォルトの名無しさん2005/03/25(金) 21:50:56
>>824
馴れ,かなぁ.
ソース全体が正規表現みたいになるよりはいいかと.
0827デフォルトの名無しさん2005/03/26(土) 00:54:34
そこでpyperlですよ
0828デフォルトの名無しさん2005/03/26(土) 01:24:51
>>824
勉強しはじめの頃を思い出すと、
perlは、$Match = $1 みたいにマッチした部分が特殊変数に入ってるっていうのが何か気持ち悪かった。
pythonは、Match = re.findall(〜) みたいに、正規表現を使うのと取りだすのが同時なので納得しやすかった。
0829デフォルトの名無しさん2005/03/26(土) 13:07:04
リスト内包表現みたいな構文があるなら
正規表現も構文にすればいいのに、といつも思う。
0830デフォルトの名無しさん2005/03/26(土) 14:33:49
そんなことしたら、ますますPerlつかわなくなって
必要なときに勘がにぶって困るので却下。
0831デフォルトの名無しさん2005/03/26(土) 17:37:18
Paython
ttp://www.itmedia.co.jp/enterprise/articles/0503/26/news001.html

Zeta(BeOSの後継)にはPaythonが入ってるみたい
0832デフォルトの名無しさん2005/03/26(土) 18:05:56
Paythonって・・・・ぺいそん??
0833デフォルトの名無しさん2005/03/26(土) 18:13:12
そんな番組みてないっすよスクリプト-Paython-
0834デフォルトの名無しさん2005/03/26(土) 20:57:34
>>829
Pythonはじめたばかりだから変なこと言うかも知れんが。
文字列にマッチ演算子とか定義すればいいんでないの?
0835デフォルトの名無しさん2005/03/26(土) 22:22:06
言ってることが変
08368342005/03/26(土) 22:41:11
そうか、もうちょっとROMってることにしよ。
0837デフォルトの名無しさん2005/03/26(土) 22:48:28
最近Python使ってなかったからまたDiveIntoPythonするわ
0838デフォルトの名無しさん2005/03/27(日) 02:00:27
リア房の俺様がpythonに関するサイト作りました。
折角なのでGoogleなんかに乗せようと思うのですが
その前に評価ください・・・
http://pyslayer.s31.xrea.com/
0839デフォルトの名無しさん2005/03/27(日) 04:11:14
>>838
この程度のコードなら腐るほどあるような気がするが、まあがんばれ。
0840デフォルトの名無しさん2005/03/27(日) 11:33:54
マッチした全てをタプルのリストで返すre.findall()はあるのに、
最初にマッチした一つをタプルで返すre.find()がないのはなぜ?
0841デフォルトの名無しさん2005/03/27(日) 15:29:04
>>834
演算子っていうかメソッドってこと?
文字列.match(正規表現)
の方が好きってこと?
08428342005/03/27(日) 17:25:01
>>841
文字列 ~= 正規表現 とか。
Perlっぽく書ければいいのかなと思っただけ。

何かの記事で見た、演算子の再定義もできますというのを
演算子の定義もできますと勘違いして覚えたみたい。
0843デフォルトの名無しさん2005/03/28(月) 13:30:19
>>831
直ってるw
0844デフォルトの名無しさん2005/03/28(月) 15:23:40
>>842
演算子を定義できる言語ってあるのかなあ。
(再定義ではなく新規に定義という意味で)
ちょっと思いつかない。
0845デフォルトの名無しさん2005/03/28(月) 17:15:01

"0x61" という文字列があったとして、それをワンタッチで "a" に
変換する楽チンな方法ってありますか?

ordとchrでできそうな木がするんだけど、計算が大変そうで。
0846デフォルトの名無しさん2005/03/28(月) 17:28:24
chr(int("0x61", 16))
0847デフォルトの名無しさん2005/03/28(月) 17:51:53
エッチ、スケッチ、ワンタッチ、
0848デフォルトの名無しさん2005/03/28(月) 18:52:18
それいつの時代からあるんだろうか・・・
0849デフォルトの名無しさん2005/03/28(月) 19:36:00
>>846
どうもありがとう
0850デフォルトの名無しさん2005/03/28(月) 20:04:51
u'hogehoge'
となっているバイト列から単純に u を外すにはどうしたらいいのでしょうか?
なにがしたいのかというと、sjisなのにunicodeとして
扱われているバイト列を取り出したいのです。
0851デフォルトの名無しさん2005/03/28(月) 20:32:21
小手先の問題回避でしのがず、
unicode文字列代入時に、sjis文字列としてきちんとdecodeして代入できるよう
手を尽くすのをお薦めする。
0852デフォルトの名無しさん2005/03/28(月) 21:20:26
禿同。
> sjisなのにunicodeとして扱われているバイト列
が出てくる理由をつきとめて
stringとして扱われるようにするか、unicodeに正しく変換するのが吉。
0853デフォルトの名無しさん2005/03/28(月) 21:51:28
>>842

APL とか Prolog とか Haskell とか PostgreSQL とか。
0854デフォルトの名無しさん2005/03/28(月) 22:11:30
>> sjisなのにunicodeとして扱われているバイト列
> が出てくる理由
これはmp3のタグをpyid3tagで取り出したからです。
Cレベルは自分には対処は無理ですので……。
どうやらlatin1でencode()してやれば誤魔化せそうと気付いた。
0855デフォルトの名無しさん2005/03/28(月) 23:24:51
> どうやらlatin1でencode()してやれば誤魔化せそうと気付いた。

バイト列がunicodeになっちゃってるときの割と一般的な解決方法だと
思われるので、それで良いかと。
0856デフォルトの名無しさん2005/03/30(水) 20:44:58
unicode("能","ms932")
↑こういうのってまだできないのね
0857デフォルトの名無しさん2005/03/30(水) 20:55:50
手元の環境では普通に動くが、何の問題が?
0858デフォルトの名無しさん2005/03/30(水) 22:10:27
>>856
ソースのcoding指定はしてる?
08598562005/03/30(水) 22:53:24
皆さんコマンドラインで
>>> "能"
File "<stdin>", line 1
  "能"
   ^
SyntaxError: EOL while scanning single-quoted string
ってならないの?


# -*- coding: ms932 -*-
import re
print re.sub("能", "@", "脳能熊")

とかもできないんだけど・・・
08608562005/03/30(水) 23:01:02
unicode("能","ms932")
はコマンドライン使わないでcoding指定すればできましたすんません
0861デフォルトの名無しさん2005/03/31(木) 17:28:00
class Foo(object):
    def __init__(self, fooattr):
        self.fooattr = fooattr

class Bar(Foo):
    def __init__(self, fooattr):
        self.barattr = 2
        super(Bar, self).__init__(fooattr)

クラスFooに属性barattrを追加したサブクラスBarを作りたいんだけど、
こんなふうに__init__を書くと、スーパークラスFooの情報(この場合はfooattr)が
サブクラスBarに混入してしまう。
これを回避する方法ってある?
0862デフォルトの名無しさん2005/03/31(木) 17:52:17
混入というか意図した動作じゃないの?
いやならFoo.__init__()を呼ばなければいいだけ。
0863デフォルトの名無しさん2005/03/31(木) 18:35:35
同意。「混入」という認識がおかしいと思われ。
継承=親子関係なんだから血が混ざっているに決まっている。

Barの定義に「Foo」と書きたくないなら
継承じゃなく集約(aggregation)を使えばいいのでは。
0864デフォルトの名無しさん皇紀2665/04/01(金) 03:16:40
"The joy of coding Python should be in seeing short, concise, readable
classes that express a lot of action in a small amount of clear code --
not in reams of trivial code that bores the reader to death." --GvR
(Pythonでコーディングする楽しさがどこにあるかと言えば、
多くの動作をすこしのコードで表せる、簡潔で読みやすい
クラス群を見ることにある。読み手を死ぬほど退屈させる、
長大で自明なコードではなく、ね)
0865861皇紀2665/04/01(金) 10:17:44
もしかしてPythonは、継承を使わずに属性を追加したクラスを作れる?
0866デフォルトの名無しさん皇紀2665/04/01(金) 12:34:27
俺はエスパー
>>861がイメージしていることは大概のオブジェクト指向言語で出来る。
というかオブジェクト指向を勉強し直せ。
0867デフォルトの名無しさん皇紀2665/04/01(金) 13:36:46
クラス定義する必要って再利用させる時とする時ぐらいで十分?
0868デフォルトの名無しさん皇紀2665/04/01(金) 18:38:48
俺もエスパー
>>867がクラスにした方が良さげだと思ったらクラスにするがいい。
というか実際に試して経験から学べ。
0869デフォルトの名無しさんNGNG
Pythonって使いやすそうなデバッガ無いね…
0870デフォルトの名無しさんNGNG

念記
0871デフォルトの名無しさんNGNG
pychinko

http://www.python.org/pycon/2005/papers/76/pychinko-proposal.html
0872デフォルトの名無しさんNGNG
今さらだけど、日本語のできる学生はいなかったのかなぁ。
「PyPenisと名乗ってるみたいで可笑しいんですけど・・・」とか
メールしたくなる今日この頃。てゆーか痛々しい。
0873デフォルトの名無しさんNGNG
その自意識過剰が痛々しい。
0874デフォルトの名無しさんNGNG
ぱいちんこ
0875デフォルトの名無しさんNGNG
pythonには複数行コメントはないのでしょうか?
0876デフォルトの名無しさんNGNG
文字列リテラルをその場で放置するとか。
オブジェクトの先頭なら__doc__にも入って一石二鳥。
0877デフォルトの名無しさんNGNG
'''こんな風に書いて
試してみ。>>875'''
0878デフォルトの名無しさんNGNG
>>877
ありがとうございます。
ヘルプから見つけられなかったのでないと思っていましたがあったのですね
0879デフォルトの名無しさん2005/04/02(土) 19:26:18
>>873
「自意識」という言葉の使い方を間違っている。
0880デフォルトの名無しさん2005/04/02(土) 23:28:05
「日本語での語感を世界中のみんなが気にしてくれる」という自(国語)意識
0881デフォルトの名無しさん2005/04/03(日) 00:56:42
>>872
「陰茎」やら「肉棒」なんかに相当する単語なら知っていても、
「ちんこ」という単語に相当する英単語を知っている
日本人学生もかなり少ないと思うけどな。
0882デフォルトの名無しさん2005/04/03(日) 01:02:53
dick
0883デフォルトの名無しさん2005/04/03(日) 01:03:40
cock
0884デフォルトの名無しさん2005/04/03(日) 01:23:07
>>880
はいはい。君が言葉遣いを誤ったことは分かったから、もういいよ。
0885デフォルトの名無しさん2005/04/03(日) 01:43:45
「自慰識」で落としてほしかった
0886デフォルトの名無しさん2005/04/03(日) 10:12:50
板違いですが。。
『日本の武道や伝統芸能には「まず型を学ぶ。型を習得する
ことにより心を学ぶ。型を体得してこそ型から自由になれる
。」という考え方があります。』
http://www.python.jp/Zope/ 
この考え方はよく聞くけど、原典的な著書ってある?
五輪書チックだけど。
0887デフォルトの名無しさん2005/04/03(日) 11:05:45
んなことを書から学ぼうとするのは間違い。
『書』とは中途半端に理解した者が書くもの。
0888デフォルトの名無しさん2005/04/03(日) 11:34:56
自己レスです。
世阿弥のいう「序・破・急」とか、茶人川上不白の提起した「守・破・離」
のようです。ども!
0889デフォルトの名無しさん2005/04/03(日) 11:42:55
武道もそうだけど、舞踊の古典でよくある話だよね。
とにかく先生の踊りの見よう見まねをしなさいってやつ。
上手な人のヘタな部分、ヘタな人の上手な部分も見なさいとかも。
0890デフォルトの名無しさん2005/04/03(日) 12:22:05
Pythonを学ぶには、まずインデントを受け入れる。
インデントを体得することにより心を学ぶ。
インデントに習熟してこそインデントから自由になれる。
0891デフォルトの名無しさん2005/04/03(日) 12:25:19
どんなに習熟してもインデントから自由になるのは無理。
0892デフォルトの名無しさん2005/04/03(日) 12:29:57
まだまだだな。
0893デフォルトの名無しさん2005/04/03(日) 12:35:25
(インデントが嫌でも。。)
Pythonを体得する。
Pythonに疑問を持つ。何かを創造できると感じる。
Pythonを離れ、素晴らしいものを創造する。
その結果、Pythonを改良できたり、新言語を作ったり
できる真の能力が、、そして古いPythonから自由になれる(^^
0894デフォルトの名無しさん2005/04/03(日) 14:18:09
887 名前:デフォルトの名無しさん [sage] 投稿日:2005/04/03(日) 11:05:45
んなことを書から学ぼうとするのは間違い。
『書』とは中途半端に理解した者が書くもの。
0895デフォルトの名無しさん2005/04/03(日) 15:28:55
Yet Another Python、略して(ry
0896デフォルトの名無しさん2005/04/03(日) 15:53:38
PyPAN
0897デフォルトの名無しさん2005/04/03(日) 16:02:13
PyO2
0898デフォルトの名無しさん2005/04/03(日) 16:31:45
Pyaython [ピャイソン]
0899デフォルトの名無しさん2005/04/03(日) 16:35:01
Pythonはいい言語さ。プログラムのイロハはこいつに教えてもらったようなもんだ。
操作性はすなおの一言さ。
CやJAVAなんかに使い慣れるとこいつのスピードじゃ物足りないけどね…
母親みたいなもんだよ。

子供に歩き方を最初に教えるのは母親さ…
そうやって歩き始めた子供は、やがて母親から去っていく。
このPythonはそんな言語なんだ。
コードの書き方から、プログラミングの楽しさや難しさや…
コードを組む心ってのかなぁ…
そんなありとあらゆる感動を全部教えてくれるんだ。
0900デフォルトの名無しさん2005/04/03(日) 16:38:27
そして組み方を覚えた子供たちがさらに速く、さらに高度なコードを
書けるようになることを願って見送るんだ。


そんなやつさ…こいつは…
0901デフォルトの名無しさん2005/04/03(日) 16:56:13
エリア88ワロスw
0902デフォルトの名無しさん2005/04/03(日) 17:03:43
サザエ:
さ〜て、次スレのスレタイは〜?

波平です。
春の陽気に誘われていろんな人が萌え出でる時候になりましたな。
さて、次スレのタイトルのの候補は、

Pythonなら俺に聞け!Part8

【タプルタソは】Python質問ヌレPART8【エロかわいい】

★Pythonって死滅しちゃうの?Part8★

の3本です。

サザエ:
次スレもまた見てくださいねぇ〜。
じゃんけんポン!うふふふふ♪
0903デフォルトの名無しさん2005/04/03(日) 18:53:09
やべー、ほとんど脳内で音声合成されてら
0904デフォルトの名無しさん2005/04/03(日) 21:11:55
>903
漏れはBGM入りだ。
0905デフォルトの名無しさん2005/04/03(日) 22:25:34
次スレは↓
Pythonのお勉強 Part6
http://pc8.2ch.net/test/read.cgi/tech/1104183124/
0906デフォルトの名無しさん2005/04/04(月) 00:06:29
>>899
>>900

w
0907デフォルトの名無しさん2005/04/04(月) 18:50:27
Pythonで外部のcomやdllを使う場合、参照渡しはどのように取得できるのでしょうか?
0908デフォルトの名無しさん2005/04/04(月) 19:13:36
COMならpythonのオブジェクトにバインディングされるから何も考えなくてもいいです。
他のCOM対応高級言語と一緒。
DLLはわからない。自分でC拡張を書けば絶対だろうけど。
09099072005/04/04(月) 21:35:10
>>908
ありがとうございます。
現在iTunesを操作しようとしています。
どうも使い方が悪いのか解らないのですが
下記のを呼び出してもうまくいきません。

void GetPlayerButtonsState(
[out] VARIANT_BOOL* previousEnabled,
[out] ITPlayButtonState* playPauseStopState,
[out] VARIANT_BOOL* nextEnabled);

---------------------------------------------
import win32com.client
itunes = win32com.client.Dispatch("iTunes.Application")
itunes.GetPlayerButtonsState(a,b,c)
print a
print b
print c
----------------------------------------------

これを実行すると
>python test.py
Traceback (most recent call last):
File "test.py", line 3, in ?
itunes.GetPlayerButtonsState(a,b,c)
NameError: name 'a' is not defined

a,b,cを明示的に型を宣言してみてもうまく渡されませんでした
何が悪いのでしょうか?
0910デフォルトの名無しさん2005/04/04(月) 22:50:31
よくわかんないけど、宣言からは引数3つ必要なようでいて実際は不要みたい。

---------------------------------------------
>>> help(itunes.GetPlayerButtonsState)
Help on method GetPlayerButtonsState:

GetPlayerButtonsState(self,
previousEnabled=<PyOleMissing object at 0x00863430>,
playPauseStopState=<PyOleMissing object at 0x00863430>,
nextEnabled=<PyOleMissing object at 0x00863430>
) method of win32com.client.CDispatch instance

>>> itunes.GetPlayerButtonsState()
(True, 2, True)
---------------------------------------------
0911デフォルトの名無しさん2005/04/05(火) 00:25:22
Pythonを使って2chのログ(.datファイル)を自分なりに見やすくするスクリプトを作ろうとしています。
Pythonのチュートリアルを参考にしながら、簡単なスクリプトを作り始めたのですが、
どうやら2chの.datファイルには、jisx0213に含まれる文字があり、Unicodeでのreモジュール
を使っての文字列検索(re.search(u""))でエラーになります。

そこで調べていたら、pykfというものを使えば、jisx0213で定義されている文字列が含まれていても、
大丈夫そうだとわかったのですが、いまいち期待通りにスクリプトが動作しません。
この時点で、今まで出ていた
Traceback (most recent call last):
File "superpai2-1.py", line 9, in ?
ustr1 = unicode(temp, "shift-jis")
UnicodeError: Shift_JIS decoding error: invalid character 0x8764
は、出なくなりました。

正直、今のスキルだとどこが原因なのかもよくわからないのですが、少なくともこれだけは調べておけ、
このモジュールを使わないとダメだ。等ありましたら、ご指導ください。
ソースコードを見せろ等ありましたら、おっしゃってください。

環境:
OS: Vinelinux3.1
Python: python-2.3.4-0vl5
Pykf: pykf0.3.4 (←python setup.py installでインストールしました。)
09129112005/04/05(火) 01:11:23
ソースコードと読み込み対象のファイル、そして書き込んだファイルの3ファイルです。
ttp://49uper.com:8080/html/img-s/50840.zip
パスワードは空欄です。

読み込みファイル: superpai-s.org.txt
ソースコード: superpai2-2.py
書き込みファイル: superpai.csv

この時点で、何をしたいかというと書き込んだファイルがShift-jisのファイルとして、可読な
ファイルとして出力しようと思っています。
0913デフォルトの名無しさん2005/04/05(火) 02:07:33
>>911
0x8764 は �d かな?

>>> print '\x87\x64'.decode('cp932')
�d

ustr1 = unicode(temp, "cp932")
ではどうなるでしょう。
0914デフォルトの名無しさん2005/04/05(火) 10:39:31
>>913
�dクス。
('cp932')で問題なく、出来たもより。
どうもありがとう。

# coding=euc-jp

import re

fr = open('superpai-s.org.txt', 'r')
fw = open('superpai.csv', 'w')
temp = fr.readline()
while temp != "":
  ustr1 = unicode(temp, "cp932")
  pi_result = re.search(u'M/B', ustr1)
  if pi_result : #### レス中に'M/B'があったら、実行。
    fields1 = re.sub(u'<>|<br>', u',', ustr1)
    fields2 = re.sub(u'ID:', u', ID:', fields1)
    fields3 = re.split(u',', fields2)
    fields4 = ''
    for i in range(len(fields3)):
      fields4 = fields4 + ',' + fields3[i].encode("cp932")
    fw.write(fields4)
  temp = fr.readline()
fr.close()
fw.close()

0915デフォルトの名無しさん2005/04/05(火) 12:29:37
よく分からないですが、半角文字列を逆並びにして返す関数を貼っておきますね
def reverse_str(s): return reduce(lambda a,b: b+a, s + '')
0916デフォルトの名無しさん2005/04/05(火) 12:56:40
>>915
"Hello"[::-1]
0917デフォルトの名無しさん2005/04/05(火) 13:17:57
>>> '(T_T)'[::-1]
')T_T('
0918デフォルトの名無しさん2005/04/05(火) 13:39:10
>>> u"(゚д゚)"[::-1]
)゚д゚(
0919デフォルトの名無しさん2005/04/05(火) 13:43:01
>>> 'タケヤブヤケタ'[::-1]
タケヤ゙フヤケタ

ふやけた…
というか、対話モードのエンコーディングってどうやって指定するんだ?
0920デフォルトの名無しさん2005/04/05(火) 23:06:41
>>910
ありがとうございます。
なんだかよくわかりませんがそういうものとして使うことにします
09219112005/04/06(水) 12:58:35
すいません、また教えてください。
一部分抜粋
ustr1 = unicode(temp, "ms932")
pi_result = re.search(u"】", ustr1)

というような、reモジュールでUnicodeでの検索をしたいと思っています。
実際、この文を実行すると、以下のようなエラー文が表示されます。

Traceback (most recent call last):
File "superpai2-3.py", line 10, in ?
pi_result = re.search(u"】", ustr1)
File "/usr/lib/python2.3/sre.py", line 137, in search
return _compile(pattern, flags).search(string)
File "/usr/lib/python2.3/sre.py", line 230, in _compile
raise error, v # invalid expression
sre_constants.error: unexpected end of regular expression

正規表現でのUnicodeの扱いがまずいように思えるのですが、以下のようなスクリプトだと
エラーが出ません。何が違うのかよくわからないのですが、ヒントを教えてください。

# coding=euc_jp
import re

str = ['これはてすとです。【】', '2フィールド', '3']
for i in range(len(str)):
  ustr = unicode(str[i], "euc_jp")
  mituketa = re.search(u"】", ustr)
    if mituketa:
      print '見つけた', mituketa.group(), mituketa.span()
    else:
      print '見つかんなかった'
0922デフォルトの名無しさん2005/04/06(水) 18:09:02
同じような感じなのでついでに質問しときま。
『能』
はreモジュのたいていの関数の、第一ひきすうの最後の文字に使えない?
0923デフォルトの名無しさん2005/04/06(水) 18:30:41
# coding=ms932
import re
match = re.search(u".能", u"能登かわいいよ能登")
if match: print match.start()
0924デフォルトの名無しさん2005/04/06(水) 20:16:37
能登厨死ね
0925デフォルトの名無しさん2005/04/08(金) 21:11:07
質問。タプルのアンパック代入では、両辺の要素の数が一致しないとValueErrorエラーになるけど、
>>> l = [1, 2]
>>> a, b, c = l
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ValueError: unpack list of wrong size

足りない分にNoneを代入するためには、こんな書き方をするしかない?
>>> a, b, c = (l + [None] * 3)[:3]
0926デフォルトの名無しさん2005/04/09(土) 09:18:09
>>925
l + [None] * (3-len(l)) でいいと思う。

ちょっと難易度高くなるけど、
戻り値の個数を動的に判断する関数を作れないこともない。
関数呼出元のスタックフレームのバイトコードを見て判断できる。
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/284742
0927デフォルトの名無しさん2005/04/09(土) 10:06:28
さすがにBytecode見るのは処理系の実装に依存しすぎ。
0928デフォルトの名無しさん2005/04/09(土) 10:14:45
ttp://drpython.sourceforge.net/

↑ここのエディタを日本語対応に改造して頂けませんでしょうか?

文字コード云々をよく理解していないので、エンコーディングの部分を見てもさっぱりです。
誰かわかる方居ましたら、助けてください。お願いします。
0929デフォルトの名無しさん2005/04/09(土) 10:24:00
「日本語化してください助けてくださいお願いします」じゃなくて
「このプログラムはこんな所がこんな風に素晴しい。でも日本語が使えないのが残念」
と書いた方が食いつきがいいと思われ。
0930デフォルトの名無しさん2005/04/09(土) 11:46:06
>>928
ガンガレ

ttp://www.cubelab.com/ymasuda/python/wxpython/
0931デフォルトの名無しさん2005/04/09(土) 14:06:13
誰か〜オネガイシマース
http://cvs.wxwidgets.org/viewcvs.cgi/wxWidgets/contrib/src/stc/
09329282005/04/10(日) 01:33:19
>>930
出来た!
読み込むファイルのコーディングをshift_jisにして解決できました。
0933デフォルトの名無しさん2005/04/10(日) 13:00:45
win32allモジュールにウィンドウを常に最前面表示にするメソッドってありますか?
探しても見つからないです…探し方が悪いのかな…
0934デフォルトの名無しさん2005/04/10(日) 14:04:12
くわしくないけど、そのモジュールにはSetWindowPos()ってない?
09359332005/04/10(日) 17:34:37
>>934
ありました。ありがとうございます。
09369332005/04/10(日) 18:24:49
すみません。もう1つお願いします。
ウィンドウのハンドルからそのウィンドウの実行ファイルのあるパスを取得するメソッドはありますか?
タイトルの文字列や座標、サイズ、クラス名は取得できるんですが…
0937デフォルトの名無しさん2005/04/10(日) 23:27:02
pychinkoってなんなの?モジュール??
0938デフォルトの名無しさん2005/04/11(月) 12:11:18
RTFM
0939デフォルトの名無しさん2005/04/11(月) 13:55:17
リストのIndexErrorがうざい。
dictのget()に相当するメソッドがlistにもあってよさそうに思える。
0940デフォルトの名無しさん2005/04/11(月) 14:30:28
そういう独自のメソッドを追加できるような
仕組みってないの?(この場合だとlist型に追加できてほしい)

0941デフォルトの名無しさん2005/04/11(月) 14:47:08
subclassで妥協するか
0942デフォルトの名無しさん2005/04/11(月) 18:13:03
builtin typeを変更できるのも便利そうなんだが
他人のコードでそれやられるとコーディングホラーまっしぐらなので微妙。

もしかしたら、と思って試してみたが、
list = MyList とした後でも type([]) は <type 'list'>のままだった。残念。
0943デフォルトの名無しさん2005/04/11(月) 19:18:26
トリッキーなことをせず素直に書くのがPython流
0944デフォルトの名無しさん2005/04/11(月) 19:40:25
built-in typeでも区別なく操作できても、それはそれで素直かと。
そのコード自体はトリッキーじゃないし。
0945デフォルトの名無しさん2005/04/11(月) 19:53:02
>>942
type(list())とすればすむのでは?
0946デフォルトの名無しさん2005/04/11(月) 20:05:02
>>944
言ってることの意味が分からん。
0947デフォルトの名無しさん2005/04/11(月) 20:07:05

チン      ☆  チン       ☆
       チン    マチクタビレタ〜   チン     ♪
           ♪
    ♪          ☆チン    .☆   ジャーン!   マチクタビレタ〜!
        ☆ チン   〃  ∧_∧  ヽ         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ  ___\(・∀・ #) /\_/ < 次ヌレまだぁ?
        チン    \_/⊂    つ    ‖     \________
           / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|     ‖        マチクタビレタ〜!
        |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :|   /|\
        |             |/
0948デフォルトの名無しさん2005/04/11(月) 20:09:02
" ; ;ヾ *;""#ヾ*;ヾ;i"i "; *
* ;"; "i "; *;ヾ;* ;"; "i "; *;ヾ;
" ;ヾ *; ;@;ヾ; ;"/"* ;";^"i ";ヾ;
ヾ* ;"; "i "; *;ヾ;"i "; *;ヾ;"i ";
ヾ;i;;ii ;iiメソ"i "; *";;,*
゛*|l!|| ll|ソ./i;^*.
  l;l!ll |l|           ゛
  l;l!ll |l|
  |:l||| |l| ,,      ∧_∧
  |;l!l| ||l.   曰   ( ´Д`)<はぁー 次スレまだかな ・・
  |ill|| ll|.   | |   /    \
,, l|il|l l!|  ノ__ヽ   ||    | |
,, .,|::l|| !!|,,,,,||大||,,,,,,,||    | |,,,,,,,,,,,
";:ノ;;;i!! !!ヽ ||吟|| ⊂_/\ ヽ \>  ,,
    ,,  ||醸||  ▼ ,, \ / ̄) ̄)   
  ,, ,,  ゙゙゙゙"""  ,┻   丶 ノ、ノ  
0949デフォルトの名無しさん2005/04/11(月) 20:10:25
次ヌルポ
0950デフォルトの名無しさん2005/04/11(月) 22:20:20
次スレ
Pythonのお勉強 Part6
http://pc8.2ch.net/test/read.cgi/tech/1104183124/
0951デフォルトの名無しさん2005/04/11(月) 23:09:19
>>945
__builtin__.listを置き換えたら、[]で作るリストにもMyListを使って欲しいのだよ。
list([1,2,3])なんて書くのは面倒だから。
0952デフォルトの名無しさん2005/04/12(火) 00:34:35
>>948
まだ次スレの名前が決まってない
0953デフォルトの名無しさん2005/04/12(火) 00:46:47
>>952
>>902
0954デフォルトの名無しさん2005/04/12(火) 09:34:44
Windows版のwxPythonって2.4からwxRICH_2の仕様変わったよね?
なんかRTF開いても生のテキスト{\rtf...}が出るんだけど、どうしたらいいんだろ。
これバグなのか単に使い方が変わったのか、公式サイト読んでもググっても分かんない。

誰か助けて!
09559542005/04/12(火) 09:35:41
2.4じゃなくて2.5.4でした。2.5.3まではまともに使えてる。
0956デフォルトの名無しさん2005/04/12(火) 12:00:28
誰かPythonでEXCEL級の表計算ソフト作ってよ。
0957デフォルトの名無しさん2005/04/12(火) 12:03:30
>>956
とりあえずVBAのかわりにPyshonってのはよさげに見えるな。
0958デフォルトの名無しさん2005/04/12(火) 16:04:28
つ【Gnumeric】
0959デフォルトの名無しさん2005/04/12(火) 19:34:15

                _∧_∧_∧_∧_∧_∧_∧_∧_
     デケデケ      |                         |
        ドコドコ   <  次ヌレまだぁぁぁぁ〜!?            >
   ☆      ドムドム |_  _  _ _ _ _ _ _ _ _|
        ☆   ダダダダ! ∨  ∨ ∨ ∨ ∨ ∨ ∨ ∨ ∨
  ドシャーン!  ヽ         オラオラッ!!    ♪
         =≡= ∧_∧     ☆
      ♪   / 〃(・∀・ #)    / シャンシャン
    ♪   〆  ┌\と\と.ヾ∈≡∋ゞ
         ||  γ ⌒ヽヽコ ノ  ||
         || ΣΣ  .|:::|∪〓  ||   ♪
        ./|\人 _.ノノ _||_. /|\
         ドチドチ!
0960デフォルトの名無しさん2005/04/12(火) 20:24:08
>>959
>>950
0961デフォルトの名無しさん2005/04/12(火) 20:38:45
>>950のは過去の重複スレじゃん。お古はイヤッ!!

09621662005/04/12(火) 21:03:51
OOo2がマクロ言語としてpython扱えた希ガス
0963デフォルトの名無しさん2005/04/12(火) 21:05:01
gya-
0964デフォルトの名無しさん2005/04/12(火) 23:11:40
>>961
いまだに削除されていないので再利用の方向で責任とりましょうね♪
0965デフォルトの名無しさん2005/04/13(水) 00:33:32
責任取りたいならお前が勝手に取っとけ。バーヤ
0966デフォルトの名無しさん2005/04/13(水) 07:45:16
重複すれ立てたアホが責任とればいいにきまってるだろ?
0967デフォルトの名無しさん2005/04/13(水) 09:13:23
"yyyy/mm/dd hh:nn"で渡した日付及び時刻に対し、14時間加算した日付と時刻を返す
関数を誰か書いて頂けると、このスレも非常に盛り上がると思うのですが…
0968デフォルトの名無しさん2005/04/13(水) 09:22:35
たしかにこのスレを埋めるに足る程度には盛り上がるであろうな。
0969デフォルトの名無しさん2005/04/13(水) 10:22:01
>>967
t = time.strptime("2005/04/13 09:13", "%Y/%m/%d %H:%M")
あとはtimeかdatetimeモジュールでなんとかなるでしょう。
0970デフォルトの名無しさん2005/04/13(水) 11:33:46
なんで日本時間と北米東海岸時間の時差を計算したいの?
あ、夏時間だから今は13時間か。
09719672005/04/13(水) 12:09:29
>>969
ありがとう。
その線でちょっと調べて試してみます。

>>970
ttp://www.advsofteng.com/cdpython.html
↑こいつを使ってちょっとお遊びで為替チャートを作ってるんだけど、
海外の証券会社から取ってくる為替データが全部向こうの時間になってるから、
可能であれば、日本時間にしたいっていう俺の意味のないこだわりです。

ちなみにYahooの株価チャートは一瞬で表示されるのに対して、
上のモジュール使って作ったチャートはどんなに軽くしても表示に一秒以上はかかる。
なんかちょっとPythonの限界を感じてしまったかも。
ってかYahooはなんであんなに早いんだろ?
0972デフォルトの名無しさん2005/04/13(水) 12:34:39
株価チャートだけに、キャッシュが有効なのでございます。
0973デフォルトの名無しさん2005/04/13(水) 13:15:50
t = time.strptime("2005/04/13 09:13", "%Y/%m/%d %H:%M")
d = datetime.datetime(t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec)
d += datetime.timedelta(hours=13)

datetimeにstrptimeメソッドがないのはスマートじゃないな。
タイムゾーンももうちょっと手軽に扱えてよさそうだが…
0974デフォルトの名無しさん2005/04/13(水) 13:18:57
あと、help(datetime.timedelta) 見ても、timedeltaがhours引数をとるなんて
一言も書いてないんだが、この不親切さはなにか理由あるの?
0975デフォルトの名無しさん2005/04/13(水) 16:57:12

             「 ̄ `ヽ、   ______
             L -‐ '´  ̄ `ヽ- 、   〉
          /           ヽ\ /
        //  /  /      ヽヽ ヽ〈
        ヽ、レ! {  ム-t ハ li 、 i i  }ト、
         ハN | lヽ八l ヽjハVヽ、i j/ l !
         /ハ. l ヽk== , r= 、ノルl lL」
        ヽN、ハ l   ┌‐┐   ゙l ノl l
           ヽトjヽ、 ヽ_ノ   ノ//レ′
    r777777777tノ` ー r ´フ/′
   j´ニゝ        l|ヽ  _/`\
   〈 ‐ 知ってるが lト、 /   〃ゝ、
   〈、ネ..         .lF V=="/ イl.
   ト |お前の態度が とニヽ二/  l
   ヽ.|l         〈ー-   ! `ヽ.   l
      |l気に入らない lトニ、_ノ     ヾ、!
      |l__________l|   \    ソ
0976デフォルトの名無しさん2005/04/13(水) 21:08:34
おまえら、変数の型をどうやってソースコードで表現してますか。
動的型とはいえ、型がわからないと読みにくい。
結局、俺の中では変数名=型になりつつあるんですが。
def foo(str, date):
    i = 0
0977デフォルトの名無しさん2005/04/13(水) 22:09:00
>>976
strはやめれstrは。
0978デフォルトの名無しさん2005/04/13(水) 22:29:21
strの代わりにspamだよ漏れは
0979デフォルトの名無しさん2005/04/13(水) 22:35:17
うーん、あんまり型を意識して変数名を付けてない鴨・・・。
型じゃなく「何を表しているか」に基づいて変数名を付けている希ガス。
「文字列」じゃなくて「ファイル名」とか「ラベル」とか。
「数値」じゃなくて「カウント」とか「インデックス」とか。
Parserクラスのインスタンスだったら「parser」とか。
0980デフォルトの名無しさん2005/04/13(水) 23:05:22
>>972
座布団一枚!
0981デフォルトの名無しさん2005/04/14(木) 00:49:58
> Parserクラスのインスタンスだったら「parser」とか。
型そのまんまじゃん!
0982【次スレ】2005/04/14(木) 07:37:11
★Pythonって死滅しちゃうの?Part8★
http://pc8.2ch.net/test/read.cgi/tech/1113431728/l50
0983デフォルトの名無しさん2005/04/14(木) 10:32:51
次の次のスレね。>982
これを使い切ったら使おう。
http://pc8.2ch.net/test/read.cgi/tech/1104183124/l50
0984デフォルトの名無しさん2005/04/14(木) 11:10:13
助けてください。
Pythonスクリプトからコマンドプロンプトの起動は
os.startfile("cmd")で出来るんですが、
引数を付けて起動するのにはどうしたら良いでしょうか?

やりたいのはディレクトリの変更です。以下は試しました。

os.startfile("cmd D:/")
os.startfile("cmd /k cd /d D:/")
09859842005/04/14(木) 11:16:09
ごめんなさい
os.system('"cmd /k cd /d D:/"')
で出来ました。すいません
0986デフォルトの名無しさん2005/04/14(木) 13:20:54
最初に
  # coding: utf-8
としておいても、
UTF文字列使うときは
  u"ほげ"
のuって必要?
0987デフォルトの名無しさん2005/04/14(木) 13:44:08
>  # coding: utf-8
これはソースコードの文字エンコーディングをUTF-8とみなすように指示している。

>  u"ほげ"
これは文字列リテラルを、Pythonが扱うときにUnicode文字列としてメモリに格納するよう指示している。
文字エンコーディングはUTF-16もしくはUTF-32(Pythonのbuild時に決定)。

uを付けなければ、ソースコードのUTF-8表現のままメモリに格納される。
0988デフォルトの名無しさん2005/04/14(木) 18:51:11
>>984-985
これじゃダメなのかな。

>>> import os
>>> os.getcwd()
'C:\\Documents and Settings\\mona\\My Documents'
>>> os.chdir("C:\\")
>>> os.getcwd()
'C:\\'
>>>
0989デフォルトの名無しさん2005/04/14(木) 18:52:42

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴ……!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,
      //三/|三|\       ,,,,    ,,、,、,,,
      ∪  ∪
  ,,          ,    ,,,,    ,,、,、,,,       ,,、,、,,,
,,,,,    ∧_∧ うまいモナー,,,,,   、 ,,,,,,   ,,,,,,,,    ,,,,,
 ,,,   ( ´∀`)___,,,,___ ,, ∧_∧ ゲンキニ シテルカナ・・・___,,
  / ̄ ( つ日ヽ   ∧_∧    (    )               /
/    (__))   (´∀` )   (    )    ∧_∧∧_∧ / マターリモナー
 ∧_∧∧_∧ドーゾ (日ノ )  | | |    ( ´∀`) ´∀`)
 ( ´∀`) ´∀`)    ((__)  ,(_(_) (○)⊂   ) つ日⊂ ) モーナー
―(つ⊂  ) つ⊂ )―――――――――――ヽ|〃(⌒)(⌒) (⌒)(⌒)
   (⌒)(⌒) (⌒)(⌒)グーグー
0990デフォルトの名無しさん2005/04/14(木) 20:21:54
990ゲトズザー
09919842005/04/15(金) 00:55:21
>>988
ありがとうございます。
よりスマートにできました。
これでjEditからcmdを起動できるようになって、俺の中で最強のエディタになりました。
ってことでSynさよなら。

import os,sys
a= sys.argv[1].split("\\")[:-1]
os.chdir("/".join(a))
os.startfile('cmd')
0992【次スレ】2005/04/15(金) 02:17:46
★Pythonって死滅しちゃうの?Part8★
http://pc8.2ch.net/test/read.cgi/tech/1113431728/l50
0993デフォルトの名無しさん2005/04/15(金) 02:22:30
993
0994デフォルトの名無しさん2005/04/15(金) 02:23:44
994
0995デフォルトの名無しさん2005/04/15(金) 02:24:16
995
0996デフォルトの名無しさん2005/04/15(金) 02:58:44

  ( ´∀`)< オマエモナー
0997デフォルトの名無しさん2005/04/15(金) 03:02:28
      ∧∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
〜′ ̄ ̄(,,゚Д゚) <  逝ってよし!!!
  UU ̄U U.    \________
0998デフォルトの名無しさん2005/04/15(金) 03:12:15
a
0999デフォルトの名無しさん2005/04/15(金) 03:12:44
i
1000デフォルトの名無しさん2005/04/15(金) 03:13:12
100010001000100010001000100010001000100010001000100010001000
どうだ糞ネコwwwwwwwwwwwwwwwwwwww
100010001000100010001000100010001000100010001000100010001000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。