1 名前:デフォルトの名無しさん[] 投稿日:02/11/10 10:42
日本Pythonユーザ会
http://www.python.jp/Zope/
www.python.org
http://www.python.org/
comp.lang.python
http://groups.google.com/groups?hl=ja&lr=&ie=UTF-8&inlang=ja&group=comp.lang.python

前スレ
http://pc3.2ch.net/test/read.cgi/tech/1020718991/

ログや関連リンクは >>2-4

2 名前:デフォルトの名無しさん[] 投稿日:02/11/10 10:42
過去ログ

Pythonお勉強スレッド
1 http://pc.2ch.net/tech/kako/965/965815778.html
2 http://pc3.2ch.net/test/read.cgi/tech/1020718991/

pythonユーザー掲示板
http://mentai.2ch.net/prog/kako/965/965058106.html

アンチ・ネタ雑談は以下のスレで。

人生の敗北者でも使えるPythonのお勉強 Part2
http://pc3.2ch.net/test/read.cgi/tech/1020682294/
【インデント】ぱいそんぱいそん!3【ムネオたん】
http://pc3.2ch.net/test/read.cgi/tech/1036811974/

3 名前:デフォルトの名無しさん[] 投稿日:02/11/10 10:42
関連文書

Python Tutorial 和訳
http://www.zob.ne.jp/~hide-t/comp/python/py21-tut-ja/tut-ja/index.html
Python関連日本語サイト集
http://homepage1.nifty.com/kazuf/pythonlinkj.html
Jython
http://www.jython.org/
KaaEdit
http://www.gembook.jp/html/kaa/

Python 関連の書籍

初めてのPython
http://www.oreilly.co.jp/BOOK/lpython/
Python 入門
http://www.oreilly.co.jp/BOOK/python/
Pythonプログラミング
http://www.oreilly.co.jp/BOOK/pythonp/
Pythonデスクトップ リファレンス
http://www.oreilly.co.jp/BOOK/pythondr/
Pythonで学ぶプログラム作法
http://www.pearsoned.co.jp/washo/prog/wa_pro45-j.html
Pythonテクニカルリファレンス
http://www.pearsoned.co.jp/washo/prog/wa_pro29-j.html

4 名前:デフォルトの名無しさん[sage] 投稿日:02/11/10 10:46
4?

5 名前:デフォルトの名無しさん[] 投稿日:02/11/10 10:55
重複?

6 名前:デフォルトの名無しさん[sage] 投稿日:02/11/10 11:01
>>1
削除依頼出しとけよ

7 名前:デフォルトの名無しさん[sage] 投稿日:02/11/10 13:30
ここが本スレですか?

8 名前:デフォルトの名無しさん[sage] 投稿日:02/11/10 14:07
ここは重複スレです。削除されるまでは沈めておくように。

9 名前:デフォルトの名無しさん[] 投稿日:02/11/13 23:43
                \ │ /
                 / ̄\   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
               ─( ゚ ∀ ゚ )< ぱいそんage!
                 \_/   \_________
                / │ \
                    ∩ ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< GUIDOage!!! http://www.python.org/~guido/images/license.jpg
ぱいそん〜〜〜!   >( ゚∀゚ )/ |    / \__________
________/ |    〈 |   |
              / /\_」 / /\」               ̄     / /


10 名前:デフォルトの名無しさん[] 投稿日:02/11/15 15:41
キタ━━━━━━(゚∀゚)━━━━━━!!!!

11 名前:デフォルトの名無しさん[] 投稿日:02/11/18 17:33
age

12 名前:デフォルトの名無しさん[] 投稿日:02/11/18 20:43
formPimってなに?

13 名前:デフォルトの名無しさん[] 投稿日:02/11/19 05:17
がぶり

14 名前:デフォルトの名無しさん[sage] 投稿日:02/11/27 00:54
d = {"tech":"ム板","prog":"マ板","linux":"ぃぬ","unix":"うに","game":"PCゲー",}
みたいなdictionaryをkeyのアルファベット順に
二つ折りにしたい(a-mとn-z)時ってどうしますか?
keys = d.keys();keys.append("n");keys.sort(); (n,m) = keys[:keys.index("n")],keys[keys.index("n")+1:]
みたいな方法はヘボい気がして。クールな方法教えてくだちい。


15 名前:>>14[sage] 投稿日:02/11/27 21:35
スレタイに反して実はここは本スレじゃないんだが、一応答えてみる。

エレガントかどうかは知らんが、俺ならこんなかんじ(2.2以降用)。
ちなみにpredに一見無駄な引数をとらせてるのは、汎用性のため
(keyじゃなくvalueで分割したいこともあるかも)と理解してちょ。

def dictdiv(pred, dic):
  m, n = {}, {}
  for k, v in dic.iteritems():
    if pred(k, v):
      m[k] = v
    else:
      n[k] = v
  return m, n

d = {"tech":"ム板", "prog":"マ板", "linux":"ぃぬ", "unix":"うに", "game":"PCゲー"}
m, n = dictdiv(lambda k, v: k < 'n', d)

16 名前:初心者[] 投稿日:02/11/29 01:54
vpythonについてのお勉強サイトってありませんか?

17 名前:デフォルトの名無しさん[] 投稿日:02/11/29 09:54
>>14

filter(lambda k: k < 'n', d.keys()), filter(lambda k: k >= 'n', d.keys())
か、
[k for k in d.keys() if k < 'n'], [k for k in d.keys() if k >= 'n']

かなぁ。

18 名前:デフォルトの名無しさん[sage] 投稿日:02/11/29 10:52
>>17
list comprehension カコイイ!
Cockbook 買うまで使ったことナカータよ。

19 名前:超究極最高初心者mk-II[sage] 投稿日:02/11/29 21:13
>>16
初心者は良くないよ。


20 名前:デフォルトの名無しさん[sage] 投稿日:02/11/29 22:51
>>19
Pythonは初心者には向いてないってことでつか?

21 名前:初心者[] 投稿日:02/11/30 03:34
PILをいれたいんだが、Imaging-1.1.3.tarを落とせたのはいいが、こっから先がわからない。
ちなみにOSはwindowsでpythonのバージョンは2.2です

22 名前:デフォルトの名無しさん[sage] 投稿日:02/11/30 04:16
まずそのtar玉を展開しろ。

23 名前:初心者[] 投稿日:02/11/30 04:45
デスクトップ上に展開したんですけど、その中にsetup.pyがでてきました。
しかしこれをダブルクリックで起動してもPILが導入されてないようで、PILを使ったプログラムが動きません。

本当にどうしたらいいのかわかりません…
どうか教えてください



24 名前:デフォルトの名無しさん[] 投稿日:02/11/30 06:05
バイナリじゃダメなの?
http://www.pythonware.com/products/pil/

25 名前:デフォルトの名無しさん[sage] 投稿日:02/11/30 12:38
このスレは削除依頼済みです。
これ以上書き込まないでください。

26 名前:デフォルトの名無しさん[] 投稿日:02/11/30 17:32
>>25
いいじゃないか。すきなだけ書き込ませてくれ。


27 名前:名称未設定[sage] 投稿日:02/11/30 18:09
>>23
Terminal(Winの場合はDOSプロンプト?)で
python setup.py install


28 名前:名称未設定[sage] 投稿日:02/11/30 18:10
>>20
そういう意味でないのでは?
初心者ってのが何の初心者なのか不明だからね。
pythonの初心者なのか、人生の初心者なのか、、人間の初心者なのか(w

29 名前:デフォルトの名無しさん[sage] 投稿日:02/12/01 07:59
>>27

setup.pyって使いにくい。なんであんなものを使うのかわからん。
外国では、日本のRubyみたいなもの?


30 名前:デフォルトの名無しさん[sage] 投稿日:02/12/01 08:08
>>29
./configure; make; make install よりは、分かりやすいけど。
Ruby なんかだと、どんな風になってるんだろ。

31 名前:デフォルトの名無しさん[sage] 投稿日:02/12/01 09:16
>>30
青木さん作による install.rb というのがありますです。

32 名前:デフォルトの名無しさん[sage] 投稿日:02/12/01 10:04
>>29
setup.pyって使ったことないんだけど、どんな感じ?


33 名前:デフォルトの名無しさん[sage] 投稿日:02/12/01 12:45
>>30

./configureみたいに設定するときは、setup.pyをいじらなければならないのが辛い。
フツーに出来ませんか?あと、もっと細かく設定したいのですが…。


34 名前:初心者[] 投稿日:02/12/02 01:49
pythonでCみたいに1次元配列や2次元配列って使えるの?
なんか本みたけど載ってない…

35 名前:初心者[] 投稿日:02/12/02 02:17
pythonでCみたいな1次元配列やら2次元配列とか組めるの?
やっぱリストがCでいうところの1次元配列になるのかな?

36 名前:初心者[sage] 投稿日:02/12/02 02:18
あー!!!!
すいません。二重カキコになってる…

37 名前:デフォルトの名無しさん[] 投稿日:02/12/02 03:30
リストはアクセスが O(1) なんだから事実上、配列だろうよ。


38 名前:デフォルトの名無しさん[sage] 投稿日:02/12/02 03:32
タプルをキーとしたディクショナリを使ったり、、、<2次元配列

d = {}
d.get((x.y),DEFAULT) #DEFAULTを返す
d[(x,y)] = "hoge"
d.get((x,y),DEFAULT) #"hoge"を返す

何かの値(DEFAULT)で平面全体を初期化するなら

d = {}
for x in range(100):
 for y in range(100):
  d[(x,y)] = DEFAULT

リストを使いたいなら前スレでがいしゅつの

L = [[0]*3]*2
print L #[[0, 0, 0], [0, 0, 0]]
L[0][1] = 1
print L #[[0, 1, 0], [0, 1, 0]]

L = []
for i in range(2):
 L.append([0]*3)
print L #[[0, 0, 0], [0, 0, 0]]
L[0][1] = 1
print L #[[0, 1, 0], [0, 0, 0]]

みたいな罠がある。

#科学計算とかゲームとかで2次元配列を使うつもりなら
#それ専用のライブラリを探した方が良いです。

39 名前:初心者[] 投稿日:02/12/02 05:25
>>38
 レスさんくすです。
 なるほど、リストを入れ子して無理やり二次元配列に見せかけるってのが一番ベターなのかも…

 また

for x in range(100):
 for y in range(100):

 のやり方はびっくりしました。ずっと

for x in [1,2,3]

 みたいな感じにしかforの使い方を知らなかったので、いい勉強になりました
 やっぱ本だけじゃだめだなぁ…

PS.
 今使っているのは「はじめてのpython」です。「pythonプログラミング」もありますが、難しくて使いこなせてません…




40 名前:名称未設定[sage] 投稿日:02/12/02 06:36
>>39
本だけでなくサンプルコード読んだ方がよい。


41 名前:デフォルトの名無しさん[sage] 投稿日:02/12/02 07:57
>>38-39
lst = [[0 for col in range(3)] for row in range(2)]
みたいなやり方で初期化する方法もある。

>>> lst = [[0 for col in range(3)] for row in range(2)]
>>> lst
[[0, 0, 0], [0, 0, 0]]
>>> lst[0][1] = 1
>>> lst
[[0, 1, 0], [0, 0, 0]]

42 名前:デフォルトの名無しさん[] 投稿日:02/12/02 12:21
>>37
>リストはアクセスが O(1) なんだから事実上、配列だろうよ。
マジで言ってるの?

43 名前:初心者[] 投稿日:02/12/02 13:32
>>40
サンプルソースはpythonに付属しているDemoを見れば一番いいのでしょうか?

できたら日本語で解説してあるサンプルソースが豊富にあるところってないものでしょうか?

>>41
 初期化の方法サンクスです。
 やはり人に教えてもらうのが一番わかりやすい…

44 名前:デフォルトの名無しさん[sage] 投稿日:02/12/02 13:51
リストはO(n)だろ

45 名前:デフォルトの名無しさん[sage] 投稿日:02/12/02 14:17
>>44
一般的にいうリンクリストはO(n)だけど、
Pythonのデータ型のリストはO(1)で
アクセスできるような実装ってコトだよ。

名前がかぶってるからややこしくなる。

46 名前:デフォルトの名無しさん[sage] 投稿日:02/12/02 19:57
>>45 どういう実装か解説キボン

47 名前:デフォルトの名無しさん[] 投稿日:02/12/02 21:01
ファイルが存在するかどうかを調べて,存在する場合としない場合で
別々の処理をしてみたいんですがどうやればいいのか今一わかりません。

色々調べた結果,ファイルが存在するかどうかは os.access を使えば
いいということだけはわかりました。プログラム言語? を使うのは初めて
なのであらゆるすべてがサッパリです。くだらない質問かもしれないです
が教えてもらえませんか? UNIX ではなく Windows で使ってます。

48 名前:デフォルトの名無しさん[] 投稿日:02/12/02 21:54
pythonなんてだめだめ!ruby最強!ruby最強!ruby最強!ruby最強!
ruby最強!ruby最強!ruby最強!ruby最強!ruby最強!
ruby最強!ruby最強!ruby最強!ruby最強!ruby最強!
ruby最強!ruby最強!ruby最強!ruby最強!ruby最強!

49 名前:デフォルトの名無しさん[sage] 投稿日:02/12/02 22:33
>>47
import os
file = "filename"
if os.access(file, 0):
print "exist"
else:
print "not exist"


50 名前:デフォルトの名無しさん[] 投稿日:02/12/02 22:47
最強はVB

51 名前:デフォルトの名無しさん[] 投稿日:02/12/02 22:54
>>49
ありがとうございます。さっそく試してみます。

52 名前:デフォルトの名無しさん[sage] 投稿日:02/12/02 22:57
C++さいきょー

53 名前:デフォルトの名無しさん[] 投稿日:02/12/02 23:30
うるせえよ、この厨どもが

54 名前:デフォルトの名無しさん[sage] 投稿日:02/12/03 00:36
>>47
>ファイルが存在するかどうかを調べて,
os.path.isfile も使えます。(ディレクトリなら os.path.isdir)

55 名前:名称未設定[sage] 投稿日:02/12/03 07:02
>>43
最初にみるのはDemoとかToolとかのスクリプトですね。
あと日本語のサンプルはあまりないです。

英語であれば
http://aspn.activestate.com/ASPN/Python/Cookbook/

http://www.vex.net/parnassus/
からたどれば大量にあります。



56 名前:デフォルトの名無しさん[sage] 投稿日:02/12/03 12:21
VB 最強!!

57 名前:デフォルトの名無しさん[sage] 投稿日:02/12/03 21:45
>>55

前者は初心者にはちょっとお進めしにくい。
Python Cook Bookもいいけど、実践的なのと離れていて(まぁしょうがないが…)
初心者の人がサンプルとして見るんだったら、ちゃんと使えるの見たほうがいい。
(そういう意味では前者のがいい)お薦めは、getmailかなぁ。


58 名前:デフォルトの名無しさん[sage] 投稿日:02/12/04 00:08
>>46
Objects/listobject.cを見ればわかるが、
PythonのリストはCソースでは配列として実装されてる。
インデックスで参照する際はO(1)。
len()もO(1)。
要素の挿入は最悪O(N)。(ただしNは要素長)
末尾に対する結合はrealloc()していてO(1)。

59 名前:デフォルトの名無しさん[] 投稿日:02/12/04 00:55
質問させてください。

実は今リスト処理に困っています。
例えば
 
 ['2get','3','4']

というリストを

 ['2','get','3','4']

と数字と文字を分割したのですが、splitだとどうしても部分文字列になってしまいます
(出力結果:[['2','g','e','t'],'3','4'])
 
また下のようにスライスを使ってみたのですがうまくいきません(当然かもしれませんが…)

test= ['2get','3','4']
test[0]=test[0][0]+' '+test[0][1:]

どなたかアドバイスをお願いします!

60 名前:デフォルトの名無しさん[sage] 投稿日:02/12/04 01:10
何がしたいのか良くわかんないけど、
test=["2get","3","4"]
test[0:1]=[l[0][0],l[0][1:]]
これで良い?
ググるなら”スライスへの代入”でぜひ。

61 名前:デフォルトの名無しさん[sage] 投稿日:02/12/04 01:11
鬱だ。。。。
test=["2get","3","4"]
test[0:1]=[test[0][0],test[0][1:]]

62 名前:デフォルトの名無しさん[sage] 投稿日:02/12/04 01:23
しかも”スライスへの代入”でゲゲっても全然HITしないね。。
俺が悪かったよ。。

63 名前:デフォルトの名無しさん[] 投稿日:02/12/04 02:03
>>66
 ありがとうございます!
 助かりました!

 

64 名前:初心者[] 投稿日:02/12/04 02:19
1つの文字をアルファベットか数字かを見分ける関数っていうのはあるんでしょうか?

65 名前:>>64[sage] 投稿日:02/12/04 03:40
'a'.isalpha()
'1'.isdigit()
つーか「>>> help(type(''))」ぐらい汁!

66 名前:デフォルトの名無しさん[sage] 投稿日:02/12/04 06:59
メソッドの中から、上位クラスの同名メソッドを呼び出すのは
どう書けばいいのでしょうか?
Rubyでいうところのsuper()、CLOSでいうところのcall-next-method
をしたいのです。
一応、ParentClass.foobar(self, args) のようにすれば呼べるよ
うですが、selfを引数に書くのはダサイと思うので、もっといい書
き方が用意されているのではないかと思うのですが。


67 名前:デフォルトの名無しさん[sage] 投稿日:02/12/04 13:54
>Rubyでいうところのsuper()
これって多重継承したときとか、どう動くの?

68 名前:デフォルトの名無しさん[sage] 投稿日:02/12/04 14:28
>>67
多重継承はないけど、moduleをincludeしたときはそのクラスのすぐ上に入る。

module M; def foo; puts "M"; super; end; end
class B; def foo; puts "B"; end; end
class C < B; include M; def foo; puts "C"; super; end; end
C.new.foo # => C M B



69 名前:デフォルトの名無しさん[sage] 投稿日:02/12/04 15:57
>>66-68
俺の知る限りではpythonにそう言うのは無い。
unboundで、かつ値を返さないメソッドであれば次みたいにできる。
-----------------------
def super(self,meth):
 for par in self.__class__.__bases__:
  try:
   eval(par.__name__ +"()" + "." + meth + "()")
  except AttributeErrpr:pass

class A:
 def hoge(self):
  print "hoge"
class B(A):pass
class C:
 def hoge(self):
  print "moge"
class D(B,C):
 def hoge(self):
  super(self,"hoge")

d = D()
d.hoge()
----------------------
誰かフォローきぼんぬ

70 名前:デフォルトの名無しさん[sage] 投稿日:02/12/04 17:40
>>69
> class D(B,C):
>  def hoge(self):
>   super(self,"hoge")
>>66の「selfを引数に書きたくない」という要望には合わないと思うんだが。

71 名前:デフォルトの名無しさん[sage] 投稿日:02/12/04 17:48
だから無理だって。

72 名前:デフォルトの名無しさん[sage] 投稿日:02/12/04 18:50
>>69
2.2以降なら組み込みのsuper()があるわけだが。

・・・しかしドキュメントは殆どない、と(藁

メソッド内で
super(self.__class__, self).method(arg)
とかする(結局selfは書くが)。

http://python.org/2.2.2/descrintro.html#cooperation
http://python.org/doc/2.2.1/whatsnew/sect-rellinks.html#SECTION000330000000000000000
を参照(つーかぶっちゃけコレ位しかドキュメントねーし)。

2.2が出たときに、「syntaxが醜いから、後でsyntax suger用意するよん」
とか言ってたけど、2.3にはそんな予定はない模様。

73 名前:デフォルトの名無しさん[sage] 投稿日:02/12/05 00:47
>>69
def super(self,meth):
 for par in self.__class__.__bases__:
  try:
   eval(par.__name__ + "." + meth + "(self)")
  except AttributeError:pass

これでbound methodも動かない?試してないけど。

74 名前:デフォルトの名無しさん[sage] 投稿日:02/12/05 01:10
小数点で桁数を増やすことは出来ますか?
近似値の精度を比べたいときに、すぐ限界に達してしまって違いがわからなくなってしまいます。

75 名前:66[sage] 投稿日:02/12/05 01:14
>>69-72
そんなものはない、ということで了解しました。
あるに違いないと勝手に思っていたのですが、
そういうこともあるんですね。

組み込みのsuper()のsyntaxの改善を待つことにします。



76 名前:デフォルトの名無しさん[sage] 投稿日:02/12/05 01:31
>ParentClass.foobar(self, args)
これじゃだめなん?
結局、
class foo(bar,baz):
 def __init__(self,a,b,c,d):
  bar.__init__(self,a,b)
  baz.__init__(self,c,d)
みたいなことはsuper()じゃできないと思うんだけど。

77 名前:デフォルトの名無しさん[] 投稿日:02/12/06 03:52
質問です。

オープンするファイル("test.txt")が例えば 

tanaka 90 katou 80 yamada 70
としたら
file=open("test.txt","r")
file.readline()
file=file.split()

>>>['tanaka','90','katou','80','yamada','70']

になりますよね。
これを
[['tanaka','90'],['katou','80'],['yamada','70']]
上のように部分リストにしたいのですが、方法がよくわかりません…

すいませんがよろしくお願いします。

78 名前:>>77[sage] 投稿日:02/12/06 04:39
>>> n = ['tanaka','90','katou','80','yamada','70']
>>> zip([n[i] for i in range(len(n)) if i % 2 == 0], [n[j] for j in range(len(n)) if j % 2 == 1])1])

79 名前:78[sage] 投稿日:02/12/06 04:53
くぉ、余計な字が。
最期の「1])」は削除で。

80 名前:デフォルトの名無しさん[sage] 投稿日:02/12/06 05:09
http://www.reportlab.com/
ここの右の画像クリック。
http://www.reportlab.com/contrib/jmed.pdf

ナナシサソ is using our PDF library to create medical reports complete with images
and Japanese language text.
なんだそうです。
いきなり日本語が表示されていて、あせった。

81 名前:デフォルトの名無しさん[sage] 投稿日:02/12/06 11:53
>>80
http://www.python.jp/pipermail/python-ml-jp/2002-April/001354.html

82 名前:デフォルトの名無しさん[sage] 投稿日:02/12/06 19:47
test

83 名前:デフォルトの名無しさん[] 投稿日:02/12/07 04:32
PIL関連について質問。
画像ファイルをインポートしてそれのRGB値をとるんだけど
(作業しやすいようにTK使ってる)

import PIL.Image
import tkFileDialog

filename = ()
im =()

filename = tkFileDialog.askopenfilename()
if filename != "":
im = PIL.Image.open(filename)
print im.format, im.size, im.mode
im.thumbnail((256,256))
r,g,b = im.split()
print r,g,b

RGBの出力結果が
<PIL.Image.Image instance at 0x01A5EC00> <PIL.Image.Image instance at 0x01A60F10> <PIL.Image.Image instance at 0x01A60390>
になる。てっきり0〜255の値だと思っていた。

0x01A5EC00 からわかるとおり16進数なんだけど、これをどうやったらRGBの0〜255の値に変換できるんだろう…


84 名前:デフォルトの名無しさん[sage] 投稿日:02/12/07 05:44
>>83
<PIL.Image.Image instance at 0x01A5EC00> から分かるとおり、
r は、Image オブジェクトを参照してるんだけど。
試してないけど、こんな感じかな。
a = array.array('B')
r_array = a.fromstring(r.tostring())

85 名前:デフォルトの名無しさん[] 投稿日:02/12/07 15:21
Hostsentry使ったことある人いないすか?
FreeBSDで動かそうにも起動メッセージが表示されなくて
誰か教えて下さい!

86 名前:デフォルトの名無しさん[sage] 投稿日:02/12/08 17:55
このページ ( http://www.unixuser.org/~euske/doc/python/python-lisp-j.html ) にある
x.slot = y
ってなんですか?
slot を探しても見つからなかったのですが。

87 名前:デフォルトの名無しさん[sage] 投稿日:02/12/08 18:58
hogeのことかと。

88 名前:デフォルトの名無しさん[sage] 投稿日:02/12/08 23:05
なぜsageで質問を?

slot というのはオブジェクトのスロットのことでしょ。
別のよく知られた方言でいうとメンバ変数。

「メンバ変数 "slot" にアクセスしたいときは x.slot と書く」という意味。


89 名前:デフォルトの名無しさん[] 投稿日:02/12/09 04:46
Windows上でクリップボードにアクセスするには,
どうすればいいんでしょうか?

MacPythonではScrapとかいうのを使用してるようですが,
Windows用のPythonにも同じようなものがあるんでしょうか?


90 名前:デフォルトの名無しさん[sage] 投稿日:02/12/09 11:07
>>89
重複糞スレageるな

91 名前:デフォルトの名無しさん[sage] 投稿日:02/12/09 13:37
あっ、スレ奉行様だ!


92 名前:デフォルトの名無しさん[sage] 投稿日:02/12/09 18:03
>>88
「メンバ変数 」のことでしたか。
slot という表現はPython で一般的な表現ですか?
それとも lisp 系の方言なのですか?

93 名前:デフォルトの名無しさん[sage] 投稿日:02/12/09 18:20
みなのもの、控えーい
重複スレッドだからこれ以上書き込むでない
いや、マジで

94 名前:デフォルトの名無しさん[] 投稿日:02/12/10 16:10
AGE

95 名前:デフォルトの名無しさん[] 投稿日:02/12/10 16:11
  .,,
   \ヽ--___
    \   丶---ヽ___
     .゙\ ク      ~~>     クソスレに認定されました
      \   ソ   /
       .\     ノ
         \  /
          .\/
           .\
            \
             .\
              ,,\
              .″ ゙》
            __., イ,, 》li,_
          ill! i;l;lllllz,lll;lllllll;lllllly
          .:llllllll;llllllllllll;;ll;||llllllllll}
          .il||l|lllllllllllllll|《lllll|lly《アlz     .、  zz,、
          ._ノレ;llllllll|;llllllliilllllllllllllllllllllyuyll;ミミ″ .''゙゙∨
         」lllllllllllllllllllllllllllllllllllllllllll   ゙巛,厶yyv》llll!
        {lllllllll厂lllllllll|》lllllllllllllllly、   ,illllllllllllllllli;;ll|y         .、.,,_
        《;|《llllll;lllli;llllllll;|lllllllllllllllllll|lli. .zllllllll;《lll|《lllllllllllllllizy,lllz.  _yyyyr|》
,u,,_       .rlllllllllllllllllllllllllllllll厂リllllリlll!,」llllll「リll;lllllll;;llllllllllllllllllll;||lllllllllllllll;lllllllll
l;lll;l;yu.,,lllz:.;..:villlllllllllllllllllll|》llllllll| uilllll|illlllノ|ll|゙」zyllllll;ll|;lllllllllll;l|リllllllllllll;llllllllllllllllllll
lll|!illlllllllll|ll|i;llllllllllllllllllllllllllllilllllllllllllllllllllllllllllll|lllll|,|lllllllllllllll|》;ll《|「.vuilllll|《liiilll|フ《llllllll
lllllllllllllllllllllllll|《lllllllllll;;llllllllllllllll;llllllllllllllllllllll|)|《;lllllllllllllllllllllllllllllllll;lll;lllll;》([;lllllllllllllllllll

96 名前:デフォルトの名無しさん[] 投稿日:02/12/10 16:14
  .,,
   \ヽ--___
    \   丶---ヽ___
     .゙\ ク      ~~>     クソスレに認定されました
      \   ソ   /
       .\     ノ
         \  /
          .\/
           .\
            \
             .\
              ,,\
              .″ ゙》
            __., イ,, 》li,_
          ill! i;l;lllllz,lll;lllllll;lllllly
          .:llllllll;llllllllllll;;ll;||llllllllll}
(省略されました・・全てを読むにはここを押してください)

97 名前:デフォルトの名無しさん[sage] 投稿日:02/12/16 15:29
ここまだ書きこめる?

98 名前:デフォルトの名無しさん[sage] 投稿日:02/12/18 11:23
まだまだ。


99 名前:初心者[] 投稿日:02/12/19 02:38
お久しぶりです。

また質問です。それも簡単な割り算の質問ですいません…
pythonでは割り算をした時、結果の答えで小数点以下は切り捨てになります。
小数点を切り捨てられずに結果を得る方法はありませんか?

a=1
b=2
c=a/b
print c # 0.5が欲しいのに、0と出力されてしまう…

本などを見て、

c=float(a/b)
としてみても、やはり結果は同じでした…

100 名前:デフォルトの名無しさん[sage] 投稿日:02/12/19 02:47
>>99
> a=1
> b=2
> c=a/b
> print c # 0.5が欲しいのに、0と出力されてしまう…
> 本などを見て、
> c=float(a/b)
> としてみても、やはり結果は同じでした…

>>> a = 1
>>> b = 2
>>> a = float(a)
>>> c = a/b
>>> c
0.5

あるいは、

>>> a = 1
>>> b = 2
>>> c = float(a)/b
>>> c
0.5

101 名前:デフォルトの名無しさん[sage] 投稿日:02/12/19 02:49
c=float(a)/b

102 名前:101[sage] 投稿日:02/12/19 02:53
なんか、2分遅れただけで、
すげー虚しいな・・・

ついでに、
>>> c = a/float(b)
>>> print c
0.5

でも、いける。

103 名前:初心者[] 投稿日:02/12/19 02:59
す、すいません、

1を1.0に、2を2.0にすればいけるようです。
でもこれ面倒だな…。特に面倒なのはユーザーから値を受け取った時に、わざわざ『.0』を付け直さなきゃならないってことでしょうか
(質問の内容を変えて)何かイイ関数ってないものなんでしょうか?

104 名前:名称未設定[sage] 投稿日:02/12/19 08:09
>>103
from __future__ import division
って打ったあと除算してみて。
整数同士の演算でも小数点以下まで計算される。

除算の演算子はPython2.2以上では二つある。
/ と //
しらべてみて。


105 名前:デフォルトの名無しさん[] 投稿日:02/12/23 03:35
Tkinterの和訳チュートリアルってないんでしょうか?
Programming Language Python というサイトにあるらしいのですが、行ってみたらデリってたみたいで行けません。

↓Programming Language Python
http://galaga.jaist.ac.jp:8000/~mfujisa/python/index-jp.html


106 名前:デフォルトの名無しさん[] 投稿日:02/12/23 05:45
pythonやvpythonで作られた3Dのturtle graphicsってないですか?
海外のMLを調べたら「ずーーーーと前に見た」とあったので、どこかに存在するらしいんですけど…


107 名前:名称未設定[sage] 投稿日:02/12/25 08:11
>>106
Pythonには標準でturtleってモジュールはいってるけどこれではだめ?
3Dにするのはこのモジュール利用してできんかな。

>>105
今はない。ロストした模様。
英語で読んでもそれほどむずかしくはない。
http://www.pythonware.com/library/tkinter/introduction/index.htm

108 名前:デフォルトの名無しさん[] 投稿日:02/12/29 01:23
Pythonでファイルを移動するにはどうすればいいんですか?
copy や rename は見つけたのですがmoveがどこにあるのかわかりません。

109 名前:デフォルトの名無しさん[sage] 投稿日:02/12/29 02:17
import os
os.system("mv a b")


110 名前:デフォルトの名無しさん[] 投稿日:02/12/29 02:31
>>108
os.renameで良いんじゃない?
それか>>109の方法で

111 名前:デフォルトの名無しさん[sage] 投稿日:02/12/29 03:03
>>110
108 じゃないけど、今まで copy をしたあと、 os.remove していた、、、
os.rename でよかったのね、、、

112 名前:108[] 投稿日:02/12/29 03:43
ありがとうございます。
os.rename は2番目の引数がディレクトリだとエラーなので
そのあたりを適切に取り繕ってくれるこんな感じの関数が
どこかに用意されているのなら、使ってないと恥ずかしいかなって思ったんです。
def move(src, dst):
if os.path.isdir(dst):
os.rename(src, dst+'/'+os.path.basename(src))
else:
os.rename(src, dst)


113 名前:108[] 投稿日:02/12/29 03:46
タブが消えてる(;д;)

114 名前:デフォルトの名無しさん[sage] 投稿日:02/12/30 16:14
ドキュメント和訳Pの成果物って公開されてないの?
昔はtut_jaとかがPyJUGのトップから見れる位置に有った気がするけど。。

115 名前:デフォルトの名無しさん[sage] 投稿日:02/12/30 17:12
>>114
ある程度まとまった量になったらするんじゃない?
いつまでもしないならプロジェクトへ直接催促。

116 名前:デフォルトの名無しさん[sage] 投稿日:02/12/30 21:31
催促なんかしやがったら頃すぞ。タコ部屋に放り込んで死ぬまで
翻訳漬けにしてやる。


117 名前:デフォルトの名無しさん[] 投稿日:03/01/01 17:14
http://www.python.org/2.3/
Python 2.3a1 was released on Dec 31, 2002 (in some timezones :-).

118 名前:デフォルトの名無しさん[sage] 投稿日:03/01/01 17:43
2.3a1ってfrom __future__しなくて良くなった以外に何が変わったの?

119 名前:デフォルトの名無しさん[sage] 投稿日:03/01/01 18:15
>>118
> 2.3a1ってfrom __future__しなくて良くなった以外に何が変わったの?

What's New in Python 2.3
http://www.python.org/doc/2.3a1/whatsnew/

release notes
http://www.python.org/2.3/NEWS.html


120 名前:デフォルトの名無しさん[] 投稿日:03/01/01 21:31
>>119
日本語に訳せよばか!


121 名前:デフォルトの名無しさん[] 投稿日:03/01/01 22:45
なんだよ!
スクリプトファイルに日本語書いたら変になっちゃったじゃないかよ!
ムネオタン、責任とって説明しれくれさい!


122 名前:デフォルトの名無しさん[sage] 投稿日:03/01/02 00:12
これいいかも。
Extended slices - the standard sequence types (string, list etc.) now support extended slices.
             Cute: s[::-1] reverses a string.
ていうかどっかで見かけた話題?

123 名前:デフォルトの名無しさん[] 投稿日:03/01/02 10:35
ムネオ短!
はやく教えてよ!
日本語使えないよ!


124 名前:デフォルトの名無しさん[] 投稿日:03/01/02 19:58
はやく!


125 名前:デフォルトの名無しさん[] 投稿日:03/01/02 21:03
まあもちつけ。皆が忘れた頃に遅レスするのがムネオ流だろ。呼んでも無駄だ。
そんなことより喪前の方こそ何がどう変になったのかもっと具体的に説明しる。

126 名前:デフォルトの名無しさん[sage] 投稿日:03/01/02 22:07
前から気になってたんだけど、
ムネオって誰のことなの?
某MLの鈴○先生が2chに来た事有るとか?

127 名前:デフォルトの名無しさん[sage] 投稿日:03/01/02 23:44
鈴○先生を応援したい漏れは…。だって、UTF-8 って最近増えてないか?
XML とか Microsoft 関連とか。win32 API なんかで sjis も必要なのは
わかるんだけど…エディタを utf-8 にして出力時にプラットフォームに
応じて変換すれば(面倒なのは認める)そんなに困らないと思うが何か?

128 名前:デフォルトの名無しさん[sage] 投稿日:03/01/02 23:45
ム、ム、ムネオたーーーーーーーーーん

129 名前:デフォルトの名無しさん[sage] 投稿日:03/01/03 00:03
>>127
UTF-8 使うこと自体には、別に問題ないと思う。
ムネヲたんがうざがられるのは、
SJIS や EUC なんかが存在しない・需要がない・必要がないかのような前提から、
議論をスタートさせるからではないかと。

130 名前:デフォルトの名無しさん[sage] 投稿日:03/01/03 12:35
他人の意見を聞かないでひたすら自説まくし立てるだけだから、
そもそも議論が成立しない。

131 名前:デフォルトの名無しさん[] 投稿日:03/01/03 16:48
ムネオ短!!!
はやく教えて!

おらはムネオFANだよ!

お前は敵だ!氏ね>>130


132 名前:デフォルトの名無しさん[sage] 投稿日:03/01/03 17:56
そこまで言われるとは、一体過去に何があったのか…。
ちょっと python-ml-jp のアーカイブ読んでみようっと。

133 名前:デフォルトの名無しさん[sage] 投稿日:03/01/03 21:50
読んでみた。なんというか、殺伐としていた。
> SJIS や EUC なんかが存在しない・需要がない・必要がないかのような
そーか? utf-8 イイ! ってだけじゃない?意地の PEP0263 サンプル実装
だって coding 指定ない場合は過去の Python と互換性ありなんでしょ?
みんなそんなに怒らなくてもいいじゃん…。

134 名前:デフォルトの名無しさん[sage] 投稿日:03/01/03 22:14
>>133
漏れ的に業腹なのは「正統」という言葉の使い方。
自分の主観で勝手に正統とか正統でないとか決めないで欲しい。
知識も技術も見るべきところがたくさんあるのに、実に惜しい。

135 名前:デフォルトの名無しさん[sage] 投稿日:03/01/03 22:24
漏れは全然気にならないんだけど、気になる人もいるのか。技術的な話以外は
どーせ主観が入るんだからいーじゃーねーか。殺伐とする前に
「ま〜マターリいこうや」とかならないのが ML のつらいところ。

136 名前:デフォルトの名無しさん[sage] 投稿日:03/01/04 00:14
 ∧ヘ∧∧ヘ∧∧ヘ∧
< ぱいそん〜〜〜!>          |だからスレ違いだっつーの!
 VwVVWvwVwVVW     ┏━∧ ∧└─y─────────
  ∧_∧   ∧_∧__ ┃ (゚Д゚#,)
 ∩ ゚∀゚ ∩ ∩ ゚∀゚ ∩\ ┗ ⊂   ヽ
 ヽ    /  ヽ    /  \===丶| ̄ ̄ ̄|
 | ̄ ̄ ̄|∬∬| ̄ ̄ ̄|  |   (│    │
 | FMV..|旦旦| FMV | ̄\  ⊆|     |
 =======   =======   \

137 名前:デフォルトの名無しさん[sage] 投稿日:03/01/04 14:07
2.3a1、Windowsバイナリにloggingパッケージ入ってない・・・一番欲しかったのに・・・。
後でソース玉の方見たら入ってたからいいけど。

138 名前:デフォルトの名無しさん[sage] 投稿日:03/01/04 19:22
>>135
ムネオたん、ハケーン

139 名前:デフォルトの名無しさん[] 投稿日:03/01/04 21:46
おいは断固ムネオ師事!


140 名前:135[sage] 投稿日:03/01/04 21:46
ちがうって…では証明してみせよう。え、匿名掲示板でそんなことできるの
かって?できるんですよ。この場合はね。
「utf-8 逝ってよし、utf-8 逝ってよし!!」

141 名前:デフォルトの名無しさん[sage] 投稿日:03/01/04 21:55
おまえらみんな氏ね

142 名前:デフォルトの名無しさん[質問age] 投稿日:03/01/05 01:47
pythonで、httpから何か(たとえばtxt)をダウンロードしたいんで
方法を教えてください。もしくは解説サイトを教えてください。お願いします。

143 名前:デフォルトの名無しさん[sage] 投稿日:03/01/05 01:55
>>142
1. ライブラリマニュアルを一字一句暗記。
2. 首をつる。
3. 氏ぬ。

144 名前:デフォルトの名無しさん[sage] 投稿日:03/01/05 02:41
>>142
役立たずの143に代わって漏れがマジレスしてやゅ。

import urllib

file = urllib.urlopen(URL)

とやると URL の内容を普通のファイルオブジェクトと同様に扱える。
http: 以外に ftp: や file: などの URL も指定できる。

おまけ:2ちゃんねるの subject.txt なんかは gzip 圧縮されて届く。
以下のように gzip モジュールを使って展開してやるとよい。

import urllib
import gzip
import StringIO

def open_url(URL):
  file = urllib.urlopen(URL)
  if file.info().get("Content-Encoding") == "gzip":
    file = gzip.GzipFile(fileobj=StringIO.StringIO(file.read()))
  return file

urllib, gzip, StringIO の各モジュールの詳細についてはライブラリ
リファレンスを参照。http://www.python.org/doc/

145 名前:デフォルトの名無しさん[sage] 投稿日:03/01/05 04:41
144イイヒト!


146 名前:デフォルトの名無しさん[sage] 投稿日:03/01/05 11:10
>>144
親切にサンクス!!
そそ。冬休み暇だから2ちゃんねるブラウザ作ろうと思ったの。
おまけサンクス!

147 名前:役立たずの143[sage] 投稿日:03/01/05 11:20
まあそんな調子じゃ完成しないでしょうね。

148 名前:デフォルトの名無しさん[sage] 投稿日:03/01/05 12:06
>>147
まだいたのか…
そうそう、俺書き込みが困難だってことはなんとなく知ってるから。
それ以外作る。

149 名前:役立たずの143[sage] 投稿日:03/01/05 12:49
煽って悪かった。期待してるよ。いやマジで。がんがってくれ。

150 名前:デフォルトの名無しさん[sage] 投稿日:03/01/05 15:51
ぱいそんスレでも、誰かブラウザ作ってるって言ってたよね。
自分も、作ろうかなーなんて思ってるんだけど、コードレビューしてくれます?

151 名前:デフォルトの名無しさん[sage] 投稿日:03/01/05 16:10
ガンガンUPしる!

152 名前:1/3[sage] 投稿日:03/01/05 18:38
#!/usr/bin/env python
# http://pc3.2ch.net/test/read.cgi/tech/1036892546/

import getopt
import os
import re
import string
import sys

if os.sep == "/":
  SPACE = "\xa1\xa1" # EUC-JP
else:
  SPACE = "\x81\x40" # Shift_JIS

USAGE = """\
Usage: %s [options] [file ...]
Options:
-t, --tabify convert white space into full-width space (default)
-u, --untabify convert full-width space into white space
-h, --help show this message
"""

def main():
  try:
    options, args = getopt.getopt(sys.argv[1:], "htu", [

153 名前:2/3[sage] 投稿日:03/01/05 18:38
      "help", "tabify", "untabify"])
  except getopt.error, e:
    sys.stderr.write(str(e) + "\n")
    sys.exit(1)
  convert = tabify
  for opt, val in options:
    if opt in ["-t", "--tabify"]:
      convert = tabify
    elif opt in ["-u", "--untabify"]:
      convert = untabify
    elif opt in ["-h", "--help"]:
      sys.stderr.write(USAGE % os.path.basename(sys.argv[0]))
      sys.exit(0)
  if not args:
    args = ["-"]
  for filename in args:
    try:
      if filename == "-":
        file = sys.stdin
      else:
        file = open(filename)
      while 1:
        line = file.readline()
        if not line:
          break

154 名前:3/3[sage] 投稿日:03/01/05 18:39
        sys.stdout.write(convert(line))
      if file is not sys.stdin:
        file.close()
    except IOError, e:
      sys.stderr.write(str(e) + "\n")

def tabify(s, re_hankaku=re.compile("^[ \t]+")):
  return re_hankaku.sub(to_zenkaku, s)

def untabify(s, re_zenkaku=re.compile("^(%s)+" % SPACE)):
  return re_zenkaku.sub(to_hankaku, s)

def to_zenkaku(m):
  return string.replace(string.replace(m.group(), "\t", " "), " ", SPACE)

def to_hankaku(m):
  return string.replace(m.group(), SPACE, " ")

if __name__ == "__main__":
  main()

155 名前:デフォルトの名無しさん[sage] 投稿日:03/01/05 18:41
>>152-154
2chにスクリプトをコピペするとインデントが消えてしまうんで
行頭の空白文字を全角スペースに置換するスクリプトを作ってみた。
よかったら使ってほすぃ。改造、流用、再配布はご自由に。

tabify.py input.py > output.txt コピペ用のテキストに変換
tabify.py -u input.txt > output.py 元のスクリプトに戻す

ちなみに上のコピペは全角スペースに置換されている。
最初だけテキストエディタの置換機能か何かで半角スペースに戻す
必要がある。“unzip.zip”状態でスマソw

156 名前:155[sage] 投稿日:03/01/05 18:54
ああ、文字列の中の空白文字が1個ずつになってる・・・(´д`;)
   :
  return string.replace(string.replace(m.group(), "\t", " "), " ", SPACE)
   :
  return string.replace(m.group(), SPACE, " ")
   :
最初の " " は半角スペース4個、あとの二つの " " は半角スペース2個でつ。
やっぱ2chにスクリプトのコピペは無謀か。。。=□○_

157 名前:デフォルトの名無しさん[sage] 投稿日:03/01/05 19:33
>>152
sf なり、フリーのウェブサイトを用意したら?
ここに貼り付けるのではなく。

158 名前:150[sage] 投稿日:03/01/05 20:06
またーり、おねがいします
http://www.geocities.co.jp/SiliconValley/5174/

159 名前:デフォルトの名無しさん[sage] 投稿日:03/01/05 20:17
キタ━━━━(゚∀゚)━━━━ッ!!

160 名前:デフォルトの名無しさん[] 投稿日:03/01/05 20:47
>>158
linuxでも動いたよ。
フォント着ちゃないけど。


161 名前:デフォルトの名無しさん[sage] 投稿日:03/01/05 20:55
Tkinterかぁ、、、
GUI関連で将来は苦労しそう。

162 名前:デフォルトの名無しさん[sage] 投稿日:03/01/05 21:24
Red Hat Linux 7.3, Python 2.2, Pmw 1.1, JapaneseCodecs 1.4.9, Tcl/Tk 8.3.4
という環境で試しますた。

>>160 フォントはこれできれいになった。AAも完璧!(・∀・)イイ!   font=("MS PGothic",12)
 → font="-mona-gothic-medium-r-normal--14-130-75-75-p-140-jisx0208.1990-0"

   Pmw.ScrolledListBox.__init__( ... )
追加 self._listbox.config(font="k14")

   self.config(relief=Tk.SUNKEN, height=1, anchor=Tk.W)
 → self.config(relief=Tk.SUNKEN, height=1, anchor=Tk.W, font="k14")

それと、漏れの環境ではなぜか insert() するとき明示的に UTF-8 にしてやらないとだめぽ。

   self.insert(Tk.END, category.name)
 → self.insert(Tk.END, category.name.encode("utf-8"))

それぞれ似たような修正点が複数ヶ所あるけど割愛。

163 名前:デフォルトの名無しさん[] 投稿日:03/01/06 11:28
diffしる!


164 名前:デフォルトの名無しさん[sage] 投稿日:03/01/06 11:43
このスレの連中、キモい

165 名前:デフォルトの名無しさん[sage] 投稿日:03/01/06 13:36
だれかPmwの良サイトおしえて

166 名前:デフォルトの名無しさん[sage] 投稿日:03/01/06 13:37
>>162
>漏れの環境(中略)UTF-8
BeOSですか?

167 名前:デフォルトの名無しさん[sage] 投稿日:03/01/06 13:38
>>165
>>158からたどれるだろ。

168 名前:デフォルトの名無しさん[sage] 投稿日:03/01/06 21:37
どなたかsubject.txtの落とし方を教えてくだせえ。


169 名前:162[sage] 投稿日:03/01/06 22:20
>>163
diffだと長かったんで。

>>168
>>144の方法じゃダメなの?

170 名前:デフォルトの名無しさん[sage] 投稿日:03/01/06 22:29
>>166
赤帽7.3をBeOSと誤読するヤシも珍しいなw

171 名前:162[sage] 投稿日:03/01/06 23:02
ちょっと訂正。モナフォントは16ドットのものを使う方がいいみたい。
AAのズレがほとんどなくなる。フォント名はコレ↓
-mona-gothic-medium-r-normal--16-150-75-75-p-160-jisx0208.1990-0

ついでにいくつか要望を。

(1) title だけじゃなく iconname も設定してホスィ。

  self.title("KittyWalk")
  self.iconname("KittyWalk") # 追加

(2) コデックは sjis じゃなく ms932 の方がヨサゲ。機種依存文字が〓にならずに済む。

(3) 大型のAAが悲しいことになるので行末の折り返しを無効にできるようにしてホスィ。
漏れはこんな風にしてみた。

class GUI(Tk.Tk):
  def toggle_word_wrap(self): # 追加
    self.message_view.toggle_word_wrap()

class MessageView(Pmw.ScrolledText):
  def toggle_word_wrap(self): # 追加
    if self._textbox["wrap"] == Tk.NONE:
      self._textbox.config(wrap=Tk.WORD)
    else:
      self._textbox.config(wrap=Tk.NONE)

class MenuBar(Tk.Menu):
  def build(self):
    bbsmenu.add_command(label="Toggle word wrap",
      command=self.master.toggle_word_wrap) # 追加

172 名前:162[sage] 投稿日:03/01/06 23:03
(4) 実体参照は片っ端からUnicodeに直してホスィ。これも実装例を挙げとく。
スレタイトル中の実体参照も同じように変換する必要があると思われ。

  def render_message(self, message):
     :
    # 以下のように変更
    for old, new in [(u"<br>",u"\n"),
             (u"<BR>",u"\n"),
             (u"<a .*?>",u""),
             (u"</a>",u""),
             (u"&#?[A-Za-z0-9]+;", self.replace_entref)]:
      text = re.sub(old, new, text)
  # 以下、追加
  import htmlentitydefs
  entity_dict = {}
  for k, v in htmlentitydefs.entitydefs.items():
    if v[:2] == "&#" and v[-1] == ";":
      v = unichr(int(v[2:-1]))
    else:
      v = unicode(v, "iso-8859-1")
    entity_dict[u"&%s;" % k] = v
  def replace_entref(self, match):
    key = match.group()
    if key[1] == u"#":
      return unichr(int(key[2:-1]))
    return self.entity_dict.get(key, key)

173 名前:デフォルトの名無しさん[sage] 投稿日:03/01/07 01:36
http://mail.python.org/pipermail/python-list/2003-January/137346.html
Subject: Displaying and Inputting Japanese
わかる人いたら、だれか答えてあげて


174 名前:デフォルトの名無しさん[sage] 投稿日:03/01/07 02:26
>>173
蟻さん、Martinに撃沈されちゃった?w
彼の口調は相変わらず厳しいなあ。

175 名前:168[sage] 投稿日:03/01/07 07:19
>>169
いや、肝心のsubject.txtのURLがわからんのでだれか教えてくさい。

176 名前:デフォルトの名無しさん[sage] 投稿日:03/01/07 07:32
>>175
http://pc3.2ch.net/tech/subject.txt

177 名前:デフォルトの名無しさん[sage] 投稿日:03/01/07 09:53
http://pc3.2ch.net/tech/dat/1036892546.dat

178 名前:デフォルトの名無しさん[sage] 投稿日:03/01/07 17:13
>>150
datをダウソするときに必要な量だけダウソするようにしてはどうか?
(CookBookにヒントが載ってる)


179 名前:150 ◆ismFPlKHko [sage] 投稿日:03/01/07 22:38
>>162
どうもありがとうございます。
ちょこちょこ取り込んでいってまして、これからhtmlentitydefs を調べてみます。
こんなのあったのか。

>>178
要望リストにいれときます。あぼーん記事の判別に苦戦しそうですが。

180 名前:デフォルトの名無しさん[sage] 投稿日:03/01/07 23:25
>>179
このスレはちゃんと読んだ?

monazilla Part 3
http://pc3.2ch.net/test/read.cgi/tech/1012544484/

181 名前:150 ◆ismFPlKHko [sage] 投稿日:03/01/07 23:34
>>180
ちゃんと読んでなかったです。

182 名前:デフォルトの名無しさん[sage] 投稿日:03/01/08 00:20
>>176
ありがと。何とかできそうだよ。ウンコ以下だけど。

183 名前:162[sage] 投稿日:03/01/08 18:34
kittywalk20030108出たよ。期待してるのでちと辛めのツッコミを。

・True を使ってるから Python 2.3a1 でないとダメポ。仕様?

・~/.kittywalk/config がデフォルト設定で上書きされる。たぶんバグ。

・実体参照の置換処理に re.sub() を使わないのはなぜ?
パフォーマンスが全然違うよ。それと、実体参照の正規表現が
&#?[A-Za-z0-9]+?; になってるけど二つ目の ? は要らなくない?

・んなこた分かってると言われるのを覚悟で書くと、
match = re.search(u"&#?[A-Za-z0-9]+?;", text[start:])
text[start:] のような部分文字列を作る処理は重いのでできるだけ
避けた方がいい。この場合は re.search(regexp, text, start) と書く。

はっきり言って Python は新しい文字列オブジェクトを作る処理が重い。
先回りしとくと text += substring のような処理も同様。部分文字列を
いくつも連結するような処理はリストに append して後で join する方が軽い。

・re.match() や re.search() は呼び出されるたびに正規表現文字列を
コンパイルする。何度も使う正規表現は re.compile() で予めコンパイル
しておく方が効率がよい。

漏れは蛇使いとしては古参の部類に入ると思うんで最近のバージョンの
パフォーマンスの改良には疎い。まあ話半分で聞いてくれ。

184 名前:デフォルトの名無しさん[sage] 投稿日:03/01/08 19:30
Trueは2.2.2にもあったりする・・・が中身は、
True, False = 1, 0
だったり。
2.3ではちゃんとboolクラスのインスタンスリテラルなんだが。

Pythonバージョンのバージョン調べて(sysモジュールな)
上のコード追加すりゃなんとかなりそうな。

185 名前:デフォルトの名無しさん[sage] 投稿日:03/01/08 19:42
"&amp;(#([0-9]+|[xX][0-9a-fA-F]+)|[a-fA-F][a-fA-F0-9]*);"
の方が正確だけど複雑すぎるか>実体参照

186 名前:デフォルトの名無しさん[sage] 投稿日:03/01/08 21:02
LinuxでのPmwのインストールの仕方を教えてください。
マニュアルを見ましたが、よくわかりません。


187 名前:IP記録実験[IP記録実験] 投稿日:03/01/08 21:49
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。

188 名前:デフォルトの名無しさん[sage] 投稿日:03/01/08 22:40
>>186
cd /usr/lib/python2.2/site-packages
tar zxf ~/Pmw.1.1.tar.gz

189 名前:150 ◆ismFPlKHko [sage] 投稿日:03/01/08 23:54
>>183
>・True を使ってるから Python 2.3a1 でないとダメポ。仕様?
>>184 で書かれているように、True, False が定義されていないければ、
True, False = 1, 0 するようにしてみます。

>・実体参照の置換処理に re.sub() を使わないのはなぜ?
>パフォーマンスが全然違うよ。それと、実体参照の正規表現が
...
>text[start:] のような部分文字列を作る処理は重いのでできるだけ
...
>コンパイルする。何度も使う正規表現は re.compile() で予めコンパイル
>しておく方が効率がよい。
大きい dat ファイルを処理するときに、
ものすごく時間がかかっている気がするので、
このあたりを参考にします。

>>185
>"&(#([0-9]+|[xX][0-9a-fA-F]+)|[a-fA-F][a-fA-F0-9]*);"
>の方が正確だけど複雑すぎるか>実体参照
"&#?[A-Za-z0-9]+;" で引っかかった文字列が、
実体参照の辞書で定義されていなければ、放置するので、
大丈夫かなぁ、と楽観的に考えています。
正確じゃないと、気持ち悪いでしょうか>みなさま

Monazilla.org からリンクされててビクーリ。
先にダウンロードまわりを手直しします。


190 名前:デフォルトの名無しさん[sage] 投稿日:03/01/09 02:29
>>610
ポイズン

191 名前:デフォルトの名無しさん[sage] 投稿日:03/01/09 03:14
今日の晩飯はなんだろうか?



192 名前:デフォルトの名無しさん[sage] 投稿日:03/01/09 03:57
諦めな。

193 名前:デフォルトの名無しさん[] 投稿日:03/01/09 11:06
>>191
スパムスビ


194 名前:デフォルトの名無しさん[a] 投稿日:03/01/09 12:00
>>1のID

195 名前:184[sage] 投稿日:03/01/09 13:12
>>189
> "&#?[A-Za-z0-9]+;" で引っかかった文字列が、
> 実体参照の辞書で定義されていなければ、放置するので、
> 大丈夫かなぁ、と楽観的に考えています。
あ、そういうことなら無駄に複雑にする必要はないですね。

あちしも期待しております、がんがってください。

196 名前:デフォルトの名無しさん[sage] 投稿日:03/01/09 13:14
>>184==>>185です。
ついでに184のアホtypoは見なかったことにして下さい(汗)

197 名前:デフォルトの名無しさん[sage] 投稿日:03/01/09 15:55
Monazilla.orgってありがた迷惑だな。


198 名前:デフォルトの名無しさん[sage] 投稿日:03/01/09 18:24
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

199 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 00:11
記録実験をトップニュースにする程公共性があるのかと小一時間問い詰めたい。
あとニュースなんだからちゃんと「IPアドレス」って書け。
なんか投票までやってるし。

200 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 01:46
documancer

201 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 09:00
なんか賛成票の妙な伸び方が組織票っぽいんだよな・・・
もしかして企業とかが・・・なんてね(^^)

みんなアクセスログなんて言葉聞いたこともないよな?

202 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 09:38
ありました。
http://linux.ascii24.com/linux/linuxmag/update/
ってか今朝UPされた?

203 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 10:21
>>148
へぇー、結構多いね

204 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 10:59
けんすうさん。

痛々しい事はいいです(ていうか見てるこっちが辛い)

 今用件を伝えますから電話しましょう。
 ずばっと出て下さい

 度量の小さい人は無理だろ、か。

205 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 11:29
私も復帰しました。生で。
小一時間ダメだったんだが、まあいいか。

206 名前:162[sage] 投稿日:03/01/10 11:50
>>189
kittywalk20030110a (・∀・) イイ!スレの表示速度が速くなって快適っす。
ところでブックマークのスレタイトルにレス数が入るのは仕様ですか?
ブックマーク追加時のレス数のまま更新されないみたいなんですが。

207 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 11:55
どれがまじめなレスで、どれがコピペで、どれがネタなのかわからない。

208 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 12:16
2chもそう長くは存続できまい。
ここにくるだけ無駄だってことがわかった。
皆も早くほかのことに興味を持とうな。

では、さようなら

209 名前:デフォルトの名無しさん[] 投稿日:03/01/10 12:35
pythonでポインタ使えないの?
木構造を実現したいのだが、ポインタのやり方がわからん

210 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 12:36
>>410
ああ、まったくだ

211 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 12:45
>>915
他の場所に書いてあったが、下手すりゃ人生が変わる覚悟をしてまでそこまで
やる奴がどれ位いるか。
ただでさえ告発者が叩かれる国なのに。

212 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 12:45
>>209
Pythonじゃ全オブジェクトがポインタみたいなもん(つーか参照)だから、
class node:
  def __init__(self, c=None, l=None, r=None):
    self.c = c
    self.l = l
    self.r = r
a = node(1, node(2), node(3, node(4)))
a.l.r = node(5)
print a.r.l.c
とか、C/C++のように、アドレスとかアドレスの指している先とかは
考えなくても、単に代入と参照でOKでしょ?

213 名前:150 ◆ismFPlKHko [sage] 投稿日:03/01/10 13:07
>>206
> ところでブックマークのスレタイトルにレス数が入るのは仕様ですか?
その事実に気づいていなかっただけです。次のバージョンで直しておきます。
文字列処理の無駄を省くのも、次回で。

214 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 14:58
トオルたん、救急車の用意は?

215 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 15:43
>>212
ネタにマジレスでわ?
ちょっと前にも別のスレで「pythonに構造体はないの?」
とか書きこんで「クラスか辞書使えば?」とか言われても
「じゃあpythonには構造体がないんですね、構造体がない
言語なんてクソですね」みたいなネタがあったけど。

216 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 15:48
ネタにマジレスじゃなくて自作自演だったのね。。。
手の込んだあらしかたするねぇ。。。。ハァ

217 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 16:27
へ? 大阪?

218 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 21:36
Pythonの弱点、ポインタが使えない!

219 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 22:50
遂にというか、何と言うか



220 名前:デフォルトの名無しさん[sage] 投稿日:03/01/10 22:57
IPとられることが怖いやつが、こんなにいるなんて信じられん!!マンコとかく勇気すら無いやつは2chにいらんだろう!!

221 名前:162[sage] 投稿日:03/01/10 23:33
>>213
あ、厭味に聞こえたらゴメン。仕様でもいいかなと思ったので。
Update board menu みたいな方法で更新をかけて未読レスがあったら
新しいレス数と一緒にスレタイトルを色付きで表示、とかやってくれると
嬉しいかも。

222 名前:デフォルトの名無しさん[sage] 投稿日:03/01/11 00:13
フシアナをハンドルにしてるハン板の顰蹙コテがいて、
これが2CHにVirus Scriptやらブラクラやらを貼ったことを自慢した揚げ句、
別のコテハンがフシアナして挑発したらポートスキャンを掛け倒したのです。

410 名前: 投稿日:03/01/10 00:08 ID:h/ETIb2F
>401 名前:三毛 ◆MowPntKTsQ :03/01/10 00:04 ID:McoZGeeY
>ウィルススクリプト貼ってケツまくるような野郎が、「公序良俗」とは笑止の限り。

これが事実だったらどーすんの?(whhh
415 名前:三毛 ◆MowPntKTsQ 投稿日:03/01/10 00:15 ID:McoZGeeY
アサピーは、で

>あれは、そもそもスクリプトじゃないし単にノートンが糞だって言うだけの話。

などと言い訳をしておりまつ。
ではどーいう意図でああいうものを貼ったのか、内容をご説明頂きたいものですな。

417 名前:g056137.ppp.asahi-net.or.jp 投稿日:03/01/10 00:16 ID:6BZCtvnU
そんなに怖かった?

で、相手にログとられて晒し上げの上、朝になったらプロバイダにも抗議されてしまう、という。

223 名前:デフォルトの名無しさん[sage] 投稿日:03/01/11 00:21
いや明け方に(略

224 名前:デフォルトの名無しさん[sage] 投稿日:03/01/11 09:45
質の高い書き込み>質の低い書き込み>質の低い上に警察/訴訟沙汰になる書き込み

こんな感じなのかもね。

225 名前:デフォルトの名無しさん[sage] 投稿日:03/01/11 09:48
どっかの町で珍走が特攻服着て歩くのを禁止した条例が制定
されたら「表現の自由を奪う」と言ってみたり、「内部告発者を守れ」
とか言ってた癖に、ひろゆきが裁判で負けた事が良い事であるかの
ように報道するマスコミのダブスタは許せん!

226 名前:デフォルトの名無しさん[sage] 投稿日:03/01/11 10:19
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

227 名前:デフォルトの名無しさん[sage] 投稿日:03/01/11 11:14
でもまあ、本当にチクリしたい奴はどこかから書き込むだろ。
大学とか無線LANの穴多そうだし。

228 名前:デフォルトの名無しさん[sage] 投稿日:03/01/11 11:45
裁判所が判断を下した匿名掲示板って2ch以外にあるのか?

229 名前:デフォルトの名無しさん[sage] 投稿日:03/01/11 12:47
隊長のことハ○とかって言えなくなるのかな、寂しいな

230 名前:デフォルトの名無しさん[sage] 投稿日:03/01/11 13:16
WinnyBBS専用ブラウザならたくさんある。
http://www.nan.sakura.ne.jp/winny/page/tools.htm

231 名前:デフォルトの名無しさん[sage] 投稿日:03/01/11 16:03
オズラ(・∀・)カエレ!!

232 名前:デフォルトの名無しさん[sage] 投稿日:03/01/11 16:09
クラックしてIPげと

233 名前:150 ◆ismFPlKHko [sage] 投稿日:03/01/11 18:14
>>221
> あ、厭味に聞こえたらゴメン。
いえいえ、そんなことありません。
re.sub() を使ってみたら、ものすごく速くなりました。多謝。


234 名前:デフォルトの名無しさん[sage] 投稿日:03/01/12 00:10
予想された範囲の行動なんだろうが、IPがプロバイダでこういうスレを立てたのなら
何を考えていらっしゃるのやら。

235 名前:デフォルトの名無しさん[sage] 投稿日:03/01/12 00:20
を訴えます。

236 名前:162[sage] 投稿日:03/01/12 02:47
kittywalk20030111試しますた。板名とスレ名が出るのが(・∀・)イイ!
メニューのフォント設定が効いてないところがありますた。

class GUI(Tk.Tk):
  def make_widgets(self):
    boardmenu_tab = notebook.tab(0) # 追加
    boardmenu_tab.config(font=CONFIG.get("Menu","Font")) # 追加
    bookmark_tab = notebook.tab(1)
    bookmark_tab.config(font=CONFIG.get("Menu","Font")) # 追加

class ThreadMenu(Pmw.ScrolledListBox, Colleague):
  def __init__(self, mediator, parent):
    self.component("label").config(font=CONFIG.get("Menu","Font")) # 追加

class MessageView(Pmw.ScrolledText, Colleague):
  def __init__(self, mediator, parent):
    self.component("label").config(font=CONFIG.get("Menu","Font")) # 追加

class MenuBar(Tk.Menu, Colleague):
  def build(self):
    *.add_command(...
           font=CONFIG.get("Menu","Font"), # 追加(複数)
    self.add_cascade(...
             font=CONFIG.get("Menu","Font"), # 追加(複数)

スレタイトルをダブルクリックしてスレを再表示するたびにどんどん
スレ内容が重複していくみたいです(バグ?)。

スレ一覧のタイトルにレス数が付かないのはチョト寂しいです(感想)。

スレ一覧から目的のスレを探すのが結構大変なので検索できるとイイかも(要望)。

237 名前:デフォルトの名無しさん[sage] 投稿日:03/01/12 02:58
名前売りたい奴とか金儲けしたいやつとか鯖を貸したい業者なんて今が
絶好のチャンスだと思うけどな

238 名前:デフォルトの名無しさん[sage] 投稿日:03/01/12 03:02
生け贄って何ぞや?

239 名前:デフォルトの名無しさん[sage] 投稿日:03/01/12 10:30
( ´,_ゝ`)プッ 事情聴取なんて、初めてじゃねーよ!
  ヽ(´ー`)ノ


240 名前:デフォルトの名無しさん[sage] 投稿日:03/01/12 10:33
情報交換したくてもさぁ、同人って読み手と描き手がかぶってるから
ほとんどの人が何かの形でサークルに関わってるわけじゃん。
自分や知ってる奴が叩かれてるのをわざわざ喜んで見に来たりしないだろ

狭い世界だからサークル活動に悪い影響与えてるとおもうよ
「同人板で叩かれるから」って理由でコピー本やめたサークルや
褒めのカキコがあった直後「自作自演したって思われるとくやしいし
名前でたら叩かれる」ってサイト閉じたとこも…

241 名前:150 ◆ismFPlKHko [sage] 投稿日:03/01/12 12:48
>>236
> メニューのフォント設定が効いてないところがありますた。
感涙。

> スレ一覧のタイトルにレス数が付かないのはチョト寂しいです(感想)。
>>161 で言われたとおり、GUI で苦労しておりまする。
とりあえず、その場しのぎしときました。

242 名前:デフォルトの名無しさん[sage] 投稿日:03/01/12 21:10
ちくり裏事情なんかは、WINNY掲示板みたいなWINNY型P2Pにして、
2ちゃんからリンクして拾ってくるようにできんかな?

243 名前:デフォルトの名無しさん[sage] 投稿日:03/01/12 21:11
zD2HIsxl
厨房逝ってよし。

244 名前:デフォルトの名無しさん[sage] 投稿日:03/01/12 21:25
なんか各所で「ブラウザを立ち上げ直してください」とかいうエラーでて書き込めないって
人がいるけど、それって何をするとでるの?
俺は見たこと無い。

245 名前:デフォルトの名無しさん[sage] 投稿日:03/01/13 05:43
>>241
Tkinterはどちらかと言うと楽にGUIを組めるツールキットだと思う。
押し着せの仕様に逆らってトリッキーなことをやり出すと苦労するけど。
そのツールキットのやり方に従って素直に作るのであれば
かかる手間暇はどのツールキットを使ってもそれほど大差ない思われ。

246 名前:デフォルトの名無しさん[sage] 投稿日:03/01/13 13:50
>>245禿同
Tkinterが使いにくいというのは迷信の塊。個人的には他のが好きだが。


247 名前:デフォルトの名無しさん[sage] 投稿日:03/01/13 15:53
C++ に詳しい人に、WxPython のチュートリアルを書いてほしい、といってみるテスト。

248 名前:デフォルトの名無しさん[] 投稿日:03/01/13 17:35
だれかBlackAdderって使ったことある?
フォームデザイナー付きのIDEだって。
売り物らしいけど評価版があるってさ。


249 名前:山崎渉[(^^)sage] 投稿日:03/01/13 18:53
(^^)

250 名前:デフォルトの名無しさん[] 投稿日:03/01/13 19:50
なんだPythonやってるやつらってあふぉばっかじゃん(笑

251 名前:デフォルトの名無しさん[sage] 投稿日:03/01/13 22:07
21 は凄い男だな。感動した。


252 名前:162[sage] 投稿日:03/01/15 08:01
kittywalk20030114試しますた。検索ダイアログ、超便利です。
変な正規表現 (閉じ括弧がない等) を食わせるとエラーを吐くので要対策。
あと、下まで検索したら上に戻るとか、下から上に向かって検索とか、
そういう割とありがちなオプションがあると嬉しいかも。

253 名前:162[sage] 投稿日:03/01/15 08:35
追加。>>162の環境で試してるんだけど検索ダイアログに日本語が入力できない。
Pmw.EntryField がダメポ。Tkinter.Entry で置き換えたら入力できますた。

class ThreadSearchDialog(Colleague, Tk.Toplevel):
  def __init__(self, mediator, parent):
     :
    self.transient(parent) # 追加
    # Entry.
    self._entry = Tk.Entry(self, width=32, font=CONFIG.get("Entry","Font")) # 変更
    self._entry.bind("<Return>", self._search) # 追加
    self._entry.pack(side=Tk.LEFT)
  def focus_force(self):
    self._entry.focus_force() # 変更

ついでに transient() も追加してみますた。常に parent よりも前に
表示されるようになります。ただ、この変更を加えると、うちの環境では
Windows で言うところのタイトルバーの [x] ボタンが表示されなりますた。
この変更を取り込む場合は別途「閉じる」ボタンが欲しいです。

254 名前:山崎渉[(^^)sage] 投稿日:03/01/15 17:50
(^^)

255 名前:150 ◆ismFPlKHko [sage] 投稿日:03/01/16 00:14
>>245
ということは、Tkinter のせいにできないわけですね。なるほど。

>>253
ありがとうございます。修正してみます。

256 名前:超初心者@決してネタではないです[] 投稿日:03/01/16 01:08
pythonの累乗の書き方がわかりません
 ^ だと引き算になっちゃうみたいなんですけど  

257 名前:デフォルトの名無しさん[sage] 投稿日:03/01/16 01:26
>>> 3 ** 3
27

258 名前:デフォルトの名無しさん[sage] 投稿日:03/01/16 01:37
ちなみに ^ は bit xor だ。

259 名前:超初心者@決してネタではないです[] 投稿日:03/01/16 01:52
>>258
出来ました。
割り算もわかりません。暇だったら教えて下さい。

260 名前:デフォルトの名無しさん[sage] 投稿日:03/01/16 04:55
割り算は / だよ。
Python を始めたばかりなら「Python Tutorial」を読むことを勧める。
http://www.python.org/doc/current/tut/tut.html (英語)
http://www.zob.ne.jp/~hide-t/comp/python/py21-tut-ja/tut-ja/ (日本語)
和訳は元のバージョンがちょっと古いけど十分役立つと思われ。

261 名前:デフォルトの名無しさん[sage] 投稿日:03/01/16 05:23

     | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
     | 次でカキコ機能つけて!! |
     |___________|
          ∧∧ ||
         ( ゚д゚)||
          / づΦ

262 名前:デフォルトの名無しさん[sage] 投稿日:03/01/16 05:50
Python も何かひとつ sf でプロジェクトをやってみるのはどうだろう?
翻訳プロジェクト以外にライブラリでもアプリでも。

263 名前:デフォルトの名無しさん[sage] 投稿日:03/01/16 06:46
>>262
ほれ。
http://sourceforge.net/softwaremap/trove_list.php?form_cat=178
好きなのを選べ。


264 名前:162[sage] 投稿日:03/01/16 08:02
さらに要望追加。カーソルキーの上下がデフォルトの動作のままだと
キーを押してからスクロールが始まるまでにタイムラグがある場合が
あるので修正して欲しいです。ついでにスペースとバックスペースに
PageDown/PageUp と同じ動作を割り当ててもらえると嬉しいです。

class MessageView(Pmw.ScrolledText, Colleague):
  def bind_events(self):
     :
    self._textbox.bind("<Up>", self.scroll_line_up)
    self._textbox.bind("<Down>", self.scroll_line_down)
    self._textbox.bind("<space>", self.scroll_page_up)
    self._textbox.bind("<BackSpace>", self.scroll_page_down)
     :
  def scroll_page_up(self, event=None):
    self.component("text").yview_scroll(1, Tk.PAGES)
    return "break"
  def scroll_page_down(self, event=None):
    self.component("text").yview_scroll(-1, Tk.PAGES)
    return "break"
  def scroll_line_up(self, event=None):
    self.component("text").yview_scroll(-1, Tk.UNITS)
    return "break"
  def scroll_line_down(self, event=None):
    self.component("text").yview_scroll(1, Tk.UNITS)
    return "break"

265 名前:162[sage] 投稿日:03/01/16 08:08
チョト訂正。scroll_page_up() と scroll_page_down() はメソッド名を入れ換えた方が
いいかも。そのままコピペすることはないと思いますが念のため。

266 名前:150 ◆ismFPlKHko [sage] 投稿日:03/01/16 13:33
>>261 >>264
善処します。

267 名前:デフォルトの名無しさん[sage] 投稿日:03/01/16 15:03
>>263
http://sourceforge.jp/softwaremap/trove_list.php?form_cat=178
こっちはまだまだ数が少ないし、翻訳モノの割合も多い。

268 名前:デフォルトの名無しさん[sage] 投稿日:03/01/16 15:40
今までRubyを使い慣れているんですが、年明けからPythonでプログ
ラムを書いてます。が、Rubyにくらべてかなり面倒だと思うことが
多いです。とくにリストの処理とかループとか。
Rubyより楽に書けると感じるのはif付きの list comprehension ぐ
らいしか今のところ見当たらないのですが、皆さん平気なんでしょうか?
それとも私が知らないだけでしょうか。


269 名前:デフォルトの名無しさん[sage] 投稿日:03/01/16 15:49
>>268
なら python 使うのやめろ

270 名前:デフォルトの名無しさん[sage] 投稿日:03/01/16 17:40
>>269
まあもちつけ。

>>268
漏れは Ruby も list comprehension も使ったことないけど
Python にはとても満足しているよ。Python プログラミングは
漏れにはすごく楽チン。面倒だと思う部分もすこしはあるけど
全体からすると問題にならない程度。ストレスを感じることは
ほとんどないです。

271 名前:デフォルトの名無しさん[sage] 投稿日:03/01/16 18:25
>>268-270
煽りじゃなく>>269に同意。
俺はpythonは他人に見せるコードを書くための言語だと思ってる。
だからselfを省略したいとか強力なlambdaで技巧的なコードを
書きたいとかインデントがめんどくさいとか思ったら
別の言語を使った方が良いと思う。
list comprehensionにしたってmap()とかfilter()とか使った方が
速いコードになるのになんで追加されたのか?とか考えると
速さよりも書きやすさよりも読みやすさを重視した結果じゃないかと。

俺にとっては十分速いし書きやすいけど。

272 名前:デフォルトの名無しさん[sage] 投稿日:03/01/16 23:03

        ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  〜′ ̄ ̄( ゚Д゚)< 今、>>271がいいことを言った!
   UU ̄ ̄ U U  \_____________

273 名前:デフォルトの名無しさん[sage] 投稿日:03/01/17 13:32
>>271 に同意あげ

タイプ数を減らしたければAPLでも使ってなさい。

274 名前:デフォルトの名無しさん[age] 投稿日:03/01/17 13:32
上がってなかった;;;

275 名前:268[sage] 投稿日:03/01/18 10:00
ご意見どうも。他人に見せるコードを書くため、というのは一理あ
ると思いました。確かにわやになりにくいとは思います。

タイプ数というより、ループという構造をとらないといけないので
思考をコードにするまでに余分なステップが入る感じです。filter
とかmapとかRubyのeachとかの方がダイレクトに表現できてよいで
す。何をしようとしているか、ということに名前がついているから
後からでも読みやすいと思うし(eachは違うけど)。Pythonはlambda
が弱いのでそれが使いづらく、ちょっと込み入ったことをしようと
思うとループにせざるを得ません。list comprehension があるか
らまだ救われているけど、それも式一つで書けない場合はちょっと
困ります。

Ruby等に比べてリストを調べたり操作したりするメソッドが少ない
のも不便さを感じる理由です。簡単なところでは、findとかuniqと
か見当たらないんですが、こういう処理さくっと一行で表現できる
ようになっていたりはしないですよね? リファレンスも眺めてみ
たんですが、こういうのを集めたモジュールはあるんでしょうか。


276 名前:268[sage] 投稿日:03/01/18 10:02
(続きです。)
少し話は逸れますが、list comprehensionが優れているのは、入れ
子になったリストを処理するときに、生成されるリストの構造と
list comprehensionのコードの構造が似ていることだと思います。
この場合はコードの形から生成される形がわかるのがfilterなどよ
り直感的でいいですね。

話を戻して、forループだと、ループ変数がループ全体で同じフレー
ムの名前なのがまた不便に感じることがないですか? ループ中で
lambdaを生成したりすると、ループ変数(やループの中で計算した
変数)はすぐに別の値に束縛されますから、lambdaの中でそのまま
使えず、lambdaのデフォルト引数という少し苦しい技が必要になり
ます。lambda やRubyのブロックを渡す場合とか、Schemeのように
末尾再帰でループする場合なんかはループごとに別のフレームにな
るのでそのような必要は出てきません。

別にPythonを使うのを辞める気はないので、こういう書き方がある、
こういう便利なものがある、というのを教えて頂ければ幸いです。


277 名前:デフォルトの名無しさん[sage] 投稿日:03/01/18 13:55
参考になるかは分からないけど。
しかも既出だけど。
http://www-6.ibm.com/jp/developerworks/linux/010615/j_l-prog.html
http://www-6.ibm.com/jp/developerworks/linux/010706/j_l-prog2.html
http://www-6.ibm.com/jp/developerworks/linux/010921/j_l-prog3.html
http://www.unixuser.org/~euske/doc/python/python-lisp-j.html

278 名前:150 ◆ismFPlKHko [sage] 投稿日:03/01/19 03:35
>>261,264 善処しました。

279 名前:デフォルトの名無しさん[sage] 投稿日:03/01/19 07:02

   ┌┬┬――┬ヽ
   │||    ||  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   │└┴――┘| | kittywalk20030118試したよ
   │┌-(,,゚Д゚)┐|<  書き込みも検索ダイアログの日本語も完璧
   ││..(ノ..........つ| | 150さん、あんた最高だ・・・
   ││................|│  \___________________
   └┴―U''U::┴┘

280 名前:デフォルトの名無しさん[] 投稿日:03/01/19 09:27
これからLinuxやPythonの勉強をしようと思い、VineLinux2.6をインストール
したのですが、入ってたPythonのバージョンが1.5でした。
Pythonはずいぶん前に2.xになっているようですが、なぜいまだに1.5なのでしょうか?
互換性などで問題でもあるのでしょうか?

281 名前:デフォルトの名無しさん[age] 投稿日:03/01/19 11:20
最新版欲しけりゃ玉取ってくりゃいいだろ?
つーか、システムのアップデートはしたのか?


282 名前:名称未設定[sage] 投稿日:03/01/19 11:44
>>280
python2の名前で入ってるはずです。

283 名前:デフォルトの名無しさん[] 投稿日:03/01/19 13:35
kittywalkで書き込むとコンソールにHTMLみたいなのががんがん出てくるんですが。
>>150


284 名前:デフォルトの名無しさん[] 投稿日:03/01/19 14:11
>>281
それはそうですが、なぜデフォで入っているのが古いバージョンなのかな?と。
(新しいバージョンにするとなにか不都合でもあるのかな?)

>>282
Vine2.6には入ってないようです。

いまいちLinuxのパッケージ管理とか分からないので、すこし調べてから
新しいのを入れようと思います。

285 名前:デフォルトの名無しさん[sage] 投稿日:03/01/19 15:17
Vineなぞ捨てろ。押し着せ設定の欝陶しいことこの上なし。
見通しも悪いから、勉強しようと思うのなら尚更よ。

ところでPythonなんかを勉強するのにいいLinuxディストリって何だ?
* 構成が素直
* 最新版やモジュールを手で取ってきて入れてもパッケージ管理と喧嘩しない


286 名前:デフォルトの名無しさん[sage] 投稿日:03/01/19 15:32
slack とか source mage とか?

287 名前:デフォルトの名無しさん[sage] 投稿日:03/01/19 15:39
gentoo!

288 名前:150 ◆ismFPlKHko [sage] 投稿日:03/01/19 16:22
>>283
出ないようにしました。


289 名前:デフォルトの名無しさん[] 投稿日:03/01/20 07:37
>>285
とりあえず赤帽を推しとく。
RPMパケジが用意されてることが多いから何だかんだ言って楽だ。
漏れはパケジを使わずに野良インスコする場合は /opt 以下に入れてる。
今のところ 1.5.2, 2.2, 2.2.2, 2.3a1 とピチョンが四つも入っているワケだが。

290 名前:デフォルトの名無しさん[sage] 投稿日:03/01/20 12:16
機械伯爵って何? あしゅら男爵のともだち?
http://www.freeml.com/ctrl/html/MessageListForm/python@freeml.com

291 名前:デフォルトの名無しさん[sage] 投稿日:03/01/20 13:22
おいリューズ、時間をすすめろ。

292 名前:デフォルトの名無しさん[sage] 投稿日:03/01/20 16:13
>>290
http://www.potato.ne.jp/~faust/keifu/matsumoto999_keifu.pdf

293 名前:デフォルトの名無しさん[] 投稿日:03/01/20 20:10
アニオタか。

294 名前:デフォルトの名無しさん[sage] 投稿日:03/01/20 20:35
Pythonはアニオタのイメージがつく。
本名でやってホスイ。


295 名前:デフォルトの名無しさん[sage] 投稿日:03/01/20 20:37
Ruby は二つ目の2chブラウザーができたみたい。

おいお前ら! GTK+使ってLinux版かちゅーしゃ作れや
http://pc.2ch.net/test/read.cgi/linux/1022744633/388

日本のPythonコミュニティーもがんがれ。

296 名前:デフォルトの名無しさん[sage] 投稿日:03/01/20 20:56
Python始めました。動機はGentooです。
Perlしか知らないのですが、よろしくお願いします。

297 名前:デフォルトの名無しさん[] 投稿日:03/01/20 21:15
や〜い、Pythonのアニオター!

298 名前:デフォルトの名無しさん[sage] 投稿日:03/01/20 23:58
アニオタでも使えるpythonのお勉強u"""part3"""

299 名前:デフォルトの名無しさん[sage] 投稿日:03/01/21 16:00
>>295 >>150
kittywalkの2ch関連の部分再利用して作ってもいい?
せっかく>>150が作ってくれたんだし。

300 名前:デフォルトの名無しさん[sage] 投稿日:03/01/21 16:04
300!

301 名前:デフォルトの名無しさん[sage] 投稿日:03/01/21 17:44
>>299
Tkinter じゃないのきぼん(w。

302 名前:デフォルトの名無しさん[sage] 投稿日:03/01/21 21:52
Tkinter以外のGUIツールキットって、
win32gui, wxPython, PyGTK, PyQT ...
あと何かあったっけ?

303 名前:デフォルトの名無しさん[sage] 投稿日:03/01/21 21:58
PyCardとか Delphi を利用するのとか、、、

304 名前:150 ◆ismFPlKHko [sage] 投稿日:03/01/22 00:11
>>299
厨房丸出しのコードでよろしければどうぞ。
299 さんが書き直したコードで勉強いたします。

>>302
FOX とか、PyGame を利用した PyUI とか、WideStudio とか、でしょうか。

305 名前:デフォルトの名無しさん[sage] 投稿日:03/01/22 01:49

初歩的な質問なのですが、StringIO はどういう時に使えばいいのですか?
具体的な使い道が今ひとつわからないのですが、、、

306 名前:デフォルトの名無しさん[sage] 投稿日:03/01/22 02:26
>>305
後段の処理で seek 可能なファイルオブジェクトが要求される場合によく使う。

例えば、開いたソケットは seek できないファイルオブジェクトになるので、
mimetools.Message のように seek 可能なファイルオブジェクトを引数として
渡さなければならないときは、ソケットからデータを全部読んで StringIO で
seek 可能なファイルオブジェクトにしてから渡す。ディスクに一時ファイルを
作らなくて済むのでエラー処理が省ける。ただし、データをメモリ上に持つ
ことになるのでファイルが巨大になり得る場合は要注意。

てゆーか、なんでどう使えばいいか分からないものを使おうとしてるの?
今度の CAPP (Certificate for Advanced Python Programmers) を受験する気?

307 名前:デフォルトの名無しさん[] 投稿日:03/01/22 04:33
GUIをpythonで、実行部分は処理速度を速めるためにCで書こうとしているものです。
ただ今はpythonからCを呼び込む方法がわからずに四苦八苦しています。
簡単な例や、そういった情報が書いてあるサイトがあったら教えてもらえませんか?

308 名前:デフォルトの名無しさん[sage] 投稿日:03/01/22 05:02
>>307
プロ弔靴蕕鵑韻秒気靴箸い燭如次あってるかしらんけど。
http://lss.eternity.ne.jp/cgi-bin/link/soft_add.cgi?1057

309 名前:デフォルトの名無しさん[sage] 投稿日:03/01/22 05:05
>>307
もいっこ。
http://wiki.zope.jp/PythonExtention/editform

310 名前:デフォルトの名無しさん[sage] 投稿日:03/01/22 05:12
>>302
一緒に調べたんやけどんなんたらGLってのもそうじゃないんか?

311 名前:デフォルトの名無しさん[] 投稿日:03/01/22 05:26
>>308-309
 サン(゚∀゚)クス

 ここは頼りになるなぁ

312 名前:デフォルトの名無しさん[sage] 投稿日:03/01/22 05:41
>>311
ところでpythonって何だ?スクリプトがなんたらって書いてあったが。

313 名前:デフォルトの名無しさん[sage] 投稿日:03/01/22 12:25
/ と // はどう違うのですか?

314 名前:デフォルトの名無しさん[sage] 投稿日:03/01/22 14:49
>>> 100/3
33
>>> 100//3
33
>>> 100.0/3.0
33.333333333333336
>>> 100.0//3.0
33.0

こうなった。何に使うんだろう

315 名前:デフォルトの名無しさん[sage] 投稿日:03/01/22 15:09
将来的には100/3も33.333.... になるようにするんじゃなかった?

316 名前:デフォルトの名無しさん[] 投稿日:03/01/22 15:09
Kittywalk公式サイトの方にあるお助け掲示板に書き込んだのですが、
どなたも(150さんすら(w )掲示板を使っていないようなので、
ここに再度書き込みします。

MicrosoftのWheel Mouseを使用しているのですが、Wheelを使って
スレ一覧やスレの内容をスクロールさせるとほぼ100%の確率で
アプリケーションエラーが出てそこで終了してしまいます。
できれば、この不具合を直していただければありがたいですが。

動作環境は
Windows2k + Python2.2.2 + Pmw1.1 + JapaneseCodecs 1.4.9
で、マウスはUSBマウスにアダプタをかませてPS/2接続です。


317 名前:デフォルトの名無しさん[sage] 投稿日:03/01/22 15:40
>>313-315
> / と // はどう違うのですか?
ttp://member.nifty.ne.jp/Fe/script/python/pep-0238.ja.html

318 名前:デフォルトの名無しさん[sage] 投稿日:03/01/22 15:49
>>307
いっそぜんぶPythonでかいちゃえ


319 名前:デフォルトの名無しさん[sage] 投稿日:03/01/22 15:56
厨房ですがどうすれば、蛇使いになれますか?

320 名前:デフォルトの名無しさん[sage] 投稿日:03/01/22 16:01
>>317
> ttp://member.nifty.ne.jp/Fe/script/python/pep-0238.ja.html
正直、よく分からなかった自分はイッテヨシですか?

>>313-315

>>> 100//(3+0j)
__main__:1: DeprecationWarning: complex divmod(), // and % are deprecated
(33+0j)
>>> 100/(3+0j)
(33.333333333333336+0j)

-----------------
赤字のエラーメッセージなんて初めて見た。

321 名前:デフォルトの名無しさん[sage] 投稿日:03/01/22 16:31
>>320
・整数/整数 -> 整数
てなるのは習慣的な実装上の都合で、数学的には正しくないから、/を使ったらとにかく
・数/数 -> 実数
にした方がよかろ、ということです(習慣を破るという意味では直感的でないけど)。
で、整数が欲しいときは//を使って、
・数//数 -> 整数(というか小数部のない数)
てことにしょう、と。

今は移行途中の段階だからさらに話がややこしく。

322 名前:デフォルトの名無しさん[sage] 投稿日:03/01/23 02:13
>>321
除算に関して閉じてない演算体系ってだけで数学的に正しくないってことはないでしょ。


323 名前:環太郎[sage] 投稿日:03/01/23 03:56
ハゲドウ。


324 名前:デフォルトの名無しさん[sage] 投稿日:03/01/23 17:21
>>306
> 後段の処理で seek 可能なファイルオブジェクトが要求される場合によく使う。
> 例えば、開いたソケットは seek できないファイルオブジェクトになるので、
> mimetools.Message のように seek 可能なファイルオブジェクトを引数として
> 渡さなければならないときは、ソケットからデータを全部読んで StringIO で
> seek 可能なファイルオブジェクトにしてから渡す。ディスクに一時ファイルを
> 作らなくて済むのでエラー処理が省ける。ただし、データをメモリ上に持つ
> ことになるのでファイルが巨大になり得る場合は要注意。
解説ありがとうございます。
今の自分には必要なさそうですね。

> てゆーか、なんでどう使えばいいか分からないものを使おうとしてるの?
ファイル操作でStringIO というのが使えると知ったので、どうやって使えばいいのかと思って。

325 名前:デフォルトの名無しさん[] 投稿日:03/01/23 18:27
テレちょん族吉本興業で 毎日で うんざりで〜す
テレちょん族吉本興業で 毎日で うんざりで〜す
テレちょん族吉本興業で 毎日で うんざりで〜す

テレちょん族吉本興業で 毎日で うんざりで〜す
テレちょん族吉本興業で 毎日で うんざりで〜す




326 名前:山崎渉[(^^)sage] 投稿日:03/01/23 20:03
(^^)

327 名前:ここで質問していいのかな…[] 投稿日:03/01/24 03:35
質問ですが、pythonの中にあるtcl/tkをつかったturtle.pyで、その実行画面をpythonのプログラムによって保存する方法ってありますか?
(python日本語版の場合、C:\python22jp\Lib\lib-tk\turtle.py にある)

具体的にはボタン押したらpythonの窓内の画面を画像ファイルにして保存、というのがいいのですが。


328 名前:デフォルトの名無しさん[sage] 投稿日:03/01/24 06:44
http://www.python.org/peps/pep-0285.html
PEP: 285

3) Should the constants be called 'True' and 'False' (similar to
None) or 'true' and 'false' (as in C++, Java and C99)?

=> True and False.

Most reviewers agree that consistency within Python is more
important than consistency with other languages.

これってどうよ?
やっぱり true/false は小文字がしっくりくるんじゃない?


329 名前:デフォルトの名無しさん[sage] 投稿日:03/01/24 07:05
>>328
C++もJavaもC99もほとんど使っていない漏れには
None/True/Falseの方が統一感が感じられる。

330 名前:デフォルトの名無しさん[sage] 投稿日:03/01/24 13:38
>>313
> / と // はどう違うのですか?

------------------------------------------------------
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/19423
CommonLisp, Schemeそして将来のPythonでは / がquo相当の働きを
するのは承知しているのですが、やはり / 演算子の今の挙動に愛
着があるので別の名前のメソッドを導入することにしました。
------------------------------------------------------

lisp 使いのしわざ?

331 名前:デフォルトの名無しさん[sage] 投稿日:03/01/26 08:38
Pythonのソースのなかで見かける、XXXってなんですか?

332 名前:デフォルトの名無しさん[sage] 投稿日:03/01/26 09:39
>>331
FIXMEと似たような意味かな?
それか、ちょっと恥ずかしいやり方っていう意味かも。

333 名前:デフォルトの名無しさん[] 投稿日:03/01/26 11:29
すんません、Jythonでswingのウィジェットに日本語出したい場合どうすればいいですか?
Javaって日本だいじょぶだと思ったんでこれ使ってみようと思ったんだけど。。。


334 名前:名称未設定[sage] 投稿日:03/01/26 22:05
>>333
普通にJavaの流儀でできるはずです。

335 名前:デフォルトの名無しさん[sage] 投稿日:03/01/26 22:15
>>332
そうだったんですか、ありがとうございます。
そんなこと言ったら、全部XXXだらけになっちゃう…。

ますますソースが見にくくなる

さらに、ゴミソースになる。


336 名前:名無しさん[] 投稿日:03/01/27 14:20
すんません、Javaの流儀ってしりません。。。


337 名前:デフォルトの名無しさん[sage] 投稿日:03/01/27 14:22
pythonスレが3つ同時進行ってのはどうにかなんないのか。


338 名前:デフォルトの名無しさん[sage] 投稿日:03/01/27 15:19
1つより3つのほうがいいだろ。

339 名前:デフォルトの名無しさん[sage] 投稿日:03/01/28 01:14
そうか?w

340 名前:名称未設定[sage] 投稿日:03/01/28 06:38
>>336
jythonはjavaしってる人がpythonうまく利用するための道具。
別にTkinterなら日本語問題ないし。
なぜにjavaしらずにjythonなの?

341 名前:デフォルトの名無しさん[] 投稿日:03/01/28 09:41
逆にPythonからJava(特にGUI回り)に入って見よーと思って。
それにJythonならjarファイルにしてJVMのあるとこに持ってけるんでしょ?


342 名前:デフォルトの名無しさん[sage] 投稿日:03/01/28 10:31
>>341
おまえウザすぎ。
もう来るな。

343 名前:デフォルトの名無しさん[sage] 投稿日:03/01/28 11:38
>>341
俺は気にしないから 342 は無視しとけ。

344 名前:デフォルトの名無しさん[sage] 投稿日:03/01/28 17:44
C++ 用のSIGはあるのに、 C 用のSIGはないのですか?
そこそこ需要があると思うのに。

345 名前:デフォルトの名無しさん[sage] 投稿日:03/01/28 18:06
>>344
SIGってなぁに?


346 名前:デフォルトの名無しさん[sage] 投稿日:03/01/28 22:22
>>345
> SIGってなぁに?
http://www.python.org/sigs/

347 名前:デフォルトの名無しさん[] 投稿日:03/01/29 00:57
>>345
これだ。うまいぞ。
http://www.hi-ho.ne.jp/sindoh/b.history.htm

348 名前:デフォルトの名無しさん[sage] 投稿日:03/01/29 16:50
改行文字をはさんだ正規表現にマッチさせたいときはどうすればいいのですか?
<a href ... とかのタグで、複数行にまたがっている場合があるので。

349 名前:デフォルトの名無しさん[sage] 投稿日:03/01/29 19:09
>>348
改行文字は正規表現 \n にマッチする。普通に [ \t\n]* とか書けば良い。
ただしデフォルトでは . にはマッチしない。DOTALL モードにすればOK。
>>> re.match("<a>(.*)</a>", "<a>spam\nspam</a>") is None
1
>>> re.match("<a>(.*)</a>", "<a>spam\nspam</a>", re.DOTALL).group(1)
'spam\nspam'
詳しくは http://www.python.org/doc/current/lib/re-syntax.html を参照。

ちなみに漏れなら自力で HTML を字句解析したりせずに htmllib を使う。
>>> import htmllib,formatter
>>> parser=htmllib.HTMLParser(formatter.NullFormatter())
>>> parser.feed("""<A
... href="http://www.python.org/"
... >Python Home Page</A>
... """)
>>> parser.anchorlist
['http://www.python.org/']
>>>

350 名前:デフォルトの名無しさん[sage] 投稿日:03/01/29 19:58
KittyWalkのサイトがすっからかんなのは、辞めてしまわれたからなのでつか?

351 名前:デフォルトの名無しさん[sage] 投稿日:03/01/29 20:36
>>350
そんなこと無いよ。

352 名前:名称未設定[sage] 投稿日:03/01/29 22:13
>>341
それはむずかしい。
JavaのGUI(swing,awt)は癖があって、むちゃくちゃ設計きたない。
JavaでGUI勉強する場合は
http://www.beanshell.org/
とか利用した方が楽。

>JythonならjarファイルにしてJVMのあるとこに持ってけるんでしょ?

もっていける。ちゃんと互換性あって動作するから便利。

353 名前:デフォルトの名無しさん[sage] 投稿日:03/01/29 22:13
r"正規表現"ってフツーの"正規表現"と何が違うんですか?

354 名前:デフォルトの名無しさん[sage] 投稿日:03/01/29 22:42
>>353
r"" (raw string) は正規表現というよりはむしろ Python の文字列表現の一つ。
普通の文字列とは違ってバックスラッシュが通常の文字の扱いになる。
バックスラッシュが自動的にエスケープされる、と言ってもいい。
>>> r"\n"
'\\n'
>>> len(r"\n")
2
>>> r"\n" == "\\n"
1
正規表現ではエスケープされたバックスラッシュをたくさん書く必要がある場合が
あるので raw string が便利というわけ。r"""\n""" や ur"\n" という書き方も可。

355 名前:デフォルトの名無しさん[sage] 投稿日:03/01/30 00:52
>>349
サンクスコ

formatter の使い方が(ライブラリ・リファランスをよんでも)今ひとつ分からないけど、
もうちょっと勉強してみます。

HTMLParser はなんとか使えそうです。

356 名前:349[sage] 投稿日:03/01/30 04:40
>>355
漏れも最初はhtmllibとformatterの使い方がよく分からなかった。
納得できたときは「オブジェクト指向ってスゲェ!」と感動したものだよ(w
典型的な使い方を挙げるからソースを読んで動作を追いかけてみるといい。

>>> import StringIO, urllib, htmllib, formatter
>>> ofile = StringIO.StringIO()
>>> ifile = urllib.urlopen("http://www.python.org/")
>>> parser = htmllib.HTMLParser(formatter.AbstractFormatter(formatter.DumbWriter(ofile)))
>>> parser.feed(ifile.read())
>>> parser.close()
>>> ifile.close()
>>> ofile.seek(0)
>>> print ofile.read()

HTMLParserはHTMLの字句解析を担当する。AbstractFormatterはスタックを
使って現在のフォントや<B>, <I>などの文字修飾を管理する。DumbWriterは
出力系 (上の例だとファイルオブジェクト) を管理する。インスタンス化
するときの書き方が示すとおり、これら三つのクラスは入れ子になっていて
ParserにfeedされたデータがFormatterで整形されてWriterのところに降りて
くるようになっている。

実際には、整形方法や出力系を変更するためにFormatterとWriterをそれぞれ
継承して必要なメソッドを適宜オーバーライドする。例えば、上の例では
リンクに番号が振られるようになっているけどそれを抑制したり、出力系を
ファイルではなくGUIライブラリのキャンバスのようなものに変えたりするのに
クラスの継承 (部分的な書き換え) が必要なる。

357 名前:デフォルトの名無しさん[sage] 投稿日:03/01/30 08:37
http://www.pygame.org/
pygame 見れないんだけど?

358 名前:デフォルトの名無しさん[sage] 投稿日:03/01/30 10:02
>>357
問題なく見れるよ。

359 名前:デフォルトの名無しさん[sage] 投稿日:03/01/30 16:22
>>357
回線切れてるんじゃないの?

360 名前:デフォルトの名無しさん[sage] 投稿日:03/01/30 23:23
この蛇が咥えてるのってSNESのコントローラ?

361 名前:デフォルトの名無しさん[sage] 投稿日:03/01/31 02:53
メガドライブ


362 名前:デフォルトの名無しさん[sage] 投稿日:03/01/31 23:40
Linux 初心者なのですけど、 python に 1.5.2, python2 に 2.2.2 が入っているのですが、
さらに、2.3 をインストールして、古いバージョンと共存させるにはどうすれば好いのですか?
つかっているのは、 Red Hat です。

363 名前:名称未設定[sage] 投稿日:03/02/01 01:14
>>362
rpmでいれないでsrpmやtarからコンパイルする。
その時prefix optionで/opt以下とかに指定していれてやればいい。

漏れのマシーンは
/opt/python15 に1.5.2
/opt/python22 に2.2.2
/opt/python23 に2.3
とかになっていたりする。


364 名前:デフォルトの名無しさん[sage] 投稿日:03/02/01 08:43
>>363
configure をどういうふうにすればいいか、書いてもらえますか?
実質的に、python しかつかえない厨房なもので、、、

とりあえず、opt が /opt にあるのは確認しました(空でしたけど)


365 名前:名称未設定[sage] 投稿日:03/02/01 10:37
>>364
./configure --help
で説明よんでみて。英語だけど。

366 名前:デフォルトの名無しさん[sage] 投稿日:03/02/02 10:30
$ ls /opt/python23/
bin include lib man
というふうにインストールされますた。
これで無事成功なのかな?

367 名前:デフォルトの名無しさん[sage] 投稿日:03/02/02 14:20
Good job!

368 名前:名称未設定[sage] 投稿日:03/02/02 15:11
>>366
成功ですね。

好みですが、/opt/python23/bin/python とかあると思うので、これを
python23とかの名前でパスの通った所にlnしとくといいかもしれない。


369 名前:デフォルトの名無しさん[sage] 投稿日:03/02/03 00:47
python3(w で起動するように、リンクしておきますた。

もうひとつ質問です。
html 形式のライブラリー一覧はどこにあるのですか?
あれがないと、はげしく作業しにくいのですが。

370 名前:名称未設定[sage] 投稿日:03/02/03 07:40
>>369
ソースから作成するならDocフォルダ内でMakeすれば作成されるはず。
html作成するにはもしかしたらLaTeXいるかもしれない。
とりあえず同梱のテキスト読んでみてください。

371 名前:デフォルトの名無しさん[sage] 投稿日:03/02/03 09:08
>>369
pydoc を使ってみてはどうですか?
単にpydocで使い方が出ます。


372 名前:デフォルトの名無しさん[sage] 投稿日:03/02/03 17:00
>>369
http://www.python.org/doc/current/download.html

373 名前:名称未設定[sage] 投稿日:03/02/03 21:01
>>372
まだ2.2.2だし。そのドキュメントは。


374 名前:372[sage] 投稿日:03/02/03 22:04
>>373
>>369さんは2.3のHTMLドキュメントとは言ってませんよ? (そうなのかもしれないけど)
別解:Red Hat Linux の CD-ROM に入っている以下の RPM パケジを rpm -ivh する。
python-docs-1.5.2-38.i386.rpm
python2-docs-2.2-16.i386.rpm

375 名前:372[sage] 投稿日:03/02/03 22:12
事故レス。
>>374のRPMパケジにはHTMLファイルは入ってなかった。勘違いスマソ。
>>372のページからtarballなりzipなりをダウソするのが一番簡単だと思われ。

376 名前:デフォルトの名無しさん[sage] 投稿日:03/02/03 22:40
2.2 のものをローカルにおいて、 2.3 のはオンラインですますことにしました。
http://www.python.org/dev/doc/devel/
結局、普通に Python をダウンロードしても、そのなかにはふくまれていないと云う事ですね。

377 名前:名称未設定[sage] 投稿日:03/02/04 06:25
>>376
LaTeXからHTML作成してるからソースの中にはHTMLないです。

378 名前:名称未設定[sage] 投稿日:03/02/04 07:40
>>376
あとは
pydoc -g
する事でGUIとHTTPserver起動するのでリファレンスみれる。
import pydoc
help(モジュール名)

とかでもヘルプでる。


379 名前:デフォルトの名無しさん[sage] 投稿日:03/02/05 16:27
Python ヲタのメインの使用言語はなに?
Java?
C++?
C?
PHP?

普段から Python?

380 名前:デフォルトの名無しさん[sage] 投稿日:03/02/05 18:19
>>379
漏れは普段から Python。他のプログラミング言語は滅多に使わなくなってしまった。
たまに C で拡張モジュールを書いたり簡単なプロトタイプをしたりすることはある。
あと個人的に Java は結構好き。

381 名前:162[sage] 投稿日:03/02/05 21:28
ちょっと反応が遅れたけど KittyWalk 0.0.11 がリリースされますた。
ホメパゲ移転先 → http://kittywalk.sourceforge.jp/

漏れの環境 (赤帽7.3+モナフォント) だとレス番号をマウスでポイント
したときにバルーンがポップアップするのに10秒ぐらいかかります。
モナフォントはビットマップフォントなのでサイズを0.8倍して使うと
フォントが縮小されてギザギザになる上に非常に重くなるみたいでつ。

バルーンウィンドウを destroy しないで再利用するようにすると
遅延は初回のポップアップの時だけになりますた。この手の効率化は
他のところでも使えるかも知れず。ただし無闇な効率化は絶対裏目に
出るのでほどほどに・・・(^^;

むしろバルーンフォントも config ファイルで指定することにした方が
良いかも。

382 名前:162 (続き)[sage] 投稿日:03/02/05 21:28
class AdvancedRenderer(object):
  def __init__(self, textwidget):
     :
    font = tkFont.Font(self._text, self._text["font"])
    size = font.cget("size")
    font.config(size=int(float(size)*0.8))
    self._balloon = Tk.Toplevel(self._text)
    self._balloon.withdraw()
    self._balloon.overrideredirect(True)
    self._balloon.label = Tk.Label(self._balloon,
                    justify=Tk.LEFT,
                    bg="#ffffcc",
                    font=font,
                    borderwidth=1,
                    relief=Tk.RAISED)
    self._balloon.label.pack()

  def _on_cite(self, event):
     :
    self._balloon.label["text"] = message.rstrip("\n")
    x, y = event.x_root+8, event.y_root-self._balloon.label.winfo_reqheight()
    if y<0: y=0
    self._balloon.geometry("+%d+%d" % (x, y))
    self._balloon.deiconify()
    self._balloon.lift()

  def _off_cite(self, event):
    self._text.config(cursor="")
    self._balloon.withdraw()

383 名前:162[sage] 投稿日:03/02/05 22:04
ところでアーカイブ内のディレクトリ名の日付が 20020203 ですね(w
毎回手動で配布用のアーカイブファイルを作っているのでしょうか。
パッケージングに Python 標準の distutils を使うといいかも。

384 名前:デフォルトの名無しさん[sage] 投稿日:03/02/06 13:57
初心者にあのデスクトップリファレンス勧めるセンスってどうよ?
http://www.freeml.com/message/python@freeml.com/0000041

385 名前:デフォルトの名無しさん[sage] 投稿日:03/02/06 23:36
>>384
はじめてのPython、人気無いね。。
各章末の「落とし穴」シリーズは結構良いと思ったけど。

テクニカルリファレンスが役に立つっつぅのは同意。

個人的には翻訳じゃなく日本人が書いた
CGI/Python/JapaneseCodecsな本があるとイイと思う。
ごついのじゃなくても、perlの入門本にありがちな感じの、
一冊読めば掲示板と占いページくらいは作れますみたいな
ライトなノリのやつ。

386 名前:デフォルトの名無しさん[sage] 投稿日:03/02/07 09:26
>>385
漏れはperl厨房なんですが、1週間くらい前から学習をスタートしまして、大体仕様は
分かったところです。
初めてのpythonを図書館で借りて読んでたんですが、あまりに冗長すぎる文章と
下手な翻訳に辟易していたところ、図書館で

PerlユーザのためのPython移行ガイド 4894714183

というのをハケーンして借りてみますた。これは素晴らしい。まさにPerl厨房のため
の本です。リファレンスもわりとしっかりしているので、コピーして資料化しますた。

Pythonはバイトコードを保存しておけるというのがいいですね。これはrubyにもない
んじゃないかな? スクリプト言語なのに最適化オプションがあるのには驚きますた。


387 名前:デフォルトの名無しさん[sage] 投稿日:03/02/07 10:27
>>386 == >>162 ?
本当に一週間?

388 名前:デフォルトの名無しさん[sage] 投稿日:03/02/07 10:51
>>387
このスレに書きこむのは初めてですよ。初めてのPerlの返却期限が2/11ですから、
およそ1週間です。

389 名前:デフォルトの名無しさん[sage] 投稿日:03/02/07 11:28
>>386
Python厨房としては、逆に君に聞きたい。
その本は PythonユーザのためのPerl移行ガイド としても使える?(w

390 名前:デフォルトの名無しさん[sage] 投稿日:03/02/07 12:23
>>389
それは無理ぽだと思います。本文中にはPython => Perlの対応表、巻末にはPerl => Py
thonの対応表(メソッドやビルトイン関数などの)が載っていますが、文章がPerlを分か
っているものとして書かれていますので、何の解説もありません。

というか、この本を読んでPerlがPythonにリードしているのってCGIモジュールくらい
だな、と思いますたよ。それは移行というより退行かと。
Perlのキモイ部分がことごとく直っていますからね。自分が井の中の蛙だと気づきま
すたよ。やはり真のPGは可能なかぎりの言語を経験しておくべきですね。


391 名前:デフォルトの名無しさん[sage] 投稿日:03/02/07 13:06
>>390
> >>389
> それは無理ぽだと思います。
やっぱダメぽですか。でも、

> やはり真のPGは可能なかぎりの言語を経験しておくべきですね。
という意味で、普及度の高いPerlも経験したかったのですが。

# 窓使いがいきなりPythonやったんで、UNIXの流儀がワカンネー

392 名前:デフォルトの名無しさん[sage] 投稿日:03/02/07 13:45
> # 窓使いがいきなりPythonやったんで、UNIXの流儀がワカンネー
例えば?

# sage 進行が続いている、、、

393 名前:デフォルトの名無しさん[sage] 投稿日:03/02/07 14:08
>>392
例えば・・・は言いづらい。
なんか曖昧模糊とした「UNIXらしさ」が、Windowsらしさとは異質な光を放っている感じで。

はぢめて触ったときは、知らない言葉のオンパレードだったし、操作のしかたはちっとも分からんかったし。

# スレ違いにつき、自分語りはこれにて。

394 名前:デフォルトの名無しさん[sage] 投稿日:03/02/07 14:38
WindowsオンリーのPythonプログラマはうじゃうじゃいるぞ。
だいたいPythonが最初開発されたのはMac上じゃなかったか?
ちなみにPythonバイトコードの最適化というのは単にサイズの最適化。
変わるのはモジュールのロード時間だけで、実行スピードは同じ。

395 名前:デフォルトの名無しさん[sage] 投稿日:03/02/07 14:44
真のプログラマはPGなどという業務系システム業界だけの業界用語は使わない。


396 名前:デフォルトの名無しさん[sage] 投稿日:03/02/07 14:57
>>394
それは知りませんでした。

>>395
すいません、もうしません。

UNIXらしさというのはPerlのキモイ記号じゃなくて、stdin/outとファイルディスク
リプタを使うかどうかということにあるんじゃないかと思います。
漏れはUNIXのコンソールアプリしか書けない厨房なんですが、ほとんど関数単位で
スクリプトとかバイナリを分け、上記のファイルディスクリプタでやりとりします。
ですからプログラムの中でファイルをオープンすることはほとんどありません。
データが分岐するときも3番以降のディスクリプタから出します。
それで別途実行用のシェルスクリプトにリダイレクト記号とともにファイル名を
書くわけです。
厨房なんでWindowsのGUIアプリなんてすごいものは書けないのでよく知らないん
ですが、Windowsだと全部1つのバイナリでこなすんですよね。


397 名前:デフォルトの名無しさん[sage] 投稿日:03/02/07 15:21
UNIXらしさ云々は何が言いたいのかよくわからんが、変なことやってるようだな。
とりあえず自分なりに考えてプログラムを書くという習慣は身に付いてるようだから、
本を何冊も読むより、人のソースみて実践であれこれ試した方が早いぞ。
GUIアプリなんて恐くない。まずToolsディレクトリの中を見れ。

398 名前:デフォルトの名無しさん[sage] 投稿日:03/02/08 04:28
くだらない質問かもしれませんけど、
try:
finally:
はどういうときにつかえばいいのですか?

399 名前:デフォルトの名無しさん[sage] 投稿日:03/02/08 05:45
tmpファイルを消したりソケット閉じたりするとき?
使ったこと無いから良くわからん。
try:main()
finally:AToShiMaTsu()
みたいな感じではないだろうか。

400 名前:デフォルトの名無しさん[sage] 投稿日:03/02/08 19:10
>>396
>>397

ソースのサンプルなら、Useless Pythonがオススメ。
http://www.uselesspython.com/


401 名前:デフォルトの名無しさん[sage] 投稿日:03/02/10 00:04
JythonってPython(Jython)とJavaのソース混在でも桶ーなのか?


402 名前:名称未設定[sage] 投稿日:03/02/11 01:54
>>401
ちょっと違うかも。
Jythonは直接JavaのClass利用できる。
コンパイルすればJava Class作成できるからJavaからも利用可能。
ってかんじ。
一つのソースに混在はできないはず。

403 名前:デフォルトの名無しさん[sage] 投稿日:03/02/11 13:01
オライリーから出ているPythonのデスクトップリファレンスを買おうと
思ってるんですが、買う価値ありますか?
厨房であまり、文法を忘れがちなので。

404 名前:403[sage] 投稿日:03/02/11 13:04
× 厨房であまり、文法忘れがちなので。
○ 厨房で文法忘れがちなので。

間違えました。すみません。

405 名前:デフォルトの名無しさん[sage] 投稿日:03/02/11 16:45
>>404
日本語の本が大前提ですか?

406 名前:403[sage] 投稿日:03/02/11 18:15
>>405
できれば日本語がいいですが、英語でもいいです。

407 名前:403[] 投稿日:03/02/11 19:28
2ndと最初のでは全然違いますね。なんで?


408 名前:デフォルトの名無しさん[sage] 投稿日:03/02/11 22:22
# 購入予定?
http://www.amazon.co.jp/exec/obidos/ASIN/4900900966/
Pythonデスクトップリファレンス by マーク ルッツ
価格: \900
-
# リファレンスがほしいなら、こっちはどう?
http://www.amazon.co.jp/exec/obidos/ASIN/4894712210/
Pythonテクニカルリファレンス―言語仕様とライブラリ by デビッド・M. ビーズリー
価格:¥3,800
-
# ただし、英語のほうは 2nd ed. もでている。
# 日本語は1.5 ベースだと思うので、できれば新しいほうを購入したほうがいいと思う。
# リファレンスだから、特に高度な英語力も要らないし。
Python Essential Reference (2nd Edition) by David M. Beazley
List Price: $34.99
http://www.amazon.com/exec/obidos/ASIN/0735710910/
-
# 新しいもの好きの僕としては、オススメは次の一冊。
# まだ発売されていないけど、かなり期待できると思われ。
# nutshell といいつつ、ぜんぜん薄くないのはご愛嬌で (^^;
Python in a Nutshell by Alex Martelli
List Price: $34.95
http://www.amazon.com/exec/obidos/tg/detail/-/0596001886/


409 名前:162[sage] 投稿日:03/02/13 07:55
なんか反応無いなと思ってたら150さんカキコできなくなってたのね。
では、例によって KittyWalk 0.0.12 のバグ報告など。

(1) datディレクトリにsubject.txtが無い場合、板一覧の板タイトルを
2回ダブルクリックしないとスレ一覧の取得に行かない。
(1回目のダブルクリックではスレ一覧窓の板名だけが更新される)

(2) スレ一覧窓のスレタイトルを連続ダブルクリックをすると書き込みが
重複する (書き込み数が実際の2倍になったり3倍になったりする)。

410 名前:162 (続き)[sage] 投稿日:03/02/13 07:56
(3) 書き込み時に例外が起こる。(Python 2.3a1)
Unhandled exception in thread:
Traceback (most recent call last):
File "gui.py", line 425, in <lambda>
message=self.message()),
File "bbs.py", line 324, in post
headers = {"Content-type": "application/x-www-form-urlencoded",
File "cookie.py", line 18, in get
if db.has_key(host):
File "/opt/Python-2.3a1/lib/python2.3/bsddb/__init__.py", line 112, in has_key
return self.db.has_key(key)
TypeError: String or Integer object expected for key, unicode found

ホスト名が Unicode だったら ASCII に直すようにしてみたらオケですた。
cookie.py:

def set(host, val):
  if type(host) == type(u""):
    host = host.encode("ascii")

def get(host):
  if type(host) == type(u""):
    host = host.encode("ascii")

411 名前:Gilliam[spam] 投稿日:03/02/14 12:20
「Python で学ぶプログラム作法」って本で勉強してるんですけど、
章の終わり毎の演習問題でいつも頭を悩ませるものの、
模範解答とかついて無くて困ってます。
自分の書いたのがどれだけいいのか悪いのか・・
しょうもない簡単なソースに解説の付いたいいサイト無いっすか?

412 名前:デフォルトの名無しさん[sage] 投稿日:03/02/14 12:56
>>411
> 「Python で学ぶプログラム作法」って本で勉強してるんですけど、
> 章の終わり毎の演習問題でいつも頭を悩ませるものの、
> 模範解答とかついて無くて困ってます。
> 自分の書いたのがどれだけいいのか悪いのか・・

ここに貼り付けて採点してもらう。

413 名前:403[sage] 投稿日:03/02/14 18:09
>Gilliam
ぜひ、問題文もかいてね〜

414 名前:Gil(411)[spam] 投稿日:03/02/15 12:31
マジっすか!?
かなりしょーもない問題ですけど、お言葉に甘えます。
お題“ループと条件分岐を組み合わせて 50より小さい全ての素数を表示するプログラムを作りなさい”
for i in range (1, 51):
if i == 1:
print i
else:
j = i - 1
l = 0
for k in range(2, j):
r = i % k
if r == 0:
l = l + 1
if l == 0:
print i

python だとこういう風に書くよ、とか教えてください。
よろしくお願い島っす。

415 名前:デフォルトの名無しさん[sage] 投稿日:03/02/15 12:37
>>414
インデントを全角スペースとかに変換しなさい。

取り合えず、 1 は素数ではありません。

416 名前:414[spam] 投稿日:03/02/15 12:45
すんまそん。1が素数ではないというご指摘も修正しました。

for i in range (1, 51):
 if i == 1:
  continue
 else:
  j = i - 1
  l = 0
  for k in range(2, j):
   r = i % k
   if r == 0:
    l = l + 1
  if l == 0:
   print i


417 名前:デフォルトの名無しさん[] 投稿日:03/02/15 13:51
エラトステネスのふるいを配列を使わずに再帰だけで書くってできるかしら?

418 名前:デフォルトの名無しさん[sage] 投稿日:03/02/15 14:02
>>414
うざい。2度と来るな。

419 名前:デフォルトの名無しさん[] 投稿日:03/02/15 14:25
>>418
お前が無

>>416
こんなんどう

def primes():
  for i in range(2, 51):
    for k in range(2, i-1):
      if (i % k) == 0:
        break
    else:
      print i

420 名前:デフォルトの名無しさん[sage] 投稿日:03/02/15 14:40
>>416 の l のあたりは何をやってるの?
>>419 がすっきりしてていいと思われ。

2 は素数と認めて、 3 以上の奇数だけをチェックするのもありだと思うけど。
たとえば、
range(3, 51, 2):
のようにして。

そうすれば、余りを調べる
range(2, i-1):
の部分ももっとすっきりかけるようになるし。

421 名前:デフォルトの名無しさん[sage] 投稿日:03/02/15 15:52
かなりへぼいけど俺も書いてみた。
penII 233 * 192MB のWin98で結構さくさく走って逆にびっくりしました。
でわお目汚しを。
def sosu():
 yield 2
 yield 3
 i = 4
 while 1:
  for j in sosu():
   if i % j == 0:break
   if j*j > i :
    yield i
    break
  i = i + 1
def printsosu(e):
 for s in sosu():
  if s > e:return
  else:print s
printsosu(50)

最初に2と3をyieldしてるのは(i % 6)によってループを
省こうとしてた名残です。(十分早いのでやらなかった)
アドバイスきぼんぬ。

422 名前:419[] 投稿日:03/02/15 18:34
>>416
何もコメントしてなかったのでちょっとコメントしてみるす。
まず i==1 のチェックは無意味だよね。
それとcontinueしちゃってるからelse:は特に必要じゃない。
そういうスタイル嫌う人もいるけど無駄なelse(とインデント)がない方がおいらは好き。
j=i-1で変数jを導入してるけど、jの使い方から考えるとこれは無駄。
あとは l の使い方も無駄だね。


423 名前:デフォルトの名無しさん[] 投稿日:03/02/15 20:18
Gilは帰れ。


424 名前:デフォルトの名無しさん[] 投稿日:03/02/16 00:39
>>421
よくできてる。すごい。
でも yield 3 はいらないよね。i=3 から始めればよい。

それと printsosu() は(機能は等価ではないけど)こんなふうにもかける:
for (i,j) in zip(range(20),sosu()):
 print j


425 名前:デフォルトの名無しさん[sage] 投稿日:03/02/16 00:41
Gilは2度と来るなヴォケ

426 名前:名称未設定[sage] 投稿日:03/02/16 02:12
yieldとか利用しないで書いてみた。

def subprime(n, m):
 if ((m * m) > n):
  return True
 elif ((n % m) == 0):
  return False
 else:
  return subprime(n, (m + 1))

def prime(x):
 if (abs(x) > 1):
  return subprime((abs(x)), 2)
 else:
  return False

for i in range(0, 50):
 if (prime(i) == 1):
  print i

427 名前:名称未設定[sage] 投稿日:03/02/16 02:18
def prime(x):
 if (abs(x) > 1):


def prime(x):
 if ((type(x) == int) and (abs(x) > 1)):

にした方が汎用性よいかな。

428 名前:デフォルトの名無しさん[] 投稿日:03/02/17 00:51
Jythonnなんだけど、CかC++で拡張モジュール作ったりできないの?
本とか調べてもそういう話ナイからだめっぽいけど。。。
PythonのGUIライブラリって名に使っていいかわかんないから
JythonでSWINGでも使おうと思うんだけど、
CやC++の拡張モジュール使えないと速さが。。。


429 名前:名称未設定[sage] 投稿日:03/02/17 06:39
>>428
Jythonの場合はJavaと同じようにCの拡張モジュール作成できる。
JNI利用して。
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/jni/


430 名前:名称未設定[sage] 投稿日:03/02/17 07:12
>>428
あとSwing利用するとどうやっても遅い。
もし、業務でないならばSWTを利用すればよい。
http://www3.vis.ne.jp/~asaki/java/eclipse/swt.html

配布する予定ならまだSWTはよくないけど。

431 名前:428[] 投稿日:03/02/18 00:09
ありが邸
とりあえずJNI調べてみる。
SWINGは情報多いからとりあえずこっちやってみる。


432 名前:デフォルトの名無しさん[sage] 投稿日:03/02/18 00:22
>>431
だからおまえは氏ね
2度と来るな

433 名前:デフォルトの名無しさん[sage] 投稿日:03/02/18 17:34
翻訳中のライブラリを html 版でもダウンロードできるようにしてほしい、
と言ってみるテスト。

434 名前:デフォルトの名無しさん[sage] 投稿日:03/02/18 17:49
ここにあるじゃん。
http://www.gembook.jp/html/tmp/doc_jp/lib/


435 名前:デフォルトの名無しさん[sage] 投稿日:03/02/18 17:57
>>434
いや、だからこれをまとめてダウンロードできるようにしてほしいということ。

436 名前:デフォルトの名無しさん[sage] 投稿日:03/02/18 18:15
>>435
そんなもん、urllib使って自分でなんとかしる。
何か不便に思うことがあったら
「わーい、プログラミングのネタみっけ!」
と喜ぶのがプログラマというものだ。


437 名前:デフォルトの名無しさん[sage] 投稿日:03/02/18 21:01
えらい!
律動した!


438 名前:デフォルトの名無しさん[sage] 投稿日:03/02/18 21:09
lambdaはプログラムをよみにくくするから
素晴らしいpythonの世界にふさわしくない


・・・って本当?


439 名前:デフォルトの名無しさん[sage] 投稿日:03/02/18 21:56
>>438
lambda に限らず、特定言語でしか使われていない機能はやはり読みにくくなるから、
いかがなものかと思う。

うまく使えば、コードがすっきりするのは確かでしょうけど、その代償として、
一部の人以外に読みにくくなってしまうのでは、使う意味がない(できるだけ避けるべき)と思う。

lambda のほかにも、reduce とかね。
list comprehension もかなりきわどい位置にあると思う。

440 名前:デフォルトの名無しさん[sage] 投稿日:03/02/19 01:36
特定言語でしか使われていない

読みにくい

にどういう関連があるの?

たとえばインデントによるブロック構造は
特定言語でしか使われていないけど、
これも読みにくいの?


441 名前:デフォルトの名無しさん[sage] 投稿日:03/02/19 01:47
lambdaは式しか使えないから、
式と文に区別があるというpythonの欠点を
実感させてしまう罠


442 名前:デフォルトの名無しさん[sage] 投稿日:03/02/19 08:13
>>439
> >>438
> lambda に限らず、特定言語でしか使われていない機能はやはり読みにくくなるから、
> いかがなものかと思う。

あほですか……。


443 名前:デフォルトの名無しさん[] 投稿日:03/02/19 12:13
> 特定言語でしか使われていない機能はやはり読みにくくなるから、

→特定言語でしか使われていない機能はやはり (他言語からきた初心者にとっては) 読みにくくなるから、

とすべきだったね。
しかし慣れないものが読みにくいのはあたりまえ。

でも、たしかに lambda は長ったらしくなりがちで
読みづらくなりやすいと思うことがある。
たとえばこんなの書くとき、どうする?

'-'.join(map(lambda m: '(%s,%s)' % (m.getprop(1), m.next.getid()), a.expand()))

式の途中で改行する? それとも lambda を関数として def する?


444 名前:デフォルトの名無しさん[] 投稿日:03/02/20 16:34
Python 2.3a2 リリース age

445 名前:デフォルトの名無しさん[sage] 投稿日:03/02/22 22:07
素朴な疑問なのだけど、 Pythonでワンライナーをやったらどんなかんじになる?
perl なんかだと、シェルからいろいろファイル操作を出来たりして、有名だけど、
Python だとそのあたりはどうなの?

446 名前:デフォルトの名無しさん[sage] 投稿日:03/02/22 23:50
>>445
あーぼくもちょうど昨日そんなこと考えてました。
たぶんふつうは python ではワンライナーはやらないと思う。
1行だとインデントできないし。

まあ、オレはそれでもやりたかったので、
1行書式からインデントしたスクリプトを自動生成して
python に食わせるヘルパールーチンを書いたけど。


447 名前:デフォルトの名無しさん[sage] 投稿日:03/02/23 00:00
あんまり向いてないんじゃない?
import文とprint文をセミコロンで繋げれば
ある程度のことはできるかもしれないけど。

448 名前:デフォルトの名無しさん[sage] 投稿日:03/02/23 00:11
>>447
import はさすがに無理がありすぎでしょ(w
僕が考えているのは、 sed とか awk とかでやるような操作のことです。

449 名前:デフォルトの名無しさん[sage] 投稿日:03/02/23 01:47
>>448
>sed,awk
sysとreを使わないで書くんですか?
import sys, re ; print re.hoge("regex","replace",sys.stdin.read())
とかやるのかと思ったけど。。

450 名前:デフォルトの名無しさん[sage] 投稿日:03/02/23 09:19
445は釣りじゃなかったのか?


451 名前:デフォルトの名無しさん[sage] 投稿日:03/02/23 13:11
>>446
これかな?
http://www.unixuser.org/~euske/pyone/pyone-0.1.py

452 名前:デフォルトの名無しさん[sage] 投稿日:03/02/23 14:00
>>451
ぴょん?

453 名前:デフォルトの名無しさん[sage] 投稿日:03/02/24 00:51
super の使い方で質問です。

class A:
   def meth(self):
       print "hello world"

class B(A):
   def meth(self):
       super(B, self).meth()

b = B()
b.meth()    # 本当は "hello world" と表示してほしい。

というのをやろうとしているのですが、
TypeError: super() argument 1 must be type, not class
とエラーがでてうまくいきません。

どうすれば期待通りに動作するようになりますか?
Python のバージョンは 2.2.2 です。

454 名前:デフォルトの名無しさん[sage] 投稿日:03/02/24 01:37
--------------------------
class A:
def meth(self):
print "hello world"

class B(A):
def meth(self):
A.meth(self)

b = B()
b.meth()
------------------------------
↑多少面倒でもいちいちこう書く方が個人的にはオススメ

class A(object):
と言う方法も有るけど。

455 名前:デフォルトの名無しさん[sage] 投稿日:03/02/24 01:44
っっとその前に。
上記の例だけだと
class B(A):pass
だけで望みの動作になるけど
そう言う話をしてるんじゃないよね?
気に障ったらゴメンナサイ。念の為ですんで。

456 名前:デフォルトの名無しさん[sage] 投稿日:03/02/24 02:15
>>451
いちおうドキュメント書いたので、こっちのリンクを貼ってくださいな。
http://www.unixuser.org/~euske/pyone/index.html

457 名前:デフォルトの名無しさん[sage] 投稿日:03/02/25 09:14
^= というコードを見かけたのですけど、Python Library Referenceのどこに説明が載っていますか?

458 名前:デフォルトの名無しさん[sage] 投稿日:03/02/25 11:02
^ は C と同じ xor をとる演算子です。

459 名前:デフォルトの名無しさん[sage] 投稿日:03/02/25 12:18
最近はXORじゃなくてEORと呼ぶらしい。
http://naruzo.cside1.com/html/online/keisan/keisan8.htm

460 名前:デフォルトの名無しさん[sage] 投稿日:03/02/25 14:06
昔から言うよ。例えばMC68000のニーモニックもEOR。

461 名前:403[sage] 投稿日:03/02/25 15:02
>>456
日本人が作ったんだから、日本語でも書いてほしい。

462 名前:デフォルトの名無しさん[sage] 投稿日:03/02/25 15:02
てすてすてす

463 名前:デフォルトの名無しさん[sage] 投稿日:03/02/25 21:38
>>461
この程度の英語は読めるようにしておいたほうが、将来のためになりますよ。

464 名前:デフォルトの名無しさん[sage] 投稿日:03/02/26 15:44
>>461
てきとーに書いたっす。
ttp://www.unixuser.org/~euske/pyone/index-j.html

465 名前:デフォルトの名無しさん[sage] 投稿日:03/02/26 15:49
>>464
ありがとうございます。
Pygameのドキュメントもがんばってください。

466 名前:デフォルトの名無しさん[sage] 投稿日:03/02/26 16:43
anygui使ってます。

from anygui import*
app = Application
win = Window(title='opao',size=(300,200))
app.add(win)
app.run()

(x,y)=(300,200)のwindowを表示させるだけのものです。
xyPythonとかのソースはどうなりますか?

467 名前:デフォルトの名無しさん[sage] 投稿日:03/02/26 16:48
app = Application()だ

468 名前:デフォルトの名無しさん[sage] 投稿日:03/02/26 17:46
wxPythonだ

469 名前:デフォルトの名無しさん[sage] 投稿日:03/02/26 17:51
PyGTK (0.6.x) のバヤイ:

import gtk
win = gtk.GtkWindow()
win.set_usize(300, 200)
win.show()
gtk.mainloop()

470 名前:デフォルトの名無しさん[sage] 投稿日:03/02/26 17:53
Tkinter のバヤイ:

import Tkinter
app = Tkinter.Tk()
frame = Tkinter.Frame(app, width=300, height=200)
frame.pack()
app.mainloop()

471 名前:デフォルトの名無しさん[sage] 投稿日:03/02/26 18:49
>467-470
感謝。今日の俺は冴えてる。
こんな簡単に作れるならDelfiとかVC.Netは必要ないですね。

python(プログラミング)は以下のページをきっかけに始めました。
http://www-6.ibm.com/jp/developerworks/linux/020111/j_l-anygui.html

472 名前:デフォルトの名無しさん[sage] 投稿日:03/02/26 18:50
と、windowを表示させることしか出来ないオレが言ってみるテスt

473 名前:デフォルトの名無しさん[] 投稿日:03/02/27 08:58
でも結局どのツールキットを使えばいいかわかんない罠。
anyguiってまだまだだし。


474 名前:bloom[] 投稿日:03/02/27 09:10
http://www.agemasukudasai.com/bloom/

475 名前:デフォルトの名無しさん[sage] 投稿日:03/02/27 09:37
GMT との時差を計算するのはどうするのがいちばん簡単ですか?

Thu, 16 May 2002 16:56:11 +0900 (JST)

こういう表示をしたいのですけど、うまい方法がよく分かりません。

476 名前:デフォルトの名無しさん[] 投稿日:03/02/27 11:31
time.asctime(time.localtime()) + (' %04d (%s)' % (-time.timezone/36., time.tzname[0]))

こんなかんじ?
こまいとこはがんばって。


477 名前:デフォルトの名無しさん[sage] 投稿日:03/02/28 01:27
>>476
timezoneを使うことでうまくいきそうです。

478 名前:デフォルトの名無しさん[sage] 投稿日:03/02/28 08:32
file オブジェクトの tell() ってなんなんでしょう?

stdio's ftell() と同様のようですが、C(?)使いではないのでよく分かりません。

ファイルを開いて一行ずつ呼んで、文字数と tell() の返す値を比べたりしているのですが、
いきなりマイナスの値を返したり、文字数と必ずしも一致した値だけ tell() の値は増えてくれなかったりして、
いまひとつメカニズムが理解できずにいます。

479 名前:デフォルトの名無しさん[sage] 投稿日:03/02/28 10:03
tell() は現在のファイルの読み取り位置 (ファイルの先頭からのバイト数) を得る関数だよ。
一旦ファイルを走査して必要なデータの開始位置と長さを覚えておき、
必要に応じて seek() でジャンプして適当な長さだけ read() すれば
ファイルの任意の位置から効率的にデータを読み出すことができる。

tell() がマイナス値を返すというのは変だね。
読み出した文字数と tell() の増分が合わないというのもおかしい。
Windows だと改行文字の関係でつじつまが合わなくなることがあるかも知れない。
OS は何?

480 名前:デフォルトの名無しさん[sage] 投稿日:03/03/01 09:26
昨日ははまりにはまった tell() ですけど、昨夜からは問題なく非負整数を返すようになってます。
だけど、昨日は確かに、 -47 とかっていう負の値を返していたんですよね、、、

> Windows だと改行文字の関係でつじつまが合わなくなることがあるかも知れない。
> OS は何?
Windows 2000 です。
改行文字は2 と扱われるみたいです。

本当は、 tell,seek,read でいろいろ移動したいのですが、まだうまく扱えません。
(ねらいどおりの位置から読んでくれない^^:)
もうちょっとがんばってみます。

481 名前:デフォルトの名無しさん[sage] 投稿日:03/03/02 19:43
Python 経由で Lisp(Scheme)とか Haskell にはまった人っている?
最近、微妙にHaskell に惹かれている。

482 名前:デフォルトの名無しさん[sage] 投稿日:03/03/02 19:47
をを、漏れも同じ流れだ。

483 名前:デフォルトの名無しさん[sage] 投稿日:03/03/02 23:10
俺はPython 経由で Lisp(Scheme)、 Haskell を通過して
Ocaml、Stackless Python、Limboに惹かれてる。

484 名前:デフォルトの名無しさん[sage] 投稿日:03/03/03 04:02
>481
最近schemeが楽しいでつ

485 名前:デフォルトの名無しさん[sage] 投稿日:03/03/03 19:53
今度 Python から少し浮気をしてスクリプト言語でないものもやってみようと思っているんですけど、
何がオススメですか?
C か Java にしようと思っているのですけど、ほかに何かお勧めはあるでしょうか?

型宣言をするタイプの言語を考えてます。

486 名前:デフォルトの名無しさん[sage] 投稿日:03/03/03 20:09
C++はどう?
templateにはまると思うニョロ。

template 統合スレとか参考になるかと。

487 名前:デフォルトの名無しさん[] 投稿日:03/03/03 21:41
PerlでなくPythonを選んだあなたには
Eiffelをお勧めします☆


488 名前:デフォルトの名無しさん[sage] 投稿日:03/03/03 22:27
>>486
C++ はかなり難しいと聞きますが、 C の経験なしでも大丈夫なんでしょうか?

>>487
メジャーな言語もやってみたいんです。

489 名前:デフォルトの名無しさん[sage] 投稿日:03/03/03 22:32
>>488
CあがりのC++プログラマは糞。
C++から勉強しましょう。

490 名前:デフォルトの名無しさん[sage] 投稿日:03/03/03 23:37
C++よりJavaのほうがいいと思うけどなあ。
ライブラリ充実してるし。

491 名前:名称未設定[sage] 投稿日:03/03/04 00:40
>>488
ちょっとやるにはC++は巨大すぎる気がする。
Javaでよいのでは。

>>489
それは極端。でもCと同じ感覚でC++やるとおかしな事になるのは確かですね。


492 名前:デフォルトの名無しさん[sage] 投稿日:03/03/04 01:25
templateを始めとしたgeneric programmingは知っておく価値があると思う。
C++, Eiffel, 次期Java のどれかに汁!

493 名前:デフォルトの名無しさん[sage] 投稿日:03/03/04 10:09
C をやるくらいなら C++ にしなさい、ということですね?

generic programming はまったくイメージが湧かないので、Java にしてみます。
C++ は有能なプログラマーにとっても、極めるのが難しいみたいですし。

494 名前:デフォルトの名無しさん[sage] 投稿日:03/03/04 11:23
つうか generic って静的な型付け言語だから意味あるわけでしょ?
Python みたいな動的な型に慣れちゃうと、
べつにたいして面白くもないと思う。


495 名前:デフォルトの名無しさん[sage] 投稿日:03/03/04 15:38
社会の趨勢を無視して Python へやって来た君達だろ?
それにふさわしい次の言語選択があっていいんじゃないか?
そうだよ。Prolog だよ。

Prologスレで待ってるぜ!


496 名前:デフォルトの名無しさん[sage] 投稿日:03/03/06 15:10
:-

497 名前:デフォルトの名無しさん[sage] 投稿日:03/03/06 16:18
!


498 名前:デフォルトの名無しさん[] 投稿日:03/03/07 02:47
どっちを使えばいいんだ

499 名前:デフォルトの名無しさん[sage] 投稿日:03/03/07 03:21
Python !!

500 名前:デフォルトの名無しさん[sage] 投稿日:03/03/07 03:26
KittyWalk を試してみましたが、立ち上がりません。
どうして?
環境 Windows98SE + PyJUG の Python2.2.2jp + Pmw1.1

----- ここから -----
C:\python22jp\Lib\site-packages\kittywalk-0.0.13>python kittywalk.py
Traceback (most recent call last):
 File "kittywalk.py", line 12, in ?
  main()
 File "kittywalk.py", line 8, in main
  gui = GUI(bbs)
 File "C:\python22jp\Lib\site-packages\kittywalk-0.0.13\gui.py", line 62, in __init__
  self.geometry(CONFIG.get("Window","Geometry"))
 File "C:\PYTHON22JP\lib\lib-tk\Tkinter.py", line 1358, in wm_geometry
  return self.tk.call('wm', 'geometry', self._w, newGeometry)
TclError: bad geometry specifier "640x480+0x0"
----- ここまで -----

tcl/tk の DLL は新しいの入れてあります。
bad geometry specifier ってどういうこと?


501 名前:162[sage] 投稿日:03/03/07 05:40
>>500
設定ファイルの初期化ルーチンにバグがあるみたい。
config.py の24行目を次のように書き換えてみて。
× "Geometry": "640x480+0x0",
○ "Geometry": "640x480+0+0",

インストールしたての状態でないと再現しない典型的なバグだと思う。

ところで遅ればせながら 0.0.13 を使ってみたわけだけど
率直に言ってかなり悪くなった気がする・・・(´・ω・`)ショボン
・800x600の画面で使ってる漏れには Reload ボタンと Delete ボタンが邪魔。
・datが無い状態でスレタイをダブルクリックしても空のタブしか表示されない。
 もう一度ダブルクリックするとようやくスレ内容を取得し始める。これ不便。
・スレ内容のダウンロード中とか描画中とかのメッセージが出なくなった。
 ついつい何度もスレタイをダブルクリックしてしまう罠。
・スレ内容の窓に入力フォーカスが移らないのでキーボードで操作できない。
・スレ内容の窓で右クリックメニューはどこ行った?
 ここに Reload と Delete があればボタンは要らない気がする。
・メニューバーの「表示」の中身がないのは何故?

漏れ的には 0.0.12 の操作感が好き。非常に細かいことだけど、
こういうところが GUI の操作感を決めるファクターだと思う。

502 名前:162[sage] 投稿日:03/03/07 06:04
んー待てよ。タブブラウザになったのはまあいいとして、
必ず新しいタブを開くというのが具合悪い気がする。
一々タブを閉じないといけないのが面倒臭い (今までは閉じる操作は要らなかった)。
スレ内容を表示するときに
(a) 新しいタブを開く
(b) 既存のタブを再利用する
のどちらかを選べるとイイな。一方をデフォルトとして設定できるとなおイイ。
ReloadボタンとDeleteボタンはあってもイイ気がしてきた。
しばらく0.0.12と0.0.13を使い比べてみるよ。

503 名前:デフォルトの名無しさん[sage] 投稿日:03/03/07 09:03
出来た。サンクス>>162

504 名前:デフォルトの名無しさん[] 投稿日:03/03/07 09:46
Python初心者です。
Oracleデータベースから日付型のデータを取得したら

「Mon Mar 01 00:00:00 2004」

というふうに取れました。これを

「04.03.01」

と直したいのですが、どなたか教えてください。
お願いします。

505 名前:デフォルトの名無しさん[sage] 投稿日:03/03/07 10:30
filter に使える関数は引数がひとつのもののみなのですか?
もう一個、別の引数も使えるとうれしいのですけど。

506 名前:デフォルトの名無しさん[] 投稿日:03/03/07 10:52
しかし、よくこんなけったいな言語作ったよな。

これってさ、インデントしまくって、折り返したくなったらどうすんの?

あと、>>414みたいなインデント失敗したコードって、
pythonユーザは読めるの?

507 名前:デフォルトの名無しさん[sage] 投稿日:03/03/07 11:13
>>506

>これってさ、インデントしまくって、折り返したくなったらどうすんの?

その欲求は通りません。
単に行末が長くなります。

>pythonユーザは読めるの?

読めません。

508 名前:150 ◆ismFPlKHko [sage] 投稿日:03/03/07 12:09
>>501
デバグありがとうございます。
162さんのご意見や、他のブラウザを使ってみて、
GUI デザインを勉強してみます。


509 名前:デフォルトの名無しさん[sage] 投稿日:03/03/07 17:05
>>506
一応マジレスしとくと、
> これってさ、インデントしまくって、折り返したくなったらどうすんの?
行末に \ を入れることで次の行に折り返すことができる。
また、リストや辞書、関数の引数リストなどの括弧の間では自由に改行できる。

人にもよるだろうが個人的にはインデントしまくって折り返しが必要になることはあまりない。
括弧の間の改行はよく使うが行末の \ による折り返しは滅多に使わない。

510 名前:デフォルトの名無しさん[sage] 投稿日:03/03/07 17:28
>>504
サラリと書いてみた。こんなもんでどーでしょ。

import re

WEEKDAY = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
MONTH = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]

re_date = re.compile(r"([A-Z][a-z][a-z]) ([A-Z][a-z][a-z]) (\d\d) (\d\d):(\d\d):(\d\d) (\d\d\d\d)")

def convert_date(s):
  match = re_date.match(s)
  if not match:
    raise ValueError, "invalid date format"
  try:
    w = WEEKDAY.index(match.group(1))
  except ValueError:
    raise ValueError, "invalid date format (bad weekday name)"
  try:
    m = MONTH.index(match.group(2)) + 1
  except ValueError:
    raise ValueError, "invalid date format (bad month name)"

511 名前:デフォルトの名無しさん[sage] 投稿日:03/03/07 17:29
  d = int(match.group(3))
  H = int(match.group(4))
  M = int(match.group(5))
  S = int(match.group(6))
  y = int(match.group(7))
  return "%02d.%02d.%02d" % (y % 100, m, d)

s = "Mon Mar 01 00:00:00 2004"
print repr(s)
print repr(convert_date(s))

一応時間や曜日も数値化してあるから return 文をいじれば別の出力も簡単に得られると思う。

512 名前:デフォルトの名無しさん[sage] 投稿日:03/03/07 17:40
>>505
> filter に使える関数は引数がひとつのもののみなのですか?
ひとつのもののみなのです。

>>> print filter.__doc__
filter(function, sequence) -> list

Return a list containing those items of sequence for which function(item)
is true. If function is None, return a list of items that are true.
>>>

> もう一個、別の引数も使えるとうれしいのですけど。
なぜ?

513 名前:デフォルトの名無しさん[sage] 投稿日:03/03/07 19:09
>>512
ちょっと便乗で質問。

python知らないんだけど、この問題ってfilterの関数をインライン定義
できる&変数をレキシカルでアクセスできるなら特に問題ないよね?
pythonもlambdaあるみたいから、
(let ((hoge 〜)(bar 〜))
 (filter (lambda(x) (foo bar x)) seq)) ;
こんな感じで書けるのかな。
インライン定義できなくても、関数オブジェクトやクロージャ渡せば
良い気もするけど。pythonだと普通はどう書くの?

514 名前:デフォルトの名無しさん[sage] 投稿日:03/03/07 19:37
lambdaクロージャで書けるよ。

hoge = 〜
bar = 〜
filter(lambda x: foo(bar, x), seq)

515 名前:デフォルトの名無しさん[sage] 投稿日:03/03/07 19:42
>>513
Python 2.2 以前は、外側のスコープの局所変数を参照するには以下のようなトリックが必要だった。

A-1)
def outer(seq, threshold):
def inner(x, threshold=threshold): # 局所変数を参照するためのトリック
return x < threshold
return filter(inner, seq)
B-1)
def outer(seq, threshold):
return filter(lambda x, threshold=threshold: x < threshold, seq)

Python 2.2 からは nested scopes がデフォルトになっているので次のように書ける。

A-2)
def outer(seq, threshold):
def inner(x):
return x < threshold
return filter(inner, seq)
B-2)
def outer(seq, threshold):
return filter(lambda x: x < threshold, seq)

詳しくは以下のドキュメントを読んでほしい。
http://www.python.org/peps/pep-0227.html
http://www.python.org/doc/current/ref/futures.html

516 名前:515[sage] 投稿日:03/03/07 19:43
失礼。タブが消えちゃった。

A-1)
def outer(seq, threshold):
  def inner(x, threshold=threshold): # 局所変数を参照するためのトリック
    return x < threshold
  return filter(inner, seq)

B-1)
def outer(seq, threshold):
  return filter(lambda x, threshold=threshold: x < threshold, seq)

A-2)
def outer(seq, threshold):
  def inner(x):
    return x < threshold
  return filter(inner, seq)

B-2)
def outer(seq, threshold):
  return filter(lambda x: x < threshold, seq)

517 名前:500[sage] 投稿日:03/03/07 20:18
>>501=162
ありがとう!! 動きました。すごい!
150氏もがんばって。

518 名前:513[sage] 投稿日:03/03/07 20:38
了解です。
やっぱ関数型を意識してますね。

519 名前:デフォルトの名無しさん[sage] 投稿日:03/03/07 22:01
>>508
>>501-502で言いたい放題書いちゃったのでちょっとフォローを。
2ちゃんねるブラウザが乱立してることからも分かるように
万人にとって使いやすいGUIなんてものはあり得ないと思いまつ。
使いやすければ使うし、使いにくければ他のものを使えばいい。
だから、KittyWalkも150さんが「こうだ!」と思った仕様にすれば(・∀・)イイ!と思うです。
みんな同じじゃつまらない。多少とんがってるぐらいがちょうどいい。
多様性は善。

520 名前:デフォルトの名無しさん[sage] 投稿日:03/03/07 23:23
前どっかのスレでやってたけど、
lambda の中で使える 3項演算子みたいなのがあると便利なんだがなあ…。
いつも

map(lambda x: (cond(x) and "true") or "false", elements)

とやるのだけど、ちょっとわかりにくい。

521 名前:デフォルトの名無しさん[sage] 投稿日:03/03/08 01:42
KittyWalk (・∀・)イイ!!
でも、どうやって書き込むの?どこにもそれらしきものが…。
Reload や Delete はメニューバーが空いているから、
ここに入れてしまうってのはどう?




522 名前:デフォルトの名無しさん[sage] 投稿日:03/03/08 01:54
0.0.13、書き込み機能が無くなってるモヨリ。0.0.12にはあった。

523 名前:デフォルトの名無しさん[] 投稿日:03/03/08 07:36
奇妙な言語のベスト10には入れてやる

524 名前:デフォルトの名無しさん[] 投稿日:03/03/08 07:53
スケベです
http://homepage3.nifty.com/digikei/ten.html

525 名前:デフォルトの名無しさん[sage] 投稿日:03/03/08 09:39
>>520
lambda に限定なわけじゃないけど、3項演算子をPython にとりいえるかで、激しく議論されているよ。

http://www.python.org/peps/pep-0308.html
PEP: 308
Title: If-then-else expression

http://mail.python.org/pipermail/python-announce-list/2003-March/002083.html
Vote on PEP 308: Ternary Operator

526 名前:デフォルトの名無しさん[] 投稿日:03/03/08 09:55
だれかweave使ってる?
実行時コンパイルが通らないんだけど、ちゃんと使えてるの、コレ?


527 名前:504[] 投稿日:03/03/08 10:01
510さんありがとうございました。
ベタ打ちでとれました。が
def conv..以降を関数にしようとして、
machのところでひっかかって(たぶん)出来ませんでした。
def conv..以前の扱いもよいしたら良いのか…

自分で作ったものは、IF文と文字の切り取りをつかった恥ずかしいものなので
510さんのプログラムをいただきたいのですが...
言わんとしていることは理解できますが、始めて1週間目の初心者には
どういう形にしたら良いのかむずかしくて、宜しくお願いいたします。




528 名前:デフォルトの名無しさん[sage] 投稿日:03/03/08 11:04
url をオープンするときに、 User-Agent やらを指定するには何を使えばいいのですか?
urllib2 のあたりあると思うのですけど、多すぎてよく分からない。

529 名前:デフォルトの名無しさん[sage] 投稿日:03/03/08 12:49
このスレをageる奴こそ敗北者

530 名前:520[sage] 投稿日:03/03/08 14:34
>>525
これをみるとどれも ugly だね…やっぱりいらないや。

とは思っても、もう投票されちゃうのか。

531 名前:デフォルトの名無しさん[sage] 投稿日:03/03/08 15:06
>>530
2月(先月)の python-list のメーリングリスト流通の 2/3 くらいは三項演算子の話題で費やされた気がする。
Subject: を見るだけで、鬱になった。

http://mail.python.org/pipermail/python-list/

532 名前:デフォルトの名無しさん[sage] 投稿日:03/03/08 17:40
>>531
未来からメールが来てるね。

533 名前:デフォルトの名無しさん[sage] 投稿日:03/03/08 19:40
Cの3項演算子と語順が違うのは見づらくてイヤン。

534 名前:デフォルトの名無しさん[sage] 投稿日:03/03/08 21:01
だったらC使えよ

535 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 01:19
>>531
英語苦手だから今まで本家の ML は除いたことなかったんだけど、
すごいne! 議論が白熱していると入っても一ヶ月で 12MB の流量って!!
日本の ML ももう少し活発になってほすぃ…。

536 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 02:37
みんな ML 読んでんの?


537 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 02:46
ぱいでぶだけならちょくちょく。

538 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 04:29
プログラミング初心者な漏れだけど、Python はコード読みやすいし、
なんかインデントが気持ちよしなんで、おぼえようとしてる。
で、Python は初学者には最適っていわれてるよね。確かにわかり(・∀・)イイ!
とは思うんだけど、オブジェクト指向に関しての説明で優しく書いてあるのない?
チュートリアルにしても、Web 上のリソースにしても何らかのプログラミング
言語を知っているのを前提にしているものが多いんだよね。
漏れは C と awk をちょっと使ったことがあるくらいだから、この辺つらい。
エリック・レイモンドなんかもなにも知らないんだったら Python しる!
とかいってるしね。
とりあえず、今はこれ読んでる。

An Introduction to Tkinter
http://www.pythonware.com/library/tkinter/introduction/index.htm


539 名前:デフォルトの名無しさん[] 投稿日:03/03/09 09:11
>538
今から始めるならc-baseのLuaがいいよ。
Lua VS Python
http://lua-users.org/wiki/LuaVersusPython
プログラミング言語 Lua
http://pc2.2ch.net/test/read.cgi/tech/1034182349/



540 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 09:12
pamlに入れて遊んじゃえ。
http://netpage.em.com.br/mmand/pluasamp.htm

541 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 11:12
tkinter は、あまり学習が報われないような、、、

542 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 13:15
あまりオブジェクト指向の勉強にはならないけど
結果が目に見えて分かりやすいという意味では Tkinter は初学者向きだと思ふ。

543 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 13:22
>>528
最近のバージョンだと User-Agent は次のようにすれば変更できる。
urllib.URLopener.version = "Pichon/1.0"

Python 1.5.2 だとハードコードしてあるんで次のようにしないといけない。
class URLopener(urllib.FancyURLopener):
  def __init__(self):
    urllib.FancyURLopener.__init__(self)
    self.addheaders = [("User-Agent", "Pichon/1.0")]

file = URLopener().open("http://www.python.org/")
file.close()

HTTP リクエストに他のヘッダを加えたい場合はこんな面倒なことせずに
addheader() メソッドを使えばよろしい。

544 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 13:29
>>526
weave って何?
漏れの知ってる weave は TeX 関連の超マニアックなコマンドなんだが・・・。

NAME
  weave - translate WEB to TeX

SYNOPSIS
  weave [ -x ] webfile[.web] [ changefile[.ch] ]

DESCRIPTION
  The weave program is used to create a TeX file for viewing
  a Web program.

545 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 14:14
>>543
少し不恰好ながら、 urllib.URLopener を継承する形で、 User-Agent を変更することが出来ました。

546 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 14:15
>>526
> だれかweave使ってる?
wave とは別ですか?

547 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 17:03
2.3 用のJapaneseCodecs がそろそろほしいかも、といってみるテスト。

548 名前:デフォルトの名無しさん[] 投稿日:03/03/09 17:37
weaveってこれだよ!
http://www.scipy.org/site_content/weave 

Pythonの中にC/C++のコードが埋め込めるんだよ!


549 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 18:51
perlのinline C みたいなもの?

550 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 18:53
>>548
それ使った「へろーわーるど」きぼん。

551 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 19:36
>>550
( =´∀`)ノ
>>> import weave
>>> weave.inline('printf("Hello, world!!\n");')

552 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 19:39
>>551
速度は変わるのでしょうか?

553 名前:デフォルトの名無しさん[sage] 投稿日:03/03/09 20:01
>>552
さすがにこれだけ短いと分からん(w

554 名前:548[] 投稿日:03/03/09 22:45
ふーー、なんとか動くようになった・・・
gccが3.2↑になってscipyのCXXのテンプレート周りで引っかかるようになったみたい。
CVSにあるのだとテンプレートをあんまり使わないscxxを使うようになってて、そっちでオケーだった。
weaveだけのビルドにちょっと躓いたけどなんとかなった。

>>550
C++版

>>> import weave
>>> weave.inline('std::cout << "Hello World" << endl;", headers=["<ostream.h>"])

これくらい短いとオーバーヘッドの方が大きくてかえって遅くなってると思う。
二重ループを含むような数値計算なんかだとかなり速くなる。


555 名前:デフォルトの名無しさん[] 投稿日:03/03/10 15:07
Pythonの名前空間って、グローバル、モジュール、クラス、関数ごとに一つずつでいいんですか?


556 名前:デフォルトの名無しさん[sage] 投稿日:03/03/10 16:08
__builtin__を忘れている

557 名前:デフォルトの名無しさん[sage] 投稿日:03/03/10 17:19
>>555
グローバル、モジュール、ローカルの3つ。

(__builtin__は、そういう名前のモジュール)

558 名前:デフォルトの名無しさん[KittyWalk] 投稿日:03/03/10 17:21
0.0.14   が、来週の水曜日にリリースされました。

559 名前:デフォルトの名無しさん[sage] 投稿日:03/03/10 20:18
KittyWalk 書き込みテス。


560 名前:デフォルトの名無しさん[sage] 投稿日:03/03/11 04:58
KittyWalk("0.0.14").write("テスト")


561 名前:デフォルトの名無しさん[] 投稿日:03/03/11 07:48
C/C++のコードをパースして、定数、変数、関数、クラス(とメソッド)なんかの一覧を型情報つきで返してくれるようなモジュールないですか?


562 名前:デフォルトの名無しさん[sage] 投稿日:03/03/11 10:06
>>561
開業汁!


563 名前:デフォルトの名無しさん[sage] 投稿日:03/03/11 10:20
>>562
解凍汁!

564 名前:デフォルトの名無しさん[sage] 投稿日:03/03/11 14:47
>>558
> 0.0.14   が、来週の水曜日にリリースされました。
直ってたよ。




ちっ

565 名前:デフォルトの名無しさん[sage] 投稿日:03/03/11 14:54
つまらないことかもしれないけど、
KittyHawk
から名前を取ってるの?

566 名前:デフォルトの名無しさん[sage] 投稿日:03/03/11 16:15
同じ内容のデータを
open(file, 'w')
open(file, 'wb')
それぞれで保存したときに、
os.path.getsize(file)
の値が異なる理由はなぜですか?

'wb' のほうが少しだけサイズが小さくなるのですが、、、

ファイルのプロパティを比べてみると、
「サイズ」が別で、「ディスク上のサイズ」は同じ値になっていて、
os.path.getsize()
は「サイズ」のほうを返すようです。

567 名前:デフォルトの名無しさん[sage] 投稿日:03/03/11 19:18
>>565
SillyWalkっしょ。
こんな会社があったのは知らんかった… ttp://www.sillywalk.com/

>>566
'w' はテキストモードだから、 \n が 0x0D 0x0A で出力される。
といっても、DOSとかWindowsでの話しだが。


568 名前:デフォルトの名無しさん[sage] 投稿日:03/03/11 23:53
ジョンクリーズ最高

569 名前:デフォルトの名無しさん[sage] 投稿日:03/03/12 21:19
http://slashdot.jp/comments.pl?sid=79810&op=&threshold=0&commentsort=0&mode=nested&startat=&cid=275434
warata

570 名前:デフォルトの名無しさん[sage] 投稿日:03/03/13 23:38
アンチHSP諸君!! お前らpygameはどうですか?
http://pc2.2ch.net/test/read.cgi/tech/1006747830/

pygame もいつのまにかデータ落ちしたのね。

571 名前:デフォルトの名無しさん[質問上げます] 投稿日:03/03/14 18:21
HTTPからpythonでJPEGイメージをダウンロードしたいンですけど、
これ↓読んでもわからん自分にはいつまでたってもわからんのでしょうか?
ttp://iblinux.rios.co.jp/PyJdoc/lib-j/www.html

572 名前:名称未設定[sage] 投稿日:03/03/15 01:08
>>571
httplibの利用方法なら
http://www.not-enough.org/abe/manual/unix2-au99/python.html
http://www.python.org/doc/2.2/lib/module-httplib.html
見てわからないです?
とりあえず動作させてみるとわかるかと。

573 名前:デフォルトの名無しさん[sage] 投稿日:03/03/15 03:47
>>571
画像をダウンロードするだけなら urllib もいいかも。


574 名前:571[sage] 投稿日:03/03/15 15:28
urlopen()で成功しますた!

575 名前:デフォルトの名無しさん[sage] 投稿日:03/03/15 22:16
http://python.jp/Zope/PyLog//1047721075/addPostingForm

オライリージャパンに対してみんなで何か運動を起こしませんか?
具体的な方法は思いつかなくて申し訳無いが。

576 名前:デフォルトの名無しさん[sage] 投稿日:03/03/16 01:12
>>575
ライブラリー本に関してか? Nutshell 本に関してか?
まともな翻訳者じゃないなら、和訳版はいらないな。
テクニカルリファレンス(だったかな?)レベルの訳は混乱を招く。

577 名前:デフォルトの名無しさん[sage] 投稿日:03/03/16 02:31
つーかみんな本買うの?(買ってんの?)
漏れは Library Reference とソースコードだけでお腹いっぱいなんだが。

578 名前:デフォルトの名無しさん[sage] 投稿日:03/03/16 10:24
オレも買ってない。
リファレンスハンドブックみたいなものはときどき欲しいけど、
Python の進歩が速すぎて本を買っても時代遅れになってしまう。

いつも本が出たあとにオイシイ機能がたくさん追加されてるからな〜
活発なのはいいんだけど。

579 名前:デフォルトの名無しさん[sage] 投稿日:03/03/16 13:18
ML の流通量を見る限り、日本のPythonユーザーの数はかなり少ないからなぁー
その上、翻訳される本がクソ本ばかりで、新たな利用者を獲得しつつあるとはいえないし。

580 名前:デフォルトの名無しさん[] 投稿日:03/03/16 13:47
はじめまして。
これからプログラム言語を学ぼうと思うのですが、Pythonが史上最強、最高の言語だと
聞いてここにきました。
Pythonが最高ということで間違いありませんか。間違いありませんね。
わかりました。ありがとう。

581 名前:デフォルトの名無しさん[sage] 投稿日:03/03/16 13:55
>>580
日本語にしときなよ。

582 名前:デフォルトの名無しさん[sage] 投稿日:03/03/16 18:22
http://python.jp/Zope/PyLog//1047721075/index_html

に小学生・中学生とか書いてありますが、ただでさえ日本で使ってる人が
いないのに小学生・中学生で使ってる人なんているんでしょうか?
もしかして、Pythonを使ってる人の子供?

# もっとも漏れがリアル厨房なんだが…

583 名前:デフォルトの名無しさん[sage] 投稿日:03/03/16 19:20
若いんだから2ちゃんねるなんかに入り浸ってないでもっと生産的なことをしたまへ。

584 名前:デフォルトの名無しさん[sage] 投稿日:03/03/16 22:57
小学生・中学生で……って、プログラミングをしてること自体は別に
珍しくもなんともないから、あとはwebでも雑誌でもpythonに触れ
る機会さえあれば全然おかしくないと思うが。
例えば、父親がsoftware design(だかなんだか、その辺の雑誌)でも買っていれば、
父親自身は全く出来なくても、子供がpython使い(に限らないが)になるのは
十分あり得る話。


585 名前:デフォルトの名無しさん[sage] 投稿日:03/03/17 00:41
だけど MSX 全盛期にくらべて、小中学生プログラマが減っているのは事実。

586 名前:デフォルトの名無しさん[sage] 投稿日:03/03/17 05:50
むかしはパソコンなんてなんの役にも立たなかったからなあ。
楽しもうと思ったら、自分でプログラム書くしかなかった。
今じゃなんでもできすぎるからな。プログラム書くなんてばからしいのかもしれない。


587 名前:デフォルトの名無しさん[sage] 投稿日:03/03/17 05:54
Windows でOSべったりのプログラムを書けるようになるには、かなりの勉強量がいるからね。

588 名前:デフォルトの名無しさん[sage] 投稿日:03/03/17 11:52
今のガキって恵まれているよなぁ。
漏れがガキの時なんて、PC はとんでもなく非力で、BASIC か
機械語をハンドアセンブルするみたいな手段しかなかったもんな。
アセンブラも10万円とか平気でしてたし。

情報も少なくって、コンピュータのこと全然わかんなかったけど、
雑誌 (アスキー、I/O、マイコンあたり) を買ってきてなめるように
読んでたよ。
それが今じゃ、情報は有り余っているし、処理系も豊富で選び放題。
でも、くそ情報が増えた分、取捨選択するのが面倒だけどね。
奨学生だってがんばれば Python バリバリ使えると思うよ。


589 名前:デフォルトの名無しさん[sage] 投稿日:03/03/17 16:42
逆に筋のいい入り方ってのがなくなってきている気がするな。
昔はアスキーとかの雑誌しかなかったけど、
逆に主要な情報源が限られていたから、ある程度集約されていた面がある。
空気を掴むのも難しくなかった。
それに、時代が進むにつれて必要になったものが順次投入されてく
るという流れがあった。ハードとか言語とかアルゴリズムとか。
今は一度に出くわすわけだし、言語も色々目移りしちゃうね。

あと、色々手を出すより、少ない対象にじっくりつきあうとか、プログラムを
きちんと完成させる経験の方が得るものは大きいしやっておくべきだけど、
そうだと知らなくても自然にそうなる状況が昔はあった。
今は色々舐めてみても、結局余り知的能力の涵養になることなく
時間切れで大人になってしまう、ということになりがちなんじゃな
いかと思ってしまうな。
例えばアルゴリズムとかでわからないところをそのままにしても目移り先に困らんし。

この辺、実際どう影響があったと思うか、
今の学生あたりの若い層に聞いてみたいところ。


590 名前:デフォルトの名無しさん[sage] 投稿日:03/03/17 17:44
>>589

リアル厨房ですが、下手な日本語で的を得ていないレスですみません。
かなり情報がありすぎて困っています。Googleで「プログラミング 入門」みたいな
語句で検索すると沢山出てきて、いったい何を使えばプログラミングを出来るように
なればぜんぜんわかりませんでした。言語も「あれがいい」「これは純粋ななんちゃらで…」
「いろいろな分野で使われていて」「すぐに覚えられる」など、人によって言っている事が
ぜんぜん違うし。それに、日常生活で自分でプログラムするよりも
ほかの人によって作られた完成品を使ったほうが楽だし。
「ただ文字列を並べ替える」みたいなことでもプログラムが用意されていて、
ほとんど自分でプログラムしないと困ることも少ないし。

パソコンを「使える」人間が周りにいますが、ほとんどの人はプログラミング
しよう、とは思わないらしいです。自分で作りたいものを作るよりも
検索したりしているみたいで、せいぜいCGIのパラメーターをいじるくらいらしいです。
まぁ、僕もそんなこと言うほど完全にPython使えないんですが。

あと、インターネット環境がない人のがプログラミングにはまっています。

>色々手を出すより、少ない対象にじっくりつきあうとか、プログラムを…
参考にさせてもらいます。

長くなってすみません。

591 名前:名無しさん[sage] 投稿日:03/03/17 21:53
困らないからやらないんならそれでいいんだよ。
困らないけど遣りたい、知りたい、そういう奴が学べば委員だよ。
そうしているうちにまだ誰も出来てないことをやりたくなるかも知れない。
そしてついには発展を担うようになるんだ。
そういう人間が必要なんだよ世の中には。


592 名前:デフォルトの名無しさん[sage] 投稿日:03/03/17 22:17
KittyWalk-20030216 試しました。

書き込みが出来なくなっています…。
で、書き込みボタンを連打すると落ちてしまうときがあります。
スレの検索は出来ました。
スレ一覧の未読数、リロードすると結果を反映するのは良いですね。

pure python のブラウザなので、期待しています。
がむばって。



593 名前:592[sage] 投稿日:03/03/17 22:32
あ、ちなみに Win98SE です。(Python2.2.2)

書き込みボタンを押したときはこんなエラーが出てました。

Exception in Tkinter callback
Traceback (most recent call last):
File "C:\PYTHON22JP\lib\lib-tk\Tkinter.py", line 1300, in __call__
return apply(self.func, args)
File "C:\TMP\kittywalk-20030316\threadpane.py", line 102, in post
thread = self.get_active_thread()
File "C:\TMP\kittywalk-20030316\threadpane.py", line 97, in get_active_thread
return self.notebook.page(name).get_thread()
AttributeError: Frame instance has no attribute 'get_thread'



594 名前:デフォルトの名無しさん[sage] 投稿日:03/03/17 23:00
>>590
> いったい何を使えばプログラミングを出来るように
> なればぜんぜんわかりませんでした。
プログラミング(プログラムを書くという行為)がどういうことか
まだよく分からないんじゃないかな。言語の選択とか各種の方法論とか
そういう話はプログラミングの本質が分かってないと意味を成さない。

最近はご丁寧にプログラミングの何たるかを説いてくれる人がいたりする。
でも、漏れがプログラミングに入門した当時はそんな親切な解説はなかったし、
そんなもの読まなくてもプログラミングがどういうものか分かるようになった。
それに、多分説明されても分からなかっただろうなと思う。漏れ自身説明する側に
まわったことがあるけど、あれこれ手を尽くして説明してもイマイチ飲み込めない
プログラミング初心者がほとんどだった。プログラミングというのは、教わっても
どういうことなのか分からない種類の行為なんだと思う。

漏れが入門当時にやったことと言えば、雑誌に載っていたプログラムソースを
打ち込んでみるとか、既存のプログラムを改造してみるとか、そういう誰でも
やってる当たり前のことだった。興味本位でそういうことを繰り返しているうちに
知識が増えて勘が働くようになり、何もない状態からプログラムを書けるように
なった。ああ、プログラミングってのはこういうことか、と実感できるように
なったのはそれから随分経ってからのことだ。きっと多少の違いはあれ、みんな
似たような経験をしてきていると思う。

Python でも Perl でも C でも Java でも何でもいいから、とにかく一つの
プログラミング言語を「分からないところはほとんどない」と言えるぐらい
やり込んでみるといいと思う。その頃にはプログラミングの何たるかが
理屈じゃなく実感を伴った経験として分かるようになっていると思う。

595 名前:デフォルトの名無しさん[sage] 投稿日:03/03/17 23:03
pythonの知名度はどうしてこんなに低いんでしょうか。
僕が思うにHSPよりも使いやすいと思うのですが。

596 名前:デフォルトの名無しさん[sage] 投稿日:03/03/17 23:09
本屋いってきた
入門書が2種類くらいしかない
しかも3800円とかする
厨学生の漏れには無理ですた

597 名前:デフォルトの名無しさん[sage] 投稿日:03/03/17 23:20
>>596
Pythonの入門書なら「Pythonで学ぶプログラム作法」。これだね。
値段も3000円+税だから、工房の俺でも買えたよ。
しかも、例え方が巧みでサンプルソースがすごくわかりやすい!


と、宣伝してみるテスト

598 名前:デフォルトの名無しさん[sage] 投稿日:03/03/17 23:30
>>595
英語がネックなのだろうと思う。漏れは英語で読んじゃうから
想像だけど、日本語だけだと情報が足りないんじゃないかな。
リソースの大半が英語という状況では、英語恐怖症の人が多い
日本での普及は望めない気がする。

もっとも漏れは「普及は善」とは思わないわけだが。

599 名前:デフォルトの名無しさん[sage] 投稿日:03/03/17 23:36
>>597
ありがとう!
さがしてみます。

600 名前:デフォルトの名無しさん[sage] 投稿日:03/03/18 02:04
>>598
アメリカやオーストラリアの小中学生は英語ペラペラだが、
日本の小中学生が英語がほとんど読めないからのう。


601 名前:デフォルトの名無しさん[sage] 投稿日:03/03/18 02:20
> 日本の小中学生が英語がほとんど読めないからのう。

大学生でもほとんど読めてませんが。

602 名前:150 ◆ismFPlKHko [sage] 投稿日:03/03/18 02:39
>>593
付け焼刃で申し訳ないですが、
threadpane.py、97 行目の
 return self.notebook.page(name).get_thread()

 return self.notebook.page(name).thread
に書き換えてください。がむばります。

603 名前:デフォルトの名無しさん[] 投稿日:03/03/18 14:36
Tkinterで3次元グラフィックってできますか?


604 名前:デフォルトの名無しさん[sage] 投稿日:03/03/18 15:20
>>603
http://pyopengl.sourceforge.net/
http://www.3dartist.com/WP/python/tkinter3d.htm
今度からは自分でググろうな。先生との約束だ。

605 名前:デフォルトの名無しさん[sage] 投稿日:03/03/18 15:37
>>603
ほんと、ちょっと検索してわかることは自分で調べよう。
漏れもヘタレだからわかんないことがあると質問するけど、
2ちゃんねるにでさえ、聞く前には1日2日は自分で調べたり、
ぐぐって色々読んでからにしてるよ。

自分で1週間考えてもわからないことを、人に教えてもらうと
1分で理解できたりする。だから、質問に答えてもらえることは
とっても貴重なことだし、そういうコストを無駄にすべきじゃない。



606 名前:デフォルトの名無しさん[sage] 投稿日:03/03/18 16:03
>>603
自分で回転行列を使って canvas に描くという方法もあるぞ。
むかしはみんなそうやったもんだ。ああ、ワイヤーフレーム。

607 名前:589[sage] 投稿日:03/03/18 21:19
>>590
> リアル厨房ですが、下手な日本語で的を得ていないレスですみません。

的は射るもの、な。得るのは当。欝陶しいかもしれないがリア厨とのことなので。

> かなり情報がありすぎて困っています。Googleで「プログラミング 入門」みたいな
> 語句で検索すると沢山出てきて、いったい何を使えばプログラミングを出来るように
> なればぜんぜんわかりませんでした。言語も「あれがいい」「これは純粋ななんちゃらで…」

目的、環境、それまでの知識、によってどの言語がいいかは全く違う。
環境はOSなどだけじゃなくて、回りの人間の利用環境や興味とか、
読んでるものとかも含む。
目的は、こういうものが作りたい、というようなものだけじゃなく、
漠然とプログラミングに対してもってるイメージを含む。
ちょっと、自己紹介してみないかい。

> 検索したりしているみたいで、せいぜいCGIのパラメーターをいじるくらいらしいです。

それではコンピューティングを理解は出来まいなあ。

> あと、インターネット環境がない人のがプログラミングにはまっています。

それは理解できる。ネット環境がないというのは確かに不利ではあるけど、
興味の対象に取り組む時間は確実に長くなる。
……ゲームとかのことに時間をとられすぎなければ、だけど。
このことは、それだけ頭を使う時間が長いということ。
地味だけど長期的には強力なメリット。

> 長くなってすみません。

NewNews に比べりゃなんでもない。どうせ行数制限あるし、気にしない。


608 名前:589[sage] 投稿日:03/03/18 22:06
>>594
> プログラミング初心者がほとんどだった。プログラミングというのは、教わっても
> どういうことなのか分からない種類の行為なんだと思う。

概念そのものを受け付けないとなあ。海を知らない奴に海を説明するのは難しい。

> 漏れが入門当時にやったことと言えば、雑誌に載っていたプログラムソースを
> 打ち込んでみるとか、既存のプログラムを改造してみるとか、そういう誰でも
(snip)
> なったのはそれから随分経ってからのことだ。きっと多少の違いはあれ、みんな
> 似たような経験をしてきていると思う。

俺もそれを辿ったクチだけど、今だったらもうちょっといい方法とか、
手助けのしようもあるんじゃないか……あるといいな、とは思う。
勿論、本人の意欲が最も重要ではある。

> Python でも Perl でも C でも Java でも何でもいいから、とにかく一つの
> プログラミング言語を「分からないところはほとんどない」と言えるぐらい

それは賛成。漠然とこういうことがやりたい、と思っていることが
出来ない言語ではモチベーションが続かないから、どうせなら適した言語を
選んだ方がよいだろうが。

>>597
> Pythonの入門書なら「Pythonで学ぶプログラム作法」。これだね。

英語ならwebで読めるようだね。
http://www.freenetpages.co.uk/hp/alan.gauld/

少々章立てが違うな。版が違うからだろうか。


609 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 03:36
もうちょっと具体的な Python プログラムの話をしよう。

なんか、普及とか、プログラムの概念のばかりが続くと、 Python は衰退の一途をたどっていて、
起爆剤を求めているみたいで、なんかいやな雰囲気だ。
./ でも Perl と Ruby の比較はあったけど、 Python は半分無視されているし、、、

610 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 03:37
./ ではなく、 /. ですね。
http://slashdot.jp/askslashdot/03/03/18/0042202.shtml?topic=58
Slashdotに聞け!: これからはRuby?それともまだまだPerl?

611 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 04:57
>>609
全然衰退なんかしていないと思われ。むしろ普及の一途を辿っている気がする。

ところで喪前ら、最近 Python で何を作りましたか?
漏れは日記変換スクリプトとかギコペのクローンとか Sketch のプラグインとか
iso-2022-7bit コデック (と言っても Latin-1 と日本語のみ対応) とかそんな感じ。

612 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 07:46
>611
なぜ日本で普及しない?
http://www.freeml.com/message/python@freeml.com/0000057
広まらない理由
http://www.freeml.com/message/python@freeml.com/0000060

盛り上げてやって。(せめてメーリングリストくらい)

613 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 08:23
>>611
あんたすげーよ。ギコペのソースうぷしてください。

>>612
他の地域に比べて、日本での普及率は低いかも知れないけれど、
そこの文章はあまりにも稚拙だと思う。

614 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 11:09
> ところで喪前ら、最近 Python で何を作りましたか?

じつは web ブラウザ作ってます。レイアウトエンジンが python 製。
詳細はまだナイショ。

615 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 11:42
>>612
主催者ご本人?
機械伯爵という名前からして恥ずかしい。

616 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 14:11
>>611
練習がてらにエロ画像動画自動収集ソフト作ったよ!

617 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 15:05
たしかに、「伯爵です」はないだろ。
変なやつばっかと思われて初心者に逃げられそうだ。


618 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 15:38
MPlayerが *.ramに対応してないから、*.rmをゲッツするための
スクリプトとか書いたぐらい。

619 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 16:39
本格的なアプリとかライブラリーを Python でやってる人はすくないのかなぁー。

Rubyなんかだと(比較していいのか分からないが) 学生さんでも自作のものを公開したり、
ruby-dev にもいろいろ投げている人がいるのに。

620 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 16:49
>学生さんでも自作のものを公開したり、
よくわかんないけど、汚いソースでも、恥ないで公開しれってこと?

621 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 19:31
>>611
最近ファイルマネージャつくってます。しっくりくるものがLinuxで
無いので。

622 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 20:22
作ったら、Python-announce-listで知らせてくだちい。

623 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 20:25
>>621
> >>611
> 最近ファイルマネージャつくってます。しっくりくるものがLinuxで
> 無いので。

もしかして、これ?
http://sourceforge.jp/projects/ahaetulla/
ガンがってね。
日本人の強力なPython開発者はいないみたいだから。

624 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 22:26
>>616
最近は奥さんと殺伐としてるかい?

625 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 23:25
>>616
漏れも〜。連番一括DLはヘビ使いの必修科目だよなっ!
他にも何人かいると見た(w

626 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 23:27
>>623
> 日本人の強力なPython開発者はいないみたいだから。
そのセリフは聞き捨てならんなあw
というか「強力なPython開発者」というのはどういう人を指してる?

627 名前:デフォルトの名無しさん[sage] 投稿日:03/03/19 23:39
>>625
)ノシ

628 名前:デフォルトの名無しさん[sage] 投稿日:03/03/20 01:18
>625
ヘビ使い名のるなら、特徴ベクトル割り出して自動分類
好みの画像を一発検索くらいのことやれよ。


629 名前:デフォルトの名無しさん[sage] 投稿日:03/03/20 01:37
>>628
ああ、そうだったそうだった。「ヘビ使い」は画像処理のエキスパートで
なければならないんだったよな。うっかりしていた。スマソ。

630 名前:デフォルトの名無しさん[] 投稿日:03/03/20 11:30
pythonで分散コンピューティングってどうやるんですか?
RubyだとdRubyとかあるみたいなんだけど。


631 名前:デフォルトの名無しさん[sage] 投稿日:03/03/20 14:05
好きなの選んでくれ。ほかにもまだたくさんある。

http://py.vaults.ca/parnassus/apyllo.py/126307487.549099265


632 名前:デフォルトの名無しさん[sage] 投稿日:03/03/20 14:20
>630
ただ漠然と分散コンピューティングといわれても答えようがねえな。
どんな分野だ? 具体的にやりたいこといってみれ。


633 名前:デフォルトの名無しさん[sage] 投稿日:03/03/21 12:03
GeckoってPythonから使える?

634 名前:名称未設定[sage] 投稿日:03/03/22 01:13
つかえる。けどHTMLレンダリングの場合
wxHTML
http://www-6.ibm.com/jp/developerworks/linux/020712/j_l-wxpython.html
って手もある。

XULなら利用した事ある
http://jt.mozilla.gr.jp/docs/xul/xulnotes/xulnote_oven.html



635 名前:デフォルトの名無しさん[sage] 投稿日:03/03/22 01:36
何かお題を出して、それを各人が Pythonic に書いてみる?
最近は日本語の文章ばかりで、 Python のコードがぜんぜんないから。(w

636 名前:デフォルトの名無しさん[sage] 投稿日:03/03/22 03:18
MLみたいな下らん事はヤメレ


637 名前:デフォルトの名無しさん[] 投稿日:03/03/22 13:47
あのー、「Pythonで学ぶプログラム作法」読んでんだけど
例外処理の
try:
except:
else:

try:
finally:
って何が違うの?
else:
があればfinally要らないんじゃないの?


638 名前:デフォルトの名無しさん[] 投稿日:03/03/22 15:12
ごめん。わかりた。
elseは例外が発生しなかった場合に実行されるんだね。


639 名前:デフォルトの名無しさん[sage] 投稿日:03/03/26 11:17
一体どのぐらいでdat落ちするんでしょうか。
ほりゅう。

640 名前:デフォルトの名無しさん[sage] 投稿日:03/03/26 11:31
pythonでCGIが使える無料サーバー教えてください。

641 名前:デフォルトの名無しさん[sage] 投稿日:03/03/26 12:17
>>640
自宅

642 名前:デフォルトの名無しさん[sage] 投稿日:03/03/26 12:25
Linux or *BSD

643 名前:640[sage] 投稿日:03/03/26 12:37
いや、無料ホームページスペースって奴で…

644 名前:デフォルトの名無しさん[sage] 投稿日:03/03/26 13:10
>>643
http://www.egenix.com/files/python/mxCGIPython.html
これ使え。

645 名前:名無しさん@Emacs[] 投稿日:03/03/26 20:08
>>643
http://www.xrea.com/

646 名前:デフォルトの名無しさん[] 投稿日:03/03/28 18:18
保守 age


647 名前:デフォルトの名無しさん[sage] 投稿日:03/03/29 22:43
>>645
>現在一般向けサーバーの募集は行っておりません。

しょぼーん…

648 名前:名称未設定[sage] 投稿日:03/03/29 23:10
>>647
もう一杯になってしまったのか。
募集開始するとすぐ一杯になる、そこ。

Free系ではかなり高機能。金はらっても年2400円。

649 名前:デフォルトの名無しさん[] 投稿日:03/03/30 12:01
教えて下さい。
printでは末尾に空白が追加されますがこれを取り除くには
どうすればいいのでしょうか。
解説されたサイトや書籍があったハズなのですが忘れてしまいました。
#####
i=0
MAX_LEN = 1024
W_STR = "a"

while i < MAX_LEN:
print W_STR,
i +=1
#####
これをリダイレクトして1kbのファイルを作ろうとしましたが
結果は2kbになってしまいます。

650 名前:デフォルトの名無しさん[] 投稿日:03/03/30 12:35
sys.stdout を使いなされ。
それとたいていのことは Python Library Reference に載ってるから
できれば印刷して手元に置いておくこと。

#!/usr/bin/env python
import sys

MAX_LEN=1024
W_STR="a"

for i in xrange(MAX_LEN):
 sys.stdout.write(W_STR)


651 名前:デフォルトの名無しさん[sage] 投稿日:03/03/30 13:11
>>650
ありがとうございます。

>それとたいていのことは Python Library Reference に載ってるから
>できれば印刷して手元に置いておくこと。
そうします。




ぁ、インクが…

652 名前:デフォルトの名無しさん[sage] 投稿日:03/03/31 19:43
今日はじめて、BeOS+Python+Bethonというのを試してみたのだが、結構イイ!
ただ、他人に配れないのだが。

653 名前:デフォルトの名無しさん[sage] 投稿日:03/04/01 20:20
RedHat 7.3 で Python 2.2 を使ってます。

$ pydoc2
とやると、

Traceback (most recent call last):
File "/usr/bin/pydoc2", line 4, in ?
pydoc.cli()
File "//usr/lib/python2.2/pydoc.py", line 2082, in cli
print """pydoc - the Python documentation tool
TypeError: not all arguments converted

というエラーメッセージが表示されます。
エラーが出ずに起動する方法を教えてください。


654 名前:デフォルトの名無しさん[sage] 投稿日:03/04/01 23:18
>>653
/usr/lib/python2.2/pydoc.pyの最後から数えて3行目の
""" % (cmd, os.sep, cmd, cmd, cmd, cmd, os.sep) を
""" % (cmd, os.sep, cmd, cmd, cmd, cmd) に変えれば OK

655 名前:654[sage] 投稿日:03/04/01 23:39
ごめん、正確にはこうだった。スマソ
""" % (cmd, os.sep, cmd, cmd, cmd, os.sep)

多分 Red Hatが下記のオプションを削除したけど、フォーマットの
修正を忘れたというオチかな。

%s -g
    Pop up a graphical interface for finding and serving documentation.

656 名前:デフォルトの名無しさん[sage] 投稿日:03/04/02 10:38
pygameの日本語解説サイト誰か作れや。

657 名前:デフォルトの名無しさん[sage] 投稿日:03/04/02 12:29
>>656
> pygameの日本語解説サイト誰か作れや。
オマエガナー
言い出しっぺの法則

658 名前:デフォルトの名無しさん[sage] 投稿日:03/04/02 15:31
>>654
うまくいきました。

微妙にスレ違いですが、便乗質問させてください。

>>653 のような Traceback のエラーメッセージをファイルなどに出力させたいときは、
どうすればいいのですか?

$ pydoc2 > filename
としても、コンソールにエラーメッセージが表示されるままで、
filename にうまくリダイレクトできないのですが。

659 名前:名無しさん@Emacs[] 投稿日:03/04/02 17:44
>> 658
$ pydoc2 > filename 2>&1

660 名前:デフォルトの名無しさん[sage] 投稿日:03/04/02 19:57
>>659
> $ pydoc2 > filename 2>&1
イケマスタ

661 名前:デフォルトの名無しさん[] 投稿日:03/04/02 22:20
いや、俺はスマタじゃイけないんだ・・・

662 名前:名称未設定[sage] 投稿日:03/04/02 22:24
>>656
http://www.unixuser.org/~euske/doc/pygame/

663 名前:656[sage] 投稿日:03/04/02 22:34
そこ全部読んだ。他にない?

664 名前:デフォルトの名無しさん[sage] 投稿日:03/04/02 22:52
お前はお前のやりたいことが全部書いてないと何もできないんか?

665 名前:デフォルトの名無しさん[sage] 投稿日:03/04/03 01:46
暗いと不平を
言うよりも

666 名前:デフォルトの名無しさん[] 投稿日:03/04/03 03:41
ぱぱぱぱぱいそん
とらんすくりぷと

667 名前:デフォルトの名無しさん[sage] 投稿日:03/04/03 19:01
Linux で kittywalk を試したら、起動したけど文字化けしてる。
config.py のフォント設定を変更したけど、変わらない。
なにが悪いのかなぁ。


668 名前:デフォルトの名無しさん[sage] 投稿日:03/04/03 21:31
>>666 ダミアン

669 名前:150 ◆ismFPlKHko [sage] 投稿日:03/04/03 22:34
>>667
全部文字化けします?
それとも、どこか一部(メニューだけとか、書き込み内容だけとか)だけが文字化けします?

670 名前:667[sage] 投稿日:03/04/04 01:04
>>669
全部です。ちゃんと動かしている方もいるんだから、自分が何か間抜け
しているような気がします。
とりあえず、過去ログを読んでモナーフォント使うように指定したつもり
なんだけど...
実は Linux 触るのはスゲー久しぶりなんで、自分の環境をもう一度
チェックしてみます。

671 名前:150 ◆ismFPlKHko [sage] 投稿日:03/04/04 11:24
Linux のことは(も)、分からなくてすみません。
他のアプリで日本語表示できているのでしたら、
原因は KittyWalk か Tk ではないかと。

672 名前:162[age] 投稿日:03/04/04 20:54
問題を切り分けるために簡単なチェックをしてみるというのはどうだろう。
コマンドラインから以下のように入力してみて「テスト」と表示されたら
Tkinter (Tcl/Tk) は正常だと思う。
$ python2
>>> from Tkinter import *
>>> Label(text='\xe3\x83\x86\xe3\x82\xb9\xe3\x83\x88').pack()

673 名前:162[sage] 投稿日:03/04/04 21:59
kittywalk-20030330 を入れてみたので気付いたことをご報告。
Red Hat Linux 7.3, Python 2.2.2, Pmw 1.1, JapaneseCodecs 1.4.9

スレタイトルが表示されるタブのところにスレの描画中だけ
クラスのインスタンスを str() したような文字列が表示されまつ。
ThreadViewPages._append() の self.tab(thread).config(...) の行を
page = self.add(thread) の直後に移すと直りますた。

カキコしようとすると以下のようなエラーが出ますた。
File "bbs.py", line 327, in post
key = thread.filename.replace(".dat","")
AttributeError: Frame instance has no attribute 'filename'

「お気に入りに追加」が動かないようでつ。
なぜかコンソールに <type 'instance'> と表示されまつ。

あと、以前あった「ワードラップ」が消えてる気がしまつ。(´・ω・`)

ボタン類がカラフリャ〜になりますたね。(・∀・)イイヨイイヨー

674 名前:デフォルトの名無しさん[sage] 投稿日:03/04/05 00:17
>>656
> pygameの日本語解説サイト誰か作れや。
Making games with Pygame
http://www.tomchance.uklinux.net/pygame/

たまには日本語訳をするなりして、日本の Python コミュニティに貢献シル!

675 名前:667[sage] 投稿日:03/04/05 01:31
>>672
駄目でした。text='テスト' ならば、OK です。
Vine Linux2.6 (FTP インストール)、Python2.2.2、Pwm1.1
JapaneseCodecs1.4.9

Tcl/Tk は 8.0.5 なのだが、いいのでしょうか?
うーむ、Python のお勉強をするために Linux 入れたんだが...

676 名前:150 ◆ismFPlKHko [sage] 投稿日:03/04/05 04:10
>>673
いつもいつもお世話になりまする。
> 「お気に入りに追加」が動かないようでつ。
> あと、以前あった「ワードラップ」が消えてる気がしまつ。(´・ω・`)
CVS のほうには、修正版を上げてあります。次のリリースでご堪能ください。

677 名前:150 ◆ismFPlKHko [sage] 投稿日:03/04/05 04:23
>>675
> Tcl/Tk は 8.0.5 なのだが、いいのでしょうか?
KittyWalk は日本語文字列を Unicode で、Tkinter に渡してるんですけど、
Tk のバージョンによっては、化けるかも知れません。
開発は 8.3.5 でやってます。
間違ってたら、ごめんなさい。

678 名前:162[age] 投稿日:03/04/05 10:31
Vine の tk-8.0.5_jp-10vl6 は笠原さんの日本語化パッチを採用しているみたいですね。
このバージョンは EUC-JP, Shift-JIS, ISO-2022-JP の三つの文字コードしか
受け付けなかったと思います。某フリーソフトの開発中に必要に迫られて
日本語版 8.0 とオリジナルの 8.3 の両方に対応しようとあれこれ調べたことが
ありますが、ここはまさしく Tkinter の鬼門と言うべき部分で、まったく
どうしようもありませんでした (そのときはまだ Python 1.5.2 が結構使われていて
さらに状況が悪かった)。結局両方に対応するのはあきらめて、このバージョンまでは
日本語版 8.0 用 (内部文字コード EUC-JP)、このバージョンからはオリジナルの
8.3 用 (内部文字コード UTF-8) とした経緯があります。日本語版 8.0 用に書いた
別のもうすこし大きなフリーソフトは、両方に対応するのはおろかオリジナルの
8.3 用に書き直すのもうんざりして放置してあったりします(苦藁

実は、笠原さんのパッチには 8.3 用の国際化パッチというのもあって、
記憶が正しければこのバージョンでは文字コード関連はオリジナルのままです。
つまり、言うなれば日本語版 8.0 は消えゆく運命にある過去のバージョンです。
今さら苦労して日本語版 8.0 に対応するのは正直言って割に合わないと思います。

キティーたんにおかれましては、オリジナルの Python とオリジナルの Tk の
組合せで動くように作るのがよろしいと存じ age ます。

679 名前:デフォルトの名無しさん[sage] 投稿日:03/04/05 13:02
>>433
> 翻訳中のライブラリを html 版でもダウンロードできるようにしてほしい、
> と言ってみるテスト。
ここで一度いっているのだけど、途中まで出来上がっている翻訳されたライブラリを
sf からまとめてダウンロードできるようにする予定はないのですか?

boost の日本語化プロジェクトだと、マイルストーンという形で中間リリースしているみたいですが、、、

680 名前:デフォルトの名無しさん[sage] 投稿日:03/04/05 13:17
↓これじゃダメなの?
http://www.gembook.jp/html/tmp/doc_jp/lib/

681 名前:デフォルトの名無しさん[] 投稿日:03/04/05 17:51
>>679
boost pythonって使いもんになる?

682 名前:デフォルトの名無しさん[] 投稿日:03/04/05 18:45
>>679
boost pythonって何?

683 名前:デフォルトの名無しさん[sage] 投稿日:03/04/05 19:17
boostのぴちょんくんです。
http://www.boost.org/libs/python/doc/index.html

684 名前:667[sage] 投稿日:03/04/05 23:09
KittyWalk やっと、日本語が出てくるようになりました。
ちょっと Python そのものの話題からはずれてしまうのですが...。

* Red Hat7.2 用の srpm をとってきて、リビルド。(環境は Vine2.6)
(tcltk-8.3.3-65.src.rpm)
* 古い Tcl/Tk をアンインストール。
* 新しく作ってやった奴をインスコ。
* ここで、KittyWalk を動かそうとしたら、Tkinter が古い Tk の
ライブラリを見つけられないと言ってきたので、Python2.2.2 を
アンインストールして、リビルドして入れ直し。

一応、日本語表示はできるのですが、
* 日本語入力できない。--> なんか、パッチが当たった奴じゃないとだめ?
* フォントが汚い。162 さんが >>171 に書いてるようにしたつもり
だけど、フォント使ってなさそうなかんじ。

----- config.py から抜粋 -----
default_config = {
"Font" : {
"UI": "-mona-gothic-medium-r-normal--16-150-75-75-p-160-jisx0208.1990",
"Entry": "-mona-gothic-medium-r-normal--16-150-75-75-p-160-jisx0208.1990",
"Content": "-mona-gothic-medium-r-normal--16-150-75-75-p-160-jisx0208.1990",
"Cite":"-mona-gothic-medium-r-normal--16-150-75-75-p-160-jisx0208.1990",
},
----- 以下、略 -----

というわけでこれは Mozilla で書いてます。

685 名前:150 ◆ismFPlKHko [sage] 投稿日:03/04/05 23:59
> * 日本語入力できない。--> なんか、パッチが当たった奴じゃないとだめ?
もしかすると、8.3.4 or later じゃないとダメかも知れません。
http://www.python.jp/pipermail/python-ml-jp/2002-October/001933.html

> * フォントが汚い。162 さんが >>171 に書いてるようにしたつもり
> だけど、フォント使ってなさそうなかんじ。
~/.kittywalk/config ファイルの [FONT] の部分はどうなってますか?
こっちのファイルが優先なんです。

686 名前:667[sage] 投稿日:03/04/06 00:53
>>685

>もしかすると、8.3.4 or later じゃないとダメかも知れません。
>http://www.python.jp/pipermail/python-ml-jp/2002-October/001933.html

なるほど、ありがとうございます。もう一回チャレンジしてみます。
/.kittywalk/config ってのがあったんですね。
すいません、見ていませんでした。

687 名前:667[sage] 投稿日:03/04/06 05:02
KittyWalk 動きました!! ML に書かれていたアップデートでいけました。
日本語入力もフォントもおkです。150 さん、162 さんありがとうございました。

ちょっと動かしてみた限りでは、(20030330版)

>>673
>「お気に入りに追加」が動かないようでつ。

は、私のところでは大丈夫でした。
カキコは同じようにできません。
マウスの右クリックからコピーして、右クリックで張り付けようとしても
動かないのですが、キーボードでの張り付けはできました。(Ctrl-y)
(コピーはマウスでできます)
マウスがフォーカスしてくれるようになったので、キーボードでスレッドの
スクロールとかできるようになったのですが、カキコ欄からマウスが
外れると後ろにかくれちゃってちょっと不便かも。

Tck/Tk を再インストール後に最初に立ち上げたとき、カキコ欄で
日本語入力中エラーが発生して KittyWalk が固まってしまったのですが、
これは Tcl/Tk ガラミのエラーのような気がします。
(コンソールに X のエラーがナンタラとかでてきた)


688 名前:667[sage] 投稿日:03/04/06 05:32
KittyWalk-20030405 書き込みテスト。


689 名前:667[sage] 投稿日:03/04/06 05:41
カキコ欄がかくれなくなった。(・∀・)イイ!!
とりあえず、メニューにあるものはすべてきちんと動くみたい。



690 名前:647[sage] 投稿日:03/04/08 22:51
>>645
なかなか空きませんね。

691 名前:名称未設定[sage] 投稿日:03/04/09 06:15
>>690
そうですね。。
エロ限定だけど
http://www.x-beat.com/
なんてどうです?

広告我慢すればかなりよいサーバ。

692 名前:162[sage] 投稿日:03/04/09 16:09
KittyWalk-20030405 でパピコしてみるテスト。
メニューの「折返しの切替(W)」のショートカットキーが
Wじゃなくて閉じ括弧になってますた。
gui.py の621行目は underline=7 が正しいと思われ。


693 名前:デフォルトの名無しさん[sage] 投稿日:03/04/09 17:05
>>691
良いですね。
でも自分21歳以下だから駄目ぽ。
向こうが空くまで待ちます。

694 名前:名無しさん@Emacs[sage] 投稿日:03/04/09 20:44
>>647
本気でサイト運営する気があるんだったら、有料サービスでもいいんじゃない?
あれだけの環境で月200円だよ?

どうしても無料で!という場合は
ttp://a.hatena.ne.jp/xrea/simple
ここをチェックするとよいでつ。


695 名前:150 ◆ismFPlKHko [sage] 投稿日:03/04/10 12:10
>692
うほ。修正しておきます。

696 名前:デフォルトの名無しさん[sage] 投稿日:03/04/11 12:32
別に修正しなくていいよ。Monarch が出たから。
http://sourceforge.jp/projects/monarch/

697 名前:デフォルトの名無しさん[sage] 投稿日:03/04/11 15:09
>>696
どうしてそういう言い方をするの?
悲しいよ。

698 名前:デフォルトの名無しさん[sage] 投稿日:03/04/11 16:45
>>696
関連スレッドってあります?
monazilla で紹介されたのはわかったけど、、、
スクリーンショットの1つや2つくらいはほしいな、、、

699 名前:デフォルトの名無しさん[sage] 投稿日:03/04/11 18:48
>>696
ど こ の 誰 だ よ 。
w x W i n d o w s は 日 本 語 使 え な い 、
っ て 言 っ た ヤ シ 。

700 名前:デフォルトの名無しさん[sage] 投稿日:03/04/11 23:07
unicodeのサポートってwindowsだけじゃなかったっけ?

701 名前:デフォルトの名無しさん[sage] 投稿日:03/04/11 23:27
Monarch は Unicode サポートを使ってないんだよ。

702 名前:デフォルトの名無しさん[sage] 投稿日:03/04/12 00:03
おお、それは目から鱗でした。

703 名前:デフォルトの名無しさん[sage] 投稿日:03/04/12 02:17
http://monarch.sourceforge.jp/
KittyのページのURLまちがっとらん?
×http://www.kittywalk.sourceforge.jp/
http://kittywalk.sourceforge.jp/
ヘンなところ突っ込んで悪いが、
一応相互リンクになってるみたいやし。。

704 名前:デフォルトの名無しさん[sage] 投稿日:03/04/12 15:01
おまいら、
Pythonとjavaどっちが重い?

705 名前:デフォルトの名無しさん[sage] 投稿日:03/04/12 15:12
>>704
Pythonは全然重くないよ。遅いよ。

706 名前:デフォルトの名無しさん[sage] 投稿日:03/04/13 07:14
そろそろだれか Python のキラーアプリを作らないかなぁ、、、
自分はセンスがないから、無理だけど。

707 名前:デフォルトの名無しさん[sage] 投稿日:03/04/13 13:27
たとえば、Java や Ruby で書かれたキラーアプリって何?

708 名前:デフォルトの名無しさん[sage] 投稿日:03/04/15 15:25
Java はあれだろ、Oracle のインストーラで決まりだな。

709 名前:デフォルトの名無しさん[] 投稿日:03/04/15 16:14
age


710 名前:デフォルトの名無しさん[sage] 投稿日:03/04/16 18:13
>>708
あきメモリが500MBないと、警告なしに自分が死んでしまう。キラーアプリならぬ
自殺アプリ。


711 名前:デフォルトの名無しさん[sage] 投稿日:03/04/17 11:18
すげーな。anaconda にも頑張ってもらわんと。

712 名前:山崎渉[(^^)] 投稿日:03/04/17 15:22
(^^)

713 名前:デフォルトの名無しさん[] 投稿日:03/04/18 04:51
ほしゅー

714 名前:デフォルトの名無しさん[sage] 投稿日:03/04/18 13:28
TypeError: 'str' object is not callable
これはどういう操作をしたときに発生するものなのですか?
行番号と表示されているのだけど、今ひとつ原因がわからない ^^;

715 名前:デフォルトの名無しさん[sage] 投稿日:03/04/18 13:34
>>> 'spam'()

716 名前:デフォルトの名無しさん[] 投稿日:03/04/18 20:07
LinuxザウルスってPython使えるの?
使ってみた人感想きぼん

717 名前:デフォルトの名無しさん[] 投稿日:03/04/18 20:26
WINなんですが
Cygwin用のPythonと
ActivePython
はどちらが蛇学習にはいいでしょうか?

718 名前:デフォルトの名無しさん[sage] 投稿日:03/04/18 20:38
ActivePython

719 名前:デフォルトの名無しさん[sage] 投稿日:03/04/18 23:52
http://www.scintilla.org/SciTEImage.html
みたいにするにはどうしたらいいですか?マニュアル等を見たり、
インストールしてみましたが、よくわかりません。

720 名前:デフォルトの名無しさん[] 投稿日:03/04/19 00:38
>717
ActivePythonって,readline関係は大丈夫なの?

cygwin環境が普段メインならcygwinのpythonの方がいいと思うが,,..

721 名前:デフォルトの名無しさん[sage] 投稿日:03/04/19 01:17
明日からpythonとjavaを勉強すます。


722 名前:デフォルトの名無しさん[sage] 投稿日:03/04/19 01:20
>>715
> >>> 'spam'()

原因がわかりました。

print "%s : %s"%(foo, bar)
とすべきところが
print "%s : %s"(foo, bar)
になってました。

うーん、これで数時間はまってしまった --;

723 名前:デフォルトの名無しさん[sage] 投稿日:03/04/19 01:54
>>721
java重い

724 名前:デフォルトの名無しさん[sage] 投稿日:03/04/19 11:58
>>705
重いと遅いの違いって何なの?

725 名前:デフォルトの名無しさん[sage] 投稿日:03/04/19 15:40
>>724
重い=大量にメモリを食う、CPUを占有する (反義語=軽い)
遅い=処理スピードが低い、動作が緩慢 (反義語=速い)
一般に重いアプリは遅い。
ただし、遅いアプリは必ずしも重くはない (ぴちょんは遅いけど軽い)。

726 名前:山崎渉[(^^)sage] 投稿日:03/04/20 03:03
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

727 名前:山崎渉[(^^)sage] 投稿日:03/04/20 03:41
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

728 名前:デフォルトの名無しさん[sage] 投稿日:03/04/20 08:04
>>725
なるほど。でもJavaは重いけど速いよね。

729 名前:162[sage] 投稿日:03/04/21 08:56
KittyWalk 20030419 でパピコ。

起動直後にカキコボタンを押すとスタックトレースを吐くモヨリ。

インスコ後、一回だけセグメンテーション違反で落ちたけど再現せず。
見なかったことにする(w


730 名前:デフォルトの名無しさん[sage] 投稿日:03/04/21 23:11
KittyWalk20030419

自分も最初にセグメンテーション違反ありました。
いくつかスレッドを読み込もうとしている時だったと思われ。
外部リンクをクリックするとコンソールにメッセージがイパーイでてきます。



731 名前:onefifty ◆ismFPlKHko [sage] 投稿日:03/04/22 00:04
報告ありがとうございます。善処します。
730 さんのコンソールに出てくるメッセージって、どんなのでしょうか?

732 名前:デフォルトの名無しさん[] 投稿日:03/04/22 19:49
http://www.osafoundation.org/our_product_desc.htm

http://slashdot.org/articles/03/04/22/039243.shtml
Chandler 0.1 Released

733 名前:730[sage] 投稿日:03/04/22 20:47
>>731

Linux 上で外部リンクをクリックすると
------------------------------------
$ Exception in Tkinter callback
Traceback (most recent call last):
File "/var/tmp/python2.2.2-2.2.2-root/usr/lib/python2.2/lib-tk/Tkinter.py", line 1300, in __call__
return apply(self.func, args)
File "threadpane.py", line 259, in open_link
webbrowser.open(url)
File "/var/tmp/python2.2.2-2.2.2-root/usr/lib/python2.2/webbrowser.py", line 43, in open
get().open(url, new, autoraise)
File "/var/tmp/python2.2.2-2.2.2-root/usr/lib/python2.2/webbrowser.py", line 38, in get
raise Error("could not locate runnable browser")
Error: could not locate runnable browser
---------------------------------------------------
こんなエラーがでました。
リファレンスマニュアルの webbrowser を読んで、環境変数 BROWSER を
調べたら、「kterm -e w3m」となってました。
(ターミナル上で w3m は動きます)
で、インタプリタで

>>>import webbrowser
>>>webbrowser.open('http://yahoo.co.jp/')

とモジュールのテストをしたら同じエラーがでてきたので、
KittyWalk の問題じゃないみたいです。
でも、どうすれば委員だろ?

# Windows 上では問題ありません。



734 名前:730[sage] 投稿日:03/04/22 21:02
つづきというか、ついでに。

Windows98SE 上で久しぶりに動かした時に気がついたのですが、
KittyWalk をメニューの終了を使って終らせた時は、きちんとコマンド
プロンプトがでる状態に戻るんだけど、右上の終了ボタンをクリックした
場合は、DOS 窓が固まってしまいます。

また、Linux 上で動かした時より、トレースバックを吐くことが
多いみたいです。(Win98のせい?)
再現性を確認するまでに至ってないので、アレですが、
設定でタブの開き方を変えた直後のスレッドの読み込みで固まって
しまうことが二度ほどありました。Linux 上ではマトモです。



735 名前:onefifty ◆ismFPlKHko [sage] 投稿日:03/04/23 00:14
どうもありがとうございます。
どうしましょうっかねぇ。考えてみます。ソース読んだら何か分かりそうですし。
トレースバックを吐いても、ほったらかしの部分が多いので、
きちんと、バグをつぶしていきたいと思います。

736 名前:デフォルトの名無しさん[sage] 投稿日:03/04/23 03:10
>>733
環境変数 BROWSER を定義し直せばいいのでは?
シェルの設定ファイル (~/.bashrc など) を書き換えてもいいし
$ env BROWSWER="mozilla" python kittywalk.py
のように KittyWalk に対してのみ再定義してもいい。
後者をエイリアスにしておくのもいいね。

737 名前:736[sage] 投稿日:03/04/23 05:25
>>733
あ、誤読したかも。kterm -e w3m を使うにはどうすればいいか、だよね。
チラッと webbrowser.py を読んでみた。%s を含めると良いみたい。
$ BROWSER="kterm -e w3m %s" python kittywalk.py
今まで mozilla が起動しちゃって難儀してたんだけど
$ BROWSER="netscape -remote 'openURL(%s,new-window)'" python kittywalk.py
とやったら非常に具合がよくなった。

738 名前:デフォルトの名無しさん[sage] 投稿日:03/04/24 11:25
正規表現を使っていたら
sre_constants.error: bogus escape (end of line)
というエラーが出たのですけど、この
bogus escape
というのはどういう意味ですか?

739 名前:デフォルトの名無しさん[sage] 投稿日:03/04/24 12:59
>>738
正規表現の中に変なエスケープ記号 (バックスラッシュ) が入っている、ということだと思われ。

bogus [形] (けなして) にせの、いんちきの

740 名前:デフォルトの名無しさん[sage] 投稿日:03/04/24 19:26
少し前にMLで話題になっていた日本語を扱うためのライブラリをまとめる?話はどうなったのですか?
立ち消えですか?

カタカナ <--> ひらがな
全角かな <--> 半角かな

などが簡単に操作できると、便利だと思うのですが。

741 名前:デフォルトの名無しさん[] 投稿日:03/04/26 10:41
http://www.python.org/2.3/
Python 2.3b1
We are pleased to announce the release of Python 2.3b1 on April 25, 2003.

742 名前:名無しさん[] 投稿日:03/04/26 20:27
windowsでpyqt使いたいんだけど
どこからダウンロードすればいいのか分からないよ。
だれか知らない?


743 名前:デフォルトの名無しさん[sage] 投稿日:03/04/26 20:57
>>742
http://www.riverbankcomputing.co.uk/pyqt/download.php
今度からは自分で検索しような。お兄さんとの約束だ。

744 名前:デフォルトの名無しさん[] 投稿日:03/04/27 10:12
Pythonでマイクからの入力をどうやったら取れますか?

745 名前:デフォルトの名無しさん[] 投稿日:03/04/27 13:29
>>743
入れてみたけどこんなんなっちゃった!!!


>>> import qt
Traceback (most recent call last):
File "<pyshell#0>", line 1, in ?
import qt
File "c:\python22jp\lib\site-packages\qt.py", line 28, in ?
import libsip
ImportError: DLL load failed: 指定されたモジュールが見つかりません。

746 名前:デフォルトの名無しさん[] 投稿日:03/04/27 14:04
>>745
http://digit.que.ne.jp/visit/index.cgi?PyQt の下のほう嫁。
Googleを使えないんだったら、Pythonとか何とか言う前にそっちを先に覚えろ。

747 名前:デフォルトの名無しさん[sage] 投稿日:03/04/27 14:06
So what?

748 名前:デフォルトの名無しさん[sage] 投稿日:03/04/27 14:53
Oh! What a night!

749 名前:デフォルトの名無しさん[sage] 投稿日:03/04/27 15:56
終わらない?

750 名前:デフォルトの名無しさん[] 投稿日:03/04/27 16:13
日本語で質問させてください。

print "可能"
とすると、"能" の文字が '\x94', '\\'
となっているため(?)か、

SyntaxError: EOL while scanning single-quoted string

というエラーが表示されます。
対処法を教えてください。

使っている Python のバージョンは最新の 2.3b1 です。

751 名前:デフォルトの名無しさん[sage] 投稿日:03/04/27 16:33
> 日本語で質問させてください。
他の言語で質問するのは非常識ですものね。


EUC-JPを使いましょう。

752 名前:デフォルトの名無しさん[] 投稿日:03/04/27 20:04
>>746
ファイル全部インストールしたよ!!!
でもダメぽ・・・
PyQtのExampleのasclock.pyがAdminだと動くんだけど普通のユーザじゃだめーーー
qt-mt230nc.dllが見付からないっていわれちゃう。
Windows/XPプロでAdminでインストールしちゃったから?

753 名前:デフォルトの名無しさん[] 投稿日:03/04/27 20:29
>>752
Adminで生活すれば?素直に。

754 名前:デフォルトの名無しさん[sage] 投稿日:03/04/27 21:48
>>750
2.3ならファイルエンコーディング指定を使うのがよいのでは。
ファイルの先頭 (1行目) に次のように書いておけばOK。
# -*- coding: Shift_JIS -*-
もちろんShift_JISではなく他の文字コードでも可。
日本語文字コードの場合は適当なコデックをインスコしておくこと。

755 名前:デフォルトの名無しさん[sage] 投稿日:03/04/27 23:15
>>754
2.3って結構べんりなんだ。まだ、betaだから敬遠してたけど、
早速使っみます。ところで、2.3になって便利になった機能って何ですか?

756 名前:162[sage] 投稿日:03/04/27 23:17
kittywalk 0.1 でパピコしてみゆ。
Red Hat Linux 7.3, Python 2.3b1, Tcl/Tk 8.3.4, Pmw 1.1, JapaneseCodecs 1.4.9 で動作確認。

kittywalk-0.1.tar.gz はディレクトリ名込みでアーカイブした方が良いと思います。

全板試したわけではないですが、なぜか「AAサロン」だけスレ一覧が表示できませんでした。
「スレ一覧を作成中...」と出るだけで何も表示されません。
その後、他の板を選択するとちゃんと表示されます。

あと、Python 2.3 だと以下のようなメッセージが大量に出ます。
今のところ実害はないですが>>754の要領でファイルエンコーディングを指定しておくのはどうでしょうか。
/home/mona/kittywalk-0.1/threadpane.py:12: DeprecationWarning: Non-ASCII character '\x96' in file /home/mona/kittywalk-0.1/postdialog.py on line 30, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details


757 名前:デフォルトの名無しさん[sage] 投稿日:03/04/28 01:03
>>755
sets とか itertools が個人的には(゜д゜)ウマー

758 名前:デフォルトの名無しさん[sage] 投稿日:03/04/28 07:33
ここにコピペしようと思って http://www.python.org/2.3/highlights.html を和訳したけど
はっきり言って長すぎる・・・。


    ど う す れ ば い い ん だ


759 名前:onefifty ◆ismFPlKHko [sage] 投稿日:03/04/28 11:01
>>756
これからは、ディレクトリを散らかさないようにします。
AAサロンの件は調べて修正します。
エンコーディング指定は、早速いれておきます。

760 名前:onefifty@kittywalker[sage] 投稿日:03/04/28 11:32
AAサロンのサーバが変わったみたいです。[設定]→[板一覧の更新] で直ります。
ちゃんとエラー表示するように修正します。

761 名前:デフォルトの名無しさん[sage] 投稿日:03/04/28 11:56
>>758
このハイライトのさらにハイライトを書けばいいのさ。
っていうかここよりPyJUGのNewsに載せた方が良くないか?

762 名前:デフォルトの名無しさん[sage] 投稿日:03/04/28 12:59
ぼちぼち 2.3 用の日本語コーデックの Windows 向けのインストーラーがほしいかも。

763 名前:162[sage] 投稿日:03/04/28 13:13
>>758
AAサロンの件、回答ありがとうございます。ちゃんと直りますた。

ところで漏れは SVGA のノート PC を使ってるので時々メッセージビューを最大化したくなります。
というわけでトグルスイッチを付けてみますた。変数等の名前の付け方がいいかげんでスマソ。
もし取り込んでもらえるなら適当に名前を付けかえて下さい。
ちなみに TriPaneFrame.(left|right_top)_size に現在のペインサイズが残るので
終了時に保存して次回の起動時に復帰してくれると嬉しい気がします。

[gui.py]
class GUI(Tk.Tk):
  def make_widgets(self):
     :
    self.tri_pane_frame = tri_pane_frame
    self.tri_pane_metrics = None
     :
  def maximize_message_view(self):
    if self.tri_pane_metrics is None:
      self.tri_pane_metrics = (self.tri_pane_frame.left_size,
                   self.tri_pane_frame.right_top_size)
      self.tri_pane_frame.hpanes.configurepane("left", size=0.0)
      self.tri_pane_frame.vpanes.configurepane("top", size=0.0)
    else:
      left, right_top = self.tri_pane_metrics
      self.tri_pane_frame.hpanes.configurepane("left", size=left)
      self.tri_pane_frame.vpanes.configurepane("top", size=right_top)
      self.tri_pane_metrics = None

764 名前:162 (続き)[sage] 投稿日:03/04/28 13:14
class MenuBar(Tk.Menu):
  def build(self):
     :
    viewmenu = Tk.Menu(self)
     :
    viewmenu.add_command(label=j("メッセージの最大化(X)"),
               command=guicommand.maximize_message_view,
               underline=5,
               font=font)

[kittytk.py]
class TriPaneFrame(Tk.Frame):
  def __init__(self, parent=None, **kw):
    panes = Pmw.PanedWidget(..., command=self.hresize)
     :
    right_panes = Pmw.PanedWidget(..., command=self.vresize)
     :
    self.hpanes = panes
    self.vpanes = right_panes
     :
  def hresize(self, width):
    self.left_size = width[0]

  def vresize(self, height):
    self.right_top_size = height[0]

[guicommand.py]
def maximize_message_view():
  assert WIDGET.is_ready()
  WIDGET[WINDOW].maximize_message_view()

765 名前:162[sage] 投稿日:03/04/28 13:18
>>764 事故レス
「メッセージの最大化」のメニューアイテム追加のところ、
underline=10 とすべきでした。スマソ。

766 名前:デフォルトの名無しさん[] 投稿日:03/04/28 20:38
Pythonをバージョンアップする時にどうすれば、
今までインストールしたモジュール(PyQt等)をそのまま使えますか?

767 名前:デフォルトの名無しさん[sage] 投稿日:03/04/28 20:39
test

768 名前:デフォルトの名無しさん[sage] 投稿日:03/04/28 21:26
>>766
環境変数 PYTHONPATH で先に古い方の site-packages を見に行くようにするとか。
でもきっとロクなことにならないと思う。面倒でもバージョンに合ったものを
新たに入れるのが得策。

769 名前:デフォルトの名無しさん[] 投稿日:03/04/28 21:41
>>753
そんなー。
普通Adminで生活しないでしょーー?
それともPythonな人はみんなそうなの?
やっぱRubyにしといた方がいいかぁ・・・

770 名前:デフォルトの名無しさん[sage] 投稿日:03/04/28 22:03
>>769
Googleも使えないようなアフォはどこへ行っても嫌われますよ。

771 名前:デフォルトの名無しさん[sage] 投稿日:03/04/28 22:04
>>752
NTFSか?
そのDLLのあるディレクトリのアクセス権限を確認。

772 名前:デフォルトの名無しさん[sage] 投稿日:03/04/28 23:33
KittyWalk-0.1
ツールの設定で「お気に入りダブルクリックで新しいタブを開く」だけ
有効にしておいた状態で、

・お気に入りからスレッドを一つ読み込む。
・スレッド一覧から、別のスレを読み込む。--> 既存のタブを使って新しい
スレを表示。
・お気に入りから最初に読んだスレを読み直そうとするができない。
(別のタブを開くはず)

となります。設定のタブの読み込みについて、チェックの入れ方を
逆にしても同じような症状となります。
環境は Vine Linux 2.6, JapaneseCodecs1.4.9, Pmw1.1 です。
トレースバックが長いので次に貼ります。


773 名前:つづき[sage] 投稿日:03/04/28 23:36
$ Exception in Tkinter callback
Traceback (most recent call last):
File "/var/tmp/python2.2.2-2.2.2-root/usr/lib/python2.2/lib-tk/Tkinter.py", line 1300, in __call__
return apply(self.func, args)
File "Pmw.py", line 6669, in doubleEvent
_handleEvent(event, 'double')
File "Pmw.py", line 6972, in _handleEvent
_listboxCache[event.widget]._handleEvent(event, eventType)
File "Pmw.py", line 6939, in _handleEvent
command()
File "gui.py", line 379, in open_selected_item
self._open_command()
File "gui.py", line 365, in open_new_page
guicommand.open_new_page(self.selected_item())
File "guicommand.py", line 94, in open_new_page
WIDGET[MESSAGEVIEW].open_new_page(item)
File "threadpane.py", line 69, in open_new_page
self.threadview_pages.open_new_page(thread)
File "threadpane.py", line 356, in open_new_page
self._append(thread)
File "threadpane.py", line 420, in _append
page = self.add(thread)
File "threadpane.py", line 453, in add
return Pmw.NoteBook.add(self, self._make_index(index))
File "Pmw.py", line 4369, in add
return apply(self.insert, (pageName, len(self._pageNames)), kw)
File "Pmw.py", line 4291, in insert
raise ValueError, msg
ValueError: Page "<bbs.Thread object at 0x87402c4>" already exists.

とりあえず、不自由はしていないです。(w


774 名前:デフォルトの名無しさん[] 投稿日:03/04/29 12:27
>>771
ありが豚。
良くわかんなかったけどC:\qt\binにあったqt-mt230nc.dllを
C:\python22jp\Lib\site-packagesにコピーしたら動くようになったよ!
これでPyQt使えるよ!
でも英語の本しかないね…

775 名前:デフォルトの名無しさん[sage] 投稿日:03/04/29 15:58
>>774
しかしおめーは文句ばっかだな。rubyにすれば?

776 名前:デフォルトの名無しさん[] 投稿日:03/04/29 16:53
文句いいたくなるような点が多いって子とだろ。
これだからぴチョにぁは(りゃ


777 名前:デフォルトの名無しさん[sage] 投稿日:03/04/29 17:23
漏れは、英語とはいえドキュメントとライブラリがしっかりしているだけ
ぴちょんの方がrubyよりなんぼかマシと思うが。


778 名前:onefifty[sage] 投稿日:03/04/30 12:54
>>763
そのまま使わせていただきます。多謝。

>>772
Windows 2000/XP でも、同じ症状が出るのを確認しました。
修正を試みます。

779 名前:デフォルトの名無しさん[] 投稿日:03/04/30 18:41
#!/usr/bin/env python

#xmlをある要素の値で並び替えたいのですがわかりません。下の例でいうとname要素の値で並びかえたいのです。

from xml.dom.minidom import parseString

xml="""<?xml version="1.0" encoding="UTF-8" ?>
<file>
<item>
<name>b</name><value>4</value>
</item>
<item>
<name>c</name><value>2</value>
</item>
<item>
<name>a</name><value>3</value>
</item>
</file>"""

doc = parseString(xml)

datalist = []
for node in doc.firstChild.childNodes: 処理
#てな具合いでdatalistに追加していってsortし、もう一度domオブジェクトを作り直せばできそうですがそんな面倒なことやるんでしょうか?




780 名前:デフォルトの名無しさん[sage] 投稿日:03/04/30 20:38
>>614
そろそろ公開きぼん

781 名前:デフォルトの名無しさん[sage] 投稿日:03/05/01 01:05
>>779
面倒だけどそういうものだと思われ。DOM の他に XSLT も使える。

from xml.xslt.Processor import Processor
STYLESHEET = """\
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="file">
<xsl:copy><xsl:apply-templates select="@*" />
<xsl:for-each select="item">
<xsl:sort select="name" order="ascending" />
<xsl:apply-templates select="node()" />
</xsl:for-each>
</xsl:copy>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy>
</xsl:template>
</xsl:stylesheet>
"""

XML = """\
<?xml version="1.0" ?>
<file>
<item><name>b</name><value>4</value></item>
<item><name>c</name><value>2</value></item>
<item><name>a</name><value>3</value></item>
</file>
"""

processor = Processor()
processor.appendStylesheetString(STYLESHEET)
print processor.runString(XML)

782 名前:デフォルトの名無しさん[sage] 投稿日:03/05/01 03:33
pat = re.compile('(a|b|c)foo')
に対して、
pat.search(line)
のようにやって、マッチしたときに、
()の中にある、 a b c のどれにマッチしたのか調べる方法はありますか?

上の例でいえば、 a, b, c の部分を抜き出したいのですが。

783 名前:デフォルトの名無しさん[sage] 投稿日:03/05/01 03:57
pat.search(line).groups()[0]
で、(a|b|c) にマッチした部分を取り出せます。

784 名前:デフォルトの名無しさん[sage] 投稿日:03/05/01 04:31
pat.search(line).group(1) でも可。

785 名前:デフォルトの名無しさん[] 投稿日:03/05/01 07:52
>>781
おお、XSLTというのがあるのか。
名前は聞いたことあるけど使ったことなかった。
STYLESHEETでところどころ何かいているかちんぷんかんぷんですが、これから勉強します。ありがとうございますた。
で、自分でminidomオンリーでやってみたのですが、思ったよりすっきりできたかも?

#!/usr/bin/env python
from xml.dom.minidom import parseString
from xml.dom.ext import PrettyPrint
xml="""<?xml version="1.0" encoding="UTF-8" ?>
<file>
<item>
<name>b</name><value>4</value>
</item>
<item>
<name>c</name><value>2</value>
</item>
<item>
<name>a</name><value>3</value>
</item>
</file>"""
doc = parseString(xml)
items = doc.getElementsByTagName("item")
items.sort(lambda v1, v2: cmp(v1.getElementsByTagName("name")[0].firstChild.data, v2.getElementsByTagName("name")[0].firstChild.data))
for item in items:
doc.firstChild.removeChild(item)
doc.firstChild.appendChild(item)
PrettyPrint(doc)


786 名前:デフォルトの名無しさん[sage] 投稿日:03/05/01 13:29
>>783-784
両方でできました。
ありがとう。


787 名前:デフォルトの名無しさん[sage] 投稿日:03/05/05 03:13
urlopenって、1回使って、また同じURL開こうとしたら
さっき開いたのが出るんですけど、そういう仕様なんですか?
出来れば避ける方法を教えて欲しいのですが。

788 名前:デフォルトの名無しさん[sage] 投稿日:03/05/05 20:23
kittywalk-20030503
「お気に入り」に入っている板をダブルクリックしてスレ一覧を出した後で
再度同じ板を選択してリロードしようとすると失敗してしまいます。
他の板を選択すると、ちゃんと読み込めるのですが一度読み込んだ
板の一覧は、2回目以降の読み込みで失敗するみたいです。
スレ一覧の上にある「板名」は変わるのですが、スレ一覧自体は
変化しませんでした。
# ステータスラインに取得に失敗と出てきます。(リリースメモ)
# コンソールにはなにも出てきません。

自分の環境は note(svga) なので、メッセージペインの最大化は
トテーモありがたいです。


789 名前:onefifty[sage] 投稿日:03/05/06 14:35
>>788
報告ありがとうございます。動作確認しました。
エンバグしたみたいです。しばらくお待ちくださいませ。

790 名前:デフォルトの名無しさん[sage] 投稿日:03/05/07 14:05
ライブラリ・リファレンスの検索サイトって無いのですかねぇ?
phpマニュアルサイトみたいな。
日本語訳のhtmlファイルはダウンロードしてあるのですが、namazuが嫌いなんで
勉強がてら全文検索cgiを自作してるところです(phpで(笑)。


791 名前:デフォルトの名無しさん[sage] 投稿日:03/05/07 18:22
>>790
> ライブラリ・リファレンスの検索サイトって無いのですかねぇ?
> phpマニュアルサイトみたいな。
phpは知らん上に例の如く英語だが、
ttp://web.pydoc.org
はどうかね。

792 名前:デフォルトの名無しさん[sage] 投稿日:03/05/07 18:48
>>790
ここは?
http://www.python.org/search/
「website」だけチェックするか、「advanced search」に進んで
「Python documentation」だけチェックすればヨサゲ。

もっとも漏れ的にはライブラリリファレンスを全文検索したいという
要求があまりないので、多少ノイズがあっても Google で済ませてしまう。
検索語と一緒に site:www.python.org を指定するのもいい。

793 名前:790[sage] 投稿日:03/05/07 20:24
>>791,792
ありがとうございました。
「全文検索」が完成したらどこかに置いときます。


794 名前:793[sage] 投稿日:03/05/07 20:26
>「全文検索」が完成したらどこかに置いときます。
もちろんpythonで書き直したやつです。

795 名前:デフォルトの名無しさん[sage] 投稿日:03/05/07 23:03
>>793-794
どういう全文検索なのか簡単に解説キボン。

796 名前:デフォルトの名無しさん[sage] 投稿日:03/05/08 00:18
ユーザーからraw_inputで受け取ったメソッドを実行するにはどうしたら
いいでしょうか?

797 名前:デフォルトの名無しさん[sage] 投稿日:03/05/08 01:39
>>796
組込み関数 getattr でメソッドオブジェクトを取り出してコールする。例:

class A:
  def test(self):
    print "OK"

a = A()
m = getattr(a, raw_input(">>> "))
m()

798 名前:デフォルトの名無しさん[sage] 投稿日:03/05/08 12:32
> 勉強がてら全文検索cgiを自作してるところです(phpで(笑)。

おい、なんでpythonじゃないんだ

799 名前:デフォルトの名無しさん[sage] 投稿日:03/05/08 14:38
>>798
まだpythonがよく解っていないからです。
モノは(phpで)だいたい完成したので、あとは時間的な余裕をみてpythonで
書き直します。

800 名前:デフォルトの名無しさん[sage] 投稿日:03/05/08 17:16
>>785
parseStringもしくはparseで生成したDOMオブジェクトはencoding属性がどっか逝っちゃうのですが、なんとかなりませんか。
つまり<?xml version="1.0" encoding="UTF-8" ?>が<?xml version="1.0" ?>になってしまうのです。
attributesプロパティを利用すれば通常のエレメントには属性が設定できますが<?xml ?>にはできないみたいというかやり方がわかりません。

現状ではstring.replaceで対応しているのですが、スマートでなさスギです。

801 名前:デフォルトの名無しさん[sage] 投稿日:03/05/08 17:48
>>800
Python (と PyXML) のバージョンは?
赤帽7.3標準の Python 1.5.2 + PyXML 0.7 と
野良インスコした Python 2.3b1 + PyXML 0.8.2 で試したけど
<?xml version='1.0' encoding='UTF-8'?> って出たよ。
ただ、PrettyPrint() だとデフォルトで UTF-8 になっちゃうみたいなんで、
予めエンコーディングが分かっているなら
PrettyPrint(doc, encoding="ISO-8859-1")
のように指定すればよいと思われ。PyXML 0.8.2 の minidom では
PrettyPrint(doc, encoding=doc.encoding)
のように書くこともできますた。他にもやり方がありそうな気がする。

802 名前:デフォルトの名無しさん[sage] 投稿日:03/05/09 11:41
>>800
PrettyPrintだとたしかにできます。しかし実際はtoxmlメソッドを使ってたのでソースを眺めたらencodingの指定がデフォルトでNoneになってたのが原因のようでした。
doc.toxml(encoding=doc.encoding)でokでした。ありがとうございますた。

ただ、toxmlはエレメントをremoveしたりすると空行が残って見苦しいですね。
ファイルに出力を書き出したかったのでtoxmlメソッドかなと思ったのですが、PrettyPrintでも出力先が指定できるのですね。ファイルハンドルを渡してやればよかった。

fh = open("foo","w")
PrettyPrint(doc, stream=fh)
fh.close()


803 名前:162[sage] 投稿日:03/05/10 10:39
kittywalk-20030510 でパピコ。
>>756でお願いしたファイルエンコーディングの指定が効いてないみたいです。
スペルミスっぽいので修正をおながいします。


804 名前:onefifty[sage] 投稿日:03/05/11 12:52
>>803
うげ。すみません。2.3を動かして確認してませんでした。
やっときます。

805 名前:デフォルトの名無しさん[sage] 投稿日:03/05/12 01:09
Python と関数型言語を比較して、
「関数型言語の一部の機能を取り込んでいるPythonはうまくいっているのに、
どうして、関数型言語は人気がないままなのか」
といったことを批評したページがあったのですが、URLを知っている人はいないでしょうか?

たしか、どれかの関数型言語のオフィシャルページの一部にあったと思うのですが。

806 名前:デフォルトの名無しさん[sage] 投稿日:03/05/12 03:21
>>805
これかな?
http://caml.inria.fr/archives/200303/msg00070.html
ザッと読んでみたけど結構面白いスレだと思いますた。

807 名前:デフォルトの名無しさん[sage] 投稿日:03/05/12 08:03
os.system の出力をプログラムの中でうまく捕まえるにはどうすればいいのですか?

できれば、
msg = os.system('command')
というような使い方が出来るとうれしいのですが、、、、

808 名前:デフォルトの名無しさん[sage] 投稿日:03/05/12 08:21
>>807
os.popen() を使うべし。

809 名前:デフォルトの名無しさん[sage] 投稿日:03/05/12 09:03
>>808
サンクスコ

810 名前:デフォルトの名無しさん[sage] 投稿日:03/05/12 22:16
>>806
それとは別っぽい。
メーリングリストではなく、記事のような感じだったから。
言語のサイトではなく、個人のサイトだったかな、、、

811 名前:796[sage] 投稿日:03/05/13 00:14
>>797
ありがとうございます。

812 名前:デフォルトの名無しさん[sage] 投稿日:03/05/13 01:42
>>807
commands.getoutput()ってのもあるよ

813 名前:デフォルトの名無しさん[sage] 投稿日:03/05/13 14:50
>>810
「人間が何かをやろうとするときには、まず手順から思いつくから」
みたいな議論のやつだっけ。

814 名前:デフォルトの名無しさん[sage] 投稿日:03/05/13 17:38
>>810
これか?
Functional Programming: Why no one uses functional languages
SIGPLAN Notices 33(8):23-27, August 1998.
http://www.research.avayalabs.com/user/wadler/topics/recent.html#why

検索に使えそうな特徴的な語句があると見つかりそうなんだが。

815 名前:デフォルトの名無しさん[] 投稿日:03/05/14 10:22
http://slashdot.jp/article.pl?sid=03/05/13/201229&topic=93&mode=thread
Paint Shop Pro 8はPythonで操作可能

816 名前:デフォルトの名無しさん[sage] 投稿日:03/05/14 11:02
>>805
これ?
http://www.shiro.dreamhost.com/scheme/trans/being-popular-j.html

817 名前:デフォルトの名無しさん[sage] 投稿日:03/05/14 11:56
>>815
PyJUGの方でいち早く流れてたけど具体的にどう実装されているのかがまだよくわからん。
情報キボ〜ン。

818 名前:デフォルトの名無しさん[sage] 投稿日:03/05/14 12:40
>>814 >>816
それとも違うなぁ、、、
自分も functional, map, zip, filter, popular といったキーワードを Python と絡めつつ google してるのだけど、
どうしてうまくヒットしてくれない。
カンタンに見つかると思ったのだけど、、、

全然参考にならないけど、レイアウトは枠線で囲まれた領域に大体ブラウザーでみれば、
1.0 - 1.5 ページくらいの分量のドキュメントでした。

819 名前:デフォルトの名無しさん[sage] 投稿日:03/05/14 22:54
Pythonでの関数プログラミング
ttp://www-6.ibm.com/jp/developerworks/linux/010615/j_l-prog.html

これだろう。


820 名前:デフォルトの名無しさん[sage] 投稿日:03/05/15 00:50
あるクラスの持つメソッドを調べるにはどうしたらよいでしょうか?

821 名前:デフォルトの名無しさん[sage] 投稿日:03/05/15 01:53
>>> dir(cls)

822 名前:デフォルトの名無しさん[sage] 投稿日:03/05/15 02:10
dir(klass)
じゃだめなの?

823 名前:デフォルトの名無しさん[sage] 投稿日:03/05/15 02:14
こんな時間帯にかぶってるし。

824 名前:デフォルトの名無しさん[sage] 投稿日:03/05/15 04:53
自力で継承関係をたどってメソッドを列挙してみるテスト。

from types import MethodType

def list_method(klass, list=None):
  if list is None:
    list = []
  for name in klass.__dict__.keys():
    if name not in list and type(getattr(klass, name)) is MethodType:
      list.append(name)
  for base in klass.__bases__:
    list_method(base, list)
  return list

class A:
  foo = None
  def spam(self): pass

class B(A):
  def spam(self): pass # override
  def monty(self): pass

class C(B):
  bar = None
  def python(self): pass

print A, list_method(A)
print B, list_method(B)
print C, list_method(C)

825 名前:デフォルトの名無しさん[sage] 投稿日:03/05/15 09:37
>>787
遅レスだけど urllib 自体は勝手にファイルをキャッシュしたりはしないと思う。
経路上にプロキシがあるのかも。指定した覚えがなければ透過型かも知れない。

HTTP のヘッダで強制的にプロキシにキャッシュをやめさせることができるので
コード例を張っとく。

import urllib

urlopener = urllib.FancyURLopener()
urlopener.addheader("Pragma", "no-cache")
fp = urlopener.open(URL)

あとは urllib.urlopen() と同じ。

826 名前:デフォルトの名無しさん[sage] 投稿日:03/05/15 21:38
>>821-824
ありがとうございます。

827 名前:デフォルトの名無しさん[sage] 投稿日:03/05/15 21:49
>>826
継承関係やら何やら一切合切まで欲しいなら、
>>> help(cls)
とかも。

828 名前:デフォルトの名無しさん[sage] 投稿日:03/05/15 23:45
>>825
おお、サンプルソースまで書いてくれてありがとうござい!
実は禁断の2getツールを作ろうとしたんだけど、更新しても更新しても
変わらないことに気づいちゃいますた。

そういえば、urllibはproxyを自動的にOSから読んでどうのこうのするとか聞いたような…

829 名前:デフォルトの名無しさん[sage] 投稿日:03/05/16 02:51
>>828
おっと、まだ見てますたか(w
urllib でプロキシを使うには環境変数 http_proxy を設定する。例えば、

$ env http_proxy=http://localhost:8080 python app.py

という具合に指定できる。この環境変数の設定がなければ勝手にプロキシを
使うということはないと思う。それでももしプロキシが使われているような
感じならネトワクの経路上に透過型のプロキシがあるということだと思われ。

ちなみにさっきのサンプルは今日書いたスレ常時ageスクリプトから取りますた。
subpack.htmlを見て他のスレより下がっていたら自動でageて業者を釣るのです(w

830 名前:デフォルトの名無しさん[sage] 投稿日:03/05/19 22:33
クラスを作るときに普通に
class Foo:
とやるのと
class Foo(object):
とやる流儀があるみたいですが、なにか違いがあるのですか?

831 名前:デフォルトの名無しさん[sage] 投稿日:03/05/19 22:55
>>830
クラスを継承するかしないかの違い
多重敬称の場合はクラスを","で複数書く

832 名前:デフォルトの名無しさん[sage] 投稿日:03/05/19 23:15
>>831
class A(B):
とすれば、 B を継承しているというのはもちろん知っているのですが、
聞きたいことは、単発のクラスで object(type) を継承しているものを時々見かけるので、
object を継承すると、なにかうれしいことでもあるのかと思ってね。

833 名前:デフォルトの名無しさん[sage] 投稿日:03/05/20 10:16
objectを継承しないとsuper()とかが使えないんじゃなかったっけ?


834 名前:162[sage] 投稿日:03/05/20 18:42
kittywalk-20030520 リリース記念パピコ。
Python 2.3 用の coding 指定、ちゃんと効くようになりますた。サンクス。

ところで初めて読んだスレの前に○が付かなくなった気がするんですが前からでしたっけ?
(KittyWalk を再起動すると未読なしの場合には○が付きます。これは期待通り)


835 名前:デフォルトの名無しさん[sage] 投稿日:03/05/20 19:33
>>1http://www.python.jp/Zope/ を wwwc でチェックするには、
URLをどう設定すればいいの?

836 名前:onefifty[sage] 投稿日:03/05/21 07:32
>>834
あれ? いつの間にか○が付かなくなっていますね。
報告ありがとうございます。

837 名前:デフォルトの名無しさん[sage] 投稿日:03/05/21 19:26
命名規則ってどんな感じにしてますか?

838 名前:デフォルトの名無しさん[sage] 投稿日:03/05/21 21:23
とくに命名規則というほどのものはないけど、女の子ならやさしい感じ、
男の子なら強くたくましい感じかな。
お父さんやお母さんの名前から一文字もらうことも多い。

839 名前:デフォルトの名無しさん[sage] 投稿日:03/05/21 21:34
( ´_ゝ`)フーン

840 名前:デフォルトの名無しさん[sage] 投稿日:03/05/21 22:05
はずしmasta

841 名前:デフォルトの名無しさん[sage] 投稿日:03/05/21 23:26
>>837
漏れ的命名規則:

・関数名、メソッド名: 英語の動詞+目的語 (例: open_file)
・変数名: 英語の名詞句 (例: remote_file)
これらは各語をアンダースコアで区切る。

・クラス名: 動作の主体を表す名詞句 (例: RemoteFileOpener)
この場合は各語の頭文字を大文字にしてつなぐ。

・モジュール名、パッケージ名: ○○lib とか ○○utils とかそんな感じ。
アンダースコアなしで全部小文字することが多い。

単語ひとつのときは省略せずに使うことが多い (buf より buffer の方が好き)。
一文字の変数名をよく使う (i, j, k, v など)。

842 名前:デフォルトの名無しさん[sage] 投稿日:03/05/21 23:33
日本人が作った Python の有名アプリってあります?

843 名前:デフォルトの名無しさん[] 投稿日:03/05/22 00:07
WinXPでpythonはじめようと思うんですが、
ActivePythonと日本Pythonユーザー会においてあるやつと。
どっちを導入すればよいですか。
どうもActiveのほうが便利そうなんですが。

またActivePythonは日本語対応ではないと思われますが。
これとSJIS対応Pythonをマージすることはできるでしょうか。
日本語の処理を想定しています。
ふつうにコーデックで処理したほうがいいでしょうか。

あと「これも持っとけ」みたいなのがあったら教えてください。
よろしくお願いします。(いっぱい質問してスマソ)

844 名前:名称未設定[sage] 投稿日:03/05/22 00:16
>>842
Pythonアプリとはいえないけど、KaaEditは有名な方?

>>843
ActivePythonの方が便利だけど、
PyJUGのやつに以下
http://www.python.jp/Zope/download/win32all
いれたやつでもいい気がする。

WinでSJISバリバリならPyJUGのがよいかも。
コデックは必須だとおもわれ。

あとはPyK
http://www.gembook.jp/page.pys?wiki=PyKf
とかいれとけばスタートとしてはいいのでは?

845 名前:デフォルトの名無しさん[] 投稿日:03/05/22 00:29
>>844
ありがとうございます。
とりあえずPyJUGのやつで環境作ってみます。
PyKは未発見だったので助かりました。

846 名前:デフォルトの名無しさん[sage] 投稿日:03/05/22 08:53
>>844
> Pythonアプリとはいえないけど、KaaEditは有名な方?
KaaEdit の作者には失礼かもしれないけど、Ruby の tDiary みたいに多くの人に利用されている
ソフトはないのですか?
Python に疎い人でも名前は知られているようなソフト。
海外だと Mailman とかたくさんあるみたいだけど。

847 名前:デフォルトの名無しさん[sage] 投稿日:03/05/22 11:30
インストーラーとか?

848 名前:デフォルトの名無しさん[sage] 投稿日:03/05/22 15:45
>>846
無い。(キッパリ

849 名前:デフォルトの名無しさん[sage] 投稿日:03/05/22 21:59
Pythonで日本語使う場合って、
入出力はEUCとかS-JISで、内部的にはUTF-8?

850 名前:デフォルトの名無しさん[sage] 投稿日:03/05/22 22:11
>>849
プログラム次第。内部コードとして EUC-JP や Shift_JIS を使うことも
Unicode を使うこともできる。

851 名前:デフォルトの名無しさん[sage] 投稿日:03/05/22 23:38
>>848
さわやかですね。

852 名前:デフォルトの名無しさん[sage] 投稿日:03/05/23 00:23
>>849
str オブジェクトは 8 ビットデータのシーケンスなので、
エンコード(Shift_JIS、EUC-JP、UTF-8などなど)された文字列に対して、
len() や正規表現を使うときは、注意が必要。EUC-JP で
import re
print len("ぱいそん"), re.search("修","ぱいそん")
を実行すると、
8 <_sre.SRE_Match object at 0x007B9CA8>
って表示される。

Unicode オブジェクトは、Unicode 文字のシーケンスになる。reもUnicode対応。
import re
s = unicode("ぱいそん","euc-jp")
print len(s), re.search(unicode("修","euc-jp"),s)
を実行すると、
4 None


853 名前:名称未設定[sage] 投稿日:03/05/23 06:01
>>845
もと文がおかしいがPyKでなくてPyKf。f必要。

>>846
ないね。
でもMailmanのソース中には日本人の記述した部分もある。
ほかのにも日本人ソースはいってる事あるみたい。

でもオリジナル物がないのは問題か。

854 名前:デフォルトの名無しさん[] 投稿日:03/05/23 10:23
>>846
> 無い。(キッパリ


有名かどうかは別にしていくつかある。

あれ以外の何か with "任意" (Python+GTK+)
http://www.geocities.co.jp/SiliconValley-Cupertino/7565/

Gikot
http://gikot.sourceforge.net/

KittyWalk
http://kittywalk.sourceforge.jp/

ほかにもあった気がするが、、目的プラットフォームがLinux的な物が多い感じ。

855 名前:デフォルトの名無しさん[sage] 投稿日:03/05/23 10:42
ninix や Gikot は、海外に向けて積極的に紹介すれば、受けそうな気がする。
あとムネオのPEP263実装とか。
日本人が作ったアプリケーションだと何かいいことあるの?

856 名前:デフォルトの名無しさん[sage] 投稿日:03/05/23 11:25
>日本人が作った Python の有名アプリってあります?
E-CELL3は?

857 名前:デフォルトの名無しさん[] 投稿日:03/05/23 11:43
jython と Python
どっちが速いですか?

858 名前:Python-2.2.2/wxPython-2.4.0.7@Win32[] 投稿日:03/05/23 13:37
wxPython使っている人いますか?
XRC/XML resourceで日本語が使えなくて困惑中です。

859 名前:デフォルトの名無しさん[sage] 投稿日:03/05/23 16:41
>856
> >日本人が作った Python の有名アプリってあります?
> E-CELL3は?

http://ecell.sourceforge.net/
これか。慶應が開発の中心かな?
その方面では有名?

>>857
Javaの方が速度は早い。

>>858
結構利用されているけど日本語のあつかいが(Windows以外では)いまいち。

サンプルなら以下の2ちゃんねるブラウザのソースみてみたら?
http://monarch.sourceforge.jp/

860 名前:デフォルトの名無しさん[sage] 投稿日:03/05/23 18:36
>>859
> Javaの方が速度は早い。

なんのこっちゃ?

861 名前:デフォルトの名無しさん[sage] 投稿日:03/05/23 19:52
KittyWalk のお気に入りの編集ができたらなぁ、と思い要望をだそう
かとも思ったけど、bookmark の編集をするだけなら洩れみたいな
厨房でもできるかもとつくてみた。
Python も Tkinter もプログラミングも初心者なのでよくわかんなかったけど、なんとか動くものがでけたよ。


862 名前:デフォルトの名無しさん[sage] 投稿日:03/05/23 20:29
>>861
俺なんかKittyWalkにメーラ装備してるぞ。
とくに意味はない。

863 名前:162[sage] 投稿日:03/05/23 20:47
>>861-862
余はペインサイズを保存して再起動時に復帰するパッチを晒す。
そち達も修正点をまとめてコピペするが良いぞ。

[kittytk.py]

import gui # 追加

class TriPaneFrame(Tk.Frame):
  def __init__(self, parent=None, **kw):
     :
    size = gui.CONFIG.get("Window", "HPaneSize") # 追加
    panes.add("left", size=(size is not None) and int(size) or 0.35) # 修正
     :
    size = gui.CONFIG.get("Window", "HPaneSize") # 追加
    right_panes.add("top", size=(size is not None) and int(size) or 0.35) # 修正

  def hresize(self, width):
    self.left_size = width[0]
    gui.CONFIG.set("Window", "HPaneSize", self.left_size) # 追加

  def vresize(self, height):
    self.right_top_size = height[0]
    gui.CONFIG.set("Window", "VPaneSize", self.right_top_size) # 追加

864 名前:162[sage] 投稿日:03/05/23 20:53
>>863
あ、バグ発見・・・ (^^;;;

size = gui.CONFIG.get("Window", "VPaneSize") # HPaneSize は誤り
right_panes.add("top", size=(size is not None) and int(size) or 0.35)

865 名前:デフォルトの名無しさん[sage] 投稿日:03/05/23 21:08
ここから

【文句】kittyWalkを育てるスレ【あるか?】

に変更されますた


866 名前:デフォルトの名無しさん[sage] 投稿日:03/05/23 21:52
ナニヲイマサラ(w

867 名前:onefifty[sage] 投稿日:03/05/23 21:59
>>861-862
うほ。ソースくださいませ。
>>633
いただきます。

868 名前:デフォルトの名無しさん[sage] 投稿日:03/05/23 22:19
KittyWalk の bookmark を編集する tiny tool。
・自分で使えればいいので、bookmark のなかみをもろ表示してます。
・エラーチェックとかもしてないす。
・こんなしょぼいのでいいんでしょうか?

from Tkinter import *
import fileinput, os
import tkMessageBox

BOOKPATH = '~/.kittywalk/bookmark'


class App(Frame):

  def __init__(self, master=None):
    Frame.__init__(self, master)
    self.pack()
    self.master.title('KittyWalk Bookmark Editor')
    self.createWidget()

  def createWidget(self):
    mfm = Frame(self)
    mfm.pack()
    
    scrollbar = Scrollbar(mfm, orient=VERTICAL)
    self.listbox = Listbox(mfm, width=50, yscrollcommand=scrollbar.set)
    scrollbar.config(command=self.listbox.yview)
    scrollbar.pack(side=RIGHT, fill=Y)


869 名前:つづき[sage] 投稿日:03/05/23 22:21
    self.infile = os.path.expanduser(BOOKPATH)
    for item in fileinput.input(self.infile):
      self.listbox.insert(END, item)
    self.listbox.pack()

    fm = Frame(self)
    fm.pack(pady=3)
    
    btnUp = Button(fm, text='Up', command=self.up)
    btnUp.pack(side=LEFT)
    btnDown = Button(fm, text='Down', command=self.down)
    btnDown.pack(side=LEFT)

    btnDel = Button(fm, text='Delete', command=self.delete)
    btnDel.pack(side=LEFT, padx=10)

    btnSave = Button(fm, text='Save', command=self.save)
    btnSave.pack(side=LEFT)

    btnQuit = Button(self, text='Quit', command=self.quit)
    btnQuit.pack(side=RIGHT, padx=3, pady=3)

  def delete(self):
    if self.listbox.curselection():
      self.listbox.delete(self.getitemno())

870 名前:つづき[sage] 投稿日:03/05/23 22:24
  def up(self):
    if self.listbox.curselection():
      itemno = self.getitemno()
      if itemno == 0:
        return
      item = self.listbox.get(itemno)
      self.listbox.delete(itemno)
      self.listbox.insert(itemno-1, item)
      self.listbox.select_set(itemno-1)
      self.listbox.see(itemno-1)

  def down(self):
    if self.listbox.curselection():
      itemno = self.getitemno()
      size = self.listbox.size()
      if itemno == size-1:
        return
      item = self.listbox.get(itemno)
      self.listbox.delete(itemno)
      self.listbox.insert(itemno+1, item)
      self.listbox.select_set(itemno+1)
      self.listbox.see(itemno+1)

  def save(self):
    os.rename(self.infile, self.infile+'.bak')
    f = file(self.infile, 'w')
    for x in range(self.listbox.size()):
      str = self.listbox.get(x)
      f.write(str.encode('utf-8'))
    f.close()
    tkMessageBox.showinfo(message='The bookmark was saved.')


871 名前:おしまい[sage] 投稿日:03/05/23 22:25
  def getitemno(self):
    return int(self.listbox.curselection()[0])
  

if __name__ == '__main__':
  if os.path.isfile(os.path.expanduser(BOOKPATH)):
    app = App()
    app.mainloop()
  else:
    print 'bookmark not found'

# eof

872 名前:デフォルトの名無しさん[sage] 投稿日:03/05/23 22:42
(・∀・)イイヨイイヨー

873 名前:デフォルトの名無しさん[sage] 投稿日:03/05/23 22:44
>860
> > Javaの方が速度は早い。
> なんのこっちゃ?

たしかに自分でかいたのに意味不明だ。

>>861
> Python も Tkinter もプログラミングも初心者なのでよくわかんなかったけど、
> なんとか動くものがでけたよ。

Pythonってあんがいそういう所がある。
直観でなんとなく動作する物ができてしまう。
すぐできてしまうので、意外と公表されないという部分はあるのかも?

874 名前:onefifty ◆DH9qKmT7Es [sage] 投稿日:03/05/23 23:23
>>868
このまんま、KittyWalk と一緒に配ってよかですか?
そのうち、ちゃんとしたのを作りますので。

875 名前:デフォルトの名無しさん[sage] 投稿日:03/05/23 23:33
>>873
学習曲線が緩やかなんだよね。とっつきやすいし急に難しくなることもない。
それでいて経験者の高度な要求にも応える。バランスがとてもいい。



876 名前:868[sage] 投稿日:03/05/23 23:48
>>874
こんな初心者へぼコードでもいいんですか? (w いいですよ。
Windows だと bookmark のある path を書き換えないといけないんじゃ
ないかなぁ。Win98 と 2000 でも path が違ったような気がしますが、
最近 Windows あまりいじってないので、未確認です。

# これを機会に KittyWalk に組み込めるようにソースを読んで
# 勉強してみようかなぁ。


877 名前:onefifty ◆DH9qKmT7Es [sage] 投稿日:03/05/24 09:50
>>876
KittyWalk のソースは、もうぐちゃぐちゃなので、ご自身でブラウザを作ったほうがいいかも。
Monarch のほうが、512倍きれいですよ。
今のバージョンの KittyWalk は、そろそろ捨てる頃かなと思っています。
# 猫グッズの商標とも被ってるし。

878 名前:デフォルトの名無しさん[sage] 投稿日:03/05/24 16:22
wxPythonってpython2.2.2に対応してないの?

879 名前:デフォルトの名無しさん[sage] 投稿日:03/05/24 17:02
>>877
商標は業界が異なっていれば問題ないけどね。

880 名前:デフォルトの名無しさん[sage] 投稿日:03/05/24 17:06
>>879
実際に何の分類で取られているかは念のため特許庁のデータベースで調べた方が
いいですね。
これでコナミとかMicrosoftとかのとってる商標を見ると面白いです。


881 名前:デフォルトの名無しさん[] 投稿日:03/05/25 10:35
Pythonって、Javaなどとは違って、変数自体もオブジェクトなんですか?

882 名前:デフォルトの名無しさん[sage] 投稿日:03/05/25 11:23
どんなんだそれ。イメージ沸かん。


883 名前:デフォルトの名無しさん[sage] 投稿日:03/05/25 11:33
つまり代入や参照がメッセージ授受になるわけだろ。

884 名前:デフォルトの名無しさん[] 投稿日:03/05/25 13:17
python2に対応した日本語の書籍って、もしかしてまだないですか?

885 名前:デフォルトの名無しさん[sage] 投稿日:03/05/25 13:38
>>882
LISP みたいな感じじゃない?

886 名前:デフォルトの名無しさん[] 投稿日:03/05/25 13:51
>>882

int i;
string s;

s = i.tostring();

とかじゃないの?

887 名前:デフォルトの名無しさん[sage] 投稿日:03/05/25 14:31
変数(名前)に型があるんじゃなくて、オブジェクトに型があるんだよね。

888 名前:デフォルトの名無しさん[sage] 投稿日:03/05/25 14:47
print "foobar".find("bar")

ナンダカキモチワルイ....

889 名前:868[sage] 投稿日:03/05/25 15:15
>>877
勝手に名前候補。
・kitty litter - 猫用トイレ(w
・kittle - 当てにならない、気まぐれ、扱いにくい
・monamania - モナリザ狂 (2ch 専用ブラウザっぽい?)

Python 覚えたら作ってみたいアプリはファイラーです。
Windows 上にはたくさんあって、好きなものが選べるけど Linux で
使いやすいのがなくて。
エクスプローラーライクな奴は嫌いだし、FD clone はいまいち。
Windows 上では DF 使ってます(これなしでは Win 使う気がしない)。
http://homepage1.nifty.com/bee/df/

# スレ違いスマソ。


890 名前:デフォルトの名無しさん[sage] 投稿日:03/05/25 17:19
試しにMonarchを動かしてみたんですけど

Traceback (most recent call last):
File "D:\PROGRA~1\PYPY\MONARCH\MONARCH.PY", line 8, in ?
app = Monarchore.MoApp(0)
File "D:\programinng\python22jp\Lib\site-packages\wxPython\wx.py", line 1808,
in __init__
File "D:\programinng\pypy\Monarch\Monarchore.py", line 80, in OnInit
owner=self, config=self._config)
File "D:\programinng\pypy\Monarch\Monarchore.py", line 138, in __init__
tbsashpos = int(self._config.get('MainFrame', 'sashpos_tb'))
File "D:\PROGRAMINNG\ACTIVEPYTHON222\lib\ConfigParser.py", line 268, in get
raise NoSectionError(section)
ConfigParser.NoSectionError: No section: MainFrame
17:11:13: Debug: e:\projects\wx\src\msw\app.cpp(439): 'UnregisterClass(canvas)'
failed with error 0x00000000 (操作は正常に終了しました。).

ってエラーが出て使えないっぽいんですよ。環境はwin98のActivPython222&wxpython&日本語とか。
どないすれば委員でしょうか?

891 名前:デフォルトの名無しさん[sage] 投稿日:03/05/25 20:54
>>888
OOP に拘らずに string.find("foobar", "bar") と書きなさい。

892 名前:デフォルトの名無しさん[sage] 投稿日:03/05/25 21:10
>>891
built-in で出来ることは出来る限り builit-in でやるというのが 2.0 以降の方針だと思うけど?

893 名前:デフォルトの名無しさん[sage] 投稿日:03/05/25 21:12
>>892
初耳。ソースきぼんぬ。

894 名前:デフォルトの名無しさん[sage] 投稿日:03/05/25 21:12
a = 3
b = a.__add__(1).__pow__(2)

print b

OOPはふんだんに活用なさい!!!

895 名前:デフォルトの名無しさん[sage] 投稿日:03/05/25 21:15
>>894
ワロタ。

896 名前:デフォルトの名無しさん[sage] 投稿日:03/05/26 21:06
ここにあるやつをひとつのファイルとしてダウンロードしたりできるところってないでしょうか。
ナローバンドなので、見るのが大変なのです。
http://www.gembook.jp/html/tmp/doc_jp/lib/

897 名前:デフォルトの名無しさん[sage] 投稿日:03/05/26 21:11
>>896
> ここにあるやつをひとつのファイルとしてダウンロードしたりできるところってないでしょうか。
> ナローバンドなので、見るのが大変なのです。

>>433
>>679
で期間を置いて2回ほど依頼済みなのだが、サイトに行って直接見るか、
自分でスクリプトを書く(or wget などを使う)などして、ダウンロードしないといけないらしい。

それが Python Way なのだろう。(寒いコミュニティだと思わんか?)

898 名前:デフォルトの名無しさん[sage] 投稿日:03/05/26 21:14
>>896
Web自動巡回
http://www.vector.co.jp/vpack/filearea/win95/net/www/auto/by_trend.html

899 名前:デフォルトの名無しさん[sage] 投稿日:03/05/26 21:23
>>896
IEの「お気に入りに追加」で「オフラインで使用する」にチェック

900 名前:896[sage] 投稿日:03/05/26 21:31
あがががが。。。
みなさんありがとうございます。
がんばって収集します。

ちきしょーZIPで置けよー!!

901 名前:デフォルトの名無しさん[sage これが Python プログラマーの実態] 投稿日:03/05/26 21:33
>>900
そんなもん、urllib使って自分でなんとかしる。
何か不便に思うことがあったら
「わーい、プログラミングのネタみっけ!」
と喜ぶのがプログラマというものだ。

902 名前:896[sage] 投稿日:03/05/26 21:42
>>901
んなことできたら、リファレンスをDLしようなんておもわねーよ。
「どんな手を使ってでもラクをする」
プログラマっていうのは、
できるだけプログラミングしたくない人種のことだろ。
だから俺はPythonを使うのだ。

903 名前:デフォルトの名無しさん[sage] 投稿日:03/05/26 21:51
>>896
http://www.python.jp/pipermail/python-ml-jp/2003-May/002255.html
を嫁。

904 名前:896[sage] 投稿日:03/05/26 22:12
読んだ。感動した。
ありがとう。
一人前のヘビ使いになって帰ってくるよ。

905 名前:デフォルトの名無しさん[sage] 投稿日:03/05/26 22:16
>>896
口調変わりすぎ。ウザイ。連続カキコするな。

>一人前のヘビ使いになって帰ってくるよ。
も う 二 度 と 帰 っ て く る な

906 名前:デフォルトの名無しさん[sage] 投稿日:03/05/26 22:32
次の>>896の苦情は

くそー、tgzってなんだよ。zipかlzhにしろよ。

だと思う。


907 名前:デフォルトの名無しさん[sage] 投稿日:03/05/26 22:38
>>906
*.tex ファイルが邪魔に一票。
あるいは、まだ翻訳されてないファイルがあるとか、、、

908 名前:896[sage] 投稿日:03/05/26 22:49
>>905 おまえのところには帰ってこないので心配しないでください。
>>906 それは思いました。スレ違いだから書きませんでした。
>>907 てふくらい! 知ってますよ。確かに邪魔ですが。あー邪魔だ。

バレバレですか。そうですか。失礼いたしました。ごめんなさい。
レス早いからうれしくてはしゃいじゃいました。お世話になりました。

909 名前:デフォルトの名無しさん[sage] 投稿日:03/05/26 23:15
>>897
> それが Python Way なのだろう。(寒いコミュニティだと思わんか?)

この言葉にブチ切れかけた。寒いコミュニティにしているのは他ならぬ
自分だということに気がつかないDQNっぷり。開いた口が塞がらない。
コミュニティとの関わりが薄いヤシほどコミュニティのことを語りたがる
というのは実に不思議な事実だ。お前はその寒いコミュニティのために
何をしているのかと問いたい。問い詰めたい。小一時間問い詰めたい。

910 名前:デフォルトの名無しさん[sage] 投稿日:03/05/26 23:17
>>897 >>896

(゚Д゚) 二度と来るなヴォケ!!

911 名前:デフォルトの名無しさん[sage] 投稿日:03/05/26 23:22
>>909
もうブチ切れてる。

912 名前:デフォルトの名無しさん[sage] 投稿日:03/05/26 23:43
。・゚・(ノД`)・゚・。

913 名前:名無しさん[sage] 投稿日:03/05/27 00:41
909が一番寒い・・・


914 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 00:41
吉野家のコピペ作ったけど貼って(・∀・)イイ?

915 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 00:56
>>914
読みたい。

916 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 01:01
ネタはこっちに張れば?

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


917 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 01:11
>>916
そこ、本当にネタスレだと思ってるのか?

918 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 01:33
そんな事より>>1よ、ちょいと聞いてくれよ。スレとあんま関係ないけどさ。
このあいだ、Pythonお勉強スレッド __part3__ 行ったんです。Pythonお勉強スレッド。
そしたらなんかめちゃくちゃいっぱいカキコがあって妙に盛り上がってるんです。
で、よく見たらなんかクレクレ厨がわめいてて、ドキュメントのアーカイブまだあ?とか言ってるんです。
もうね、アホかと。馬鹿かと。
お前らな、ドキュメントのアーカイブ如きで普段来てないPythonお勉強スレッドに来てんじゃねーよ、ボケが。
ドキュメントのアーカイブだよ、アーカイブ。
なんかDQNのフォローまで入ってるし。真性がつるんでおねだりか。おめでてーな。
それが Python Way なのだろう。(寒いコミュニティだと思わんか?) とか言ってるの。もう見てらんない。
お前らな、[Python-ml-jp 2258]の過去ログURL貼ってやるから二度と来るなと。
Pythonお勉強スレッドってのはな、もっと建設的であるべきなんだよ。
スレで知り合った名前も知らない蛇使いといつ新プロジェクトが始まってもおかしくない、
教えたり助けられたり、そんな雰囲気がいいんじゃねーか。真性クレクレ厨は、すっこんでろ。

919 名前:918の続き[sage] 投稿日:03/05/27 01:34
で、やっと気分が落ち着いたかと思ったら、さっきのクレクレ厨が、。・゚・(ノД`)・゚・。 とかコピペしてるんです。
そこでまたぶち切れですよ。
あのな、。・゚・(ノД`)・゚・。 なんてきょうび流行んねーんだよ。ボケが。
舌の根も乾かないうちに何が、。・゚・(ノД`)・゚・。 だ。
お前は本当に泣いて詫びたいのかと問いたい。問い詰めたい。小1時間問い詰めたい。
お前、。・゚・(ノД`)・゚・。 ってコピペしたいだけちゃうんかと。
ピチョン通の俺から言わせてもらえば今、蛇使いの間での最新流行はやっぱり、
差分コピペ、これだね。
KittyWalk開発版への手動差分の分割コピペ。これが通のコピペの仕方。
開発版ってのは新機能が多めに入ってる。そん代わりバグもちょっと多め。これ。
で、それに対する手動差分の分割コピペ。これ最強。
しかしうかつにコピペするとインデントが全部消えて無くなるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。
まあクレクレ厨は、おとなしくnyでも使ってハァハァしてなさいってこった。

920 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 03:29
>>919
> しかしうかつにコピペするとインデントが全部消えて無くなるという危険も伴う、諸刃の剣。
gzip+{uuencode,mimencode}汁。

921 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 03:44
むしろ KittyWalk 作者は、
コピペスクリプトのインデントを、全角に変換する機能を追加しる。
逆はできてるんだからさ。

922 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 03:52
>>920
ソースの形で見える方がいいと思う。訳の分からない記号の羅列なんて
見てもつまらないし展開するのが面倒で誰も見ないだろう?

923 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 08:17
>>922
そのまんま貼り付けても、2chブラウザならちゃんと見えるものもあるが、
2chではそもそも貼れる量の限界が低すぎる。

延々と連続で貼ってもやっぱり誰も読まない罠。

924 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 11:09
>>921
全角に変換されたら見る分にはよくても、スクリプトを実行することを考えたら、
半角スペースに変換しなおす必要があるわけだが。

925 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 12:28
word = u'あいうえお'
に対して
str(word)
とやろうとすると、

ASCII encoding error: ordinal not in range(128)
'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)

といったエラーが出るのですが、こういうものなのですか?
文字コードの扱いには疎いもので、、、

926 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 15:45
>>925
word = u'あいうえお'
str(word)
とやったらエラーになるのは分かるけど、何を意図してそんなことをやったの?

unicode オブジェクト (上の例では変数 word に入っているオブジェクト) を
string オブジェクト (バイト列) に変換したいのなら、unicode オブジェクトの
.encode() メソッドを使う必要があるよ。例:

word = u'あいうえお'
word.encode("Shift_JIS")

ちなみに>>925のエラーが出る理屈は以下の通り。

str(word) は word.encode(sys.getdefaultencoding()) と等しい
 ↓
sys.getdefaultencoding() の戻り値は何も設定していなければ "ascii" なので
str(word) は word.encode("ascii") と等しい
 ↓
エンコードしようとしている word の値 (すなわち u"あいうえお") に
ASCII では表現できない文字が含まれる (というか ASCII で表現できない文字しか
含まれていない) ので問題の UnicodeError が発生する。

927 名前:[sage] 投稿日:03/05/27 17:26
>>896
>一人前のヘビ使いになって帰ってくるよ。

ワロタ

928 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 17:43
>>926
> word = u'あいうえお'
> str(word)
> とやったらエラーになるのは分かるけど、何を意図してそんなことをやったの?
アルファベット圏の人が作ったモジュールを使う予定なのだけど、
この種のエラーが連発してかなり (゚д゚)マズー な状態なんです。
うーん、困った。

929 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 18:05
>>928
そういうことならテキストデータを unicode オブジェクトじゃなく
UTF-8 でエンコードした string オブジェクトで渡すとうまくいくかも。

import foo # アルファベット圏の人が作ったモジュール

word = u'あいうえお'
foo.func(word.encode("utf-8")) # エラーが連発してかなり (゚д゚)マズー な状態の関数

930 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 19:15
(´-`).。oO(Pythonの中の人も大変だなあ・・・)

931 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 21:50
中の人などいない!(゜Д゜)

932 名前:デフォルトの名無しさん[sage] 投稿日:03/05/27 23:57
PyQtのQMultiLineEdit上で右クリックをしたときに出てくるメニューは
どうしたら変えられますか?
http://www.jp.kde.org/~ichi/qt/index.html
を見たけど、よくわかりません。

933 名前:デフォルトの名無しさん[sage] 投稿日:03/05/28 09:44
エラー処理についての質問です。

try:
  print a
except NameError, e:
  print e

てな具合で上記例ではeにエラーの値をバインドしてます。
で、この場合はNameErrorが起きることが予期できるのでいいのですが、どういうエラーが起こるかわからないけどエラー値をバインドする方法ってありますか?つまり

try:
  print a
except , e:
  print e

みたいなことをしたいのです(上は当然ダメポ)。

934 名前:デフォルトの名無しさん[sage] 投稿日:03/05/28 11:39
except Exception, e:
とか?

935 名前:山崎渉[(^^)] 投稿日:03/05/28 12:45
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

936 名前:デフォルトの名無しさん[sage] 投稿日:03/05/28 15:21
>>934
まさしくそれでした。ありがとうござますた。

937 名前:デフォルトの名無しさん[sage] 投稿日:03/05/28 20:20
ヒソーリとリンク
【GUIライブラリ】wxWindowsでのひょーん
http://pc2.2ch.net/test/read.cgi/tech/1052186697/

938 名前:デフォルトの名無しさん[sage] 投稿日:03/05/29 21:07
KittyWalk の「お気に入り」の数が増えて縦スクロールバーが
出てくるようになったのですが、かなり激しいものが現れたので、
ちょっと戸惑っています。
別に動作がおかしいとかじゃないんですけど、他のスクロールバーとは
趣が違います。

これは意図したものなのでしょうか? --> 150 さん。


939 名前:150 ◆DH9qKmT7Es [sage] 投稿日:03/05/29 23:16
>>938
板一覧に付いているスクロールバーとは、見た目が違うってことでしょうか?
だとしたら、全然、意図してませんです。
(私ではなくて)誰かが、バグを特定してくれるかも知れないので、
プラットフォームを教えていただけますか?

940 名前:162[sage] 投稿日:03/05/30 02:44
>>938-939
Linux 上でスクロールバーが出るまでブックマークを追加してみますた。
・・・確かに「かなり激しい」(笑
てことで、gui.py の BookmarkList.__init__() の以下の行を直せばよいと思われ。

× self.component("vertscrollbar").config(relief=Tk.SUNKEN, borderwidth=10)
○ self.component("vertscrollbar").config(relief=Tk.SUNKEN)


941 名前:150 ◆DH9qKmT7Es [sage] 投稿日:03/05/30 03:48
>>940 さんくすです。
> borderwidth=10
もうね...。


942 名前:921[sage] 投稿日:03/05/30 07:46
>>924
KittyWalk には「Pythonスクリプトとしてコピー」ってのがあるんだよ。
選択範囲の行頭にある全角スペースを、半角スペースに変換してから、
クリップボードにコピーしてるっぽい。

943 名前:デフォルトの名無しさん[sage] 投稿日:03/05/30 20:31
話題を蒸し返すようですけど、
http://www.gembook.jp/html/tmp/doc_jp/lib_jp.current.tgz
このファイルを 下の sf のサイトに置かないのはなにか理由でもあるのですか?
http://sourceforge.jp/projects/pythonjp/

944 名前:デフォルトの名無しさん[sage] 投稿日:03/05/30 21:40
>>943
ここで訊いて何か分かると思ってるの?
gembookの中の人に直接聞けばいいじゃん。

945 名前:デフォルトの名無しさん[sage] 投稿日:03/05/30 21:53
>>944 == >>162 に 23 スパム

946 名前:デフォルトの名無しさん[sage] 投稿日:03/05/30 22:05
その質問をプロジェクトの中の人に聞かないのには、何か理由でもあるのですか?

ところで、蒸し返すようですけど、
このスレを使い切ったら、新スレは立てないという方針でよろしいか?
ぱいそんスレに、まだ余裕があるから、まずはそっちに引越しか。
敗北者ってスレタイトルは嫌いだけれど、乱立するよりマシかな、というのが私見。

947 名前:デフォルトの名無しさん[sage] 投稿日:03/05/30 22:49
>>946
同意。
スレタイはともかく、Pythonスレは3つもいらない。

948 名前:デフォルトの名無しさん[sage] 投稿日:03/05/30 22:57
じゃぁ、

人生の敗北者でも使えるPythonのお勉強 Part3
http://pc2.2ch.net/test/read.cgi/tech/1053955472/

へ移行ということですか?

949 名前:デフォルトの名無しさん[sage] 投稿日:03/05/30 23:04
>>943は来ないでください

950 名前:デフォルトの名無しさん[sage] 投稿日:03/05/30 23:13
1. ぱいそんぱいそん!3 http://pc2.2ch.net/test/read.cgi/tech/1036811974/ へ移住
2. はいそんスレを使い切る
3. 敗北者スレを移住、使い切る
4. 次はまともなスレタイトルで、新スレ
5. (゚д゚)ウマー

951 名前:デフォルトの名無しさん[sage] 投稿日:03/05/31 01:46
6.煽りヨケのためにruby vs. python Part2を立てる
7.新スレはまったりで(゚д゚)ウマー

952 名前:868[sage] 投稿日:03/05/31 02:20
KittyWalk-20030529 (Linux)

「お気に入り」によく逝く板を入れておいて、ダブルクリックしてスレ
一覧を表示させているのですが、初回は良くても2回目以降は
更新しなくなります。20030520 では問題なかったと思います。


953 名前:デフォルトの名無しさん[sage] 投稿日:03/05/31 16:43
python-2.2.3がでてた。

954 名前:デフォルトの名無しさん[sage] 投稿日:03/05/31 17:14
Monarch動かない

955 名前:デフォルトの名無しさん[sage] 投稿日:03/05/31 19:34
>>950
気の遠くなるような話ですな。
でもそれが現実的な解とも思うですよ。

956 名前:デフォルトの名無しさん[sage] 投稿日:03/05/31 19:53
>>953 ほんとだ!
でも 2.3 正式リリースまでアップデートは止め床。


957 名前:150 ◆DH9qKmT7Es [sage] 投稿日:03/06/01 02:30
>>952
ご報告ありがとうございます。修正して cvs にあげておきました。
↓ gui.py のパッチ(スペースのテストも兼ねて)です。
551a552
>         update_is_required = (self.board==board or board.size()==0)
555c556
<         if board.size()==0:
---
>         if update_is_required:


958 名前:162[sage] 投稿日:03/06/01 06:38
Tkinter の DnD 機能について勉強したのでブックマーク窓に応用してみますた。

[gui.py]

import Tkdnd # 追加

class BookmarkListItem: # 追加
  def __init__(self, index, label):
    self.index = index
    self.label = label
  def dnd_end(self, target, event):
    pass

class BookmarkList(ktk.ScrolledListBox):
  def __init__(self, parent):
     :
    self._listbox.bind("<ButtonPress-1>", self.start_drag) # 追加
    self._listbox.dnd_accept = self.dnd_accept # 追加

959 名前:162[sage] 投稿日:03/06/01 06:39
  # 以下のメソッドを追加
  def start_drag(self, event):
    index = self._listbox.nearest(event.y)
    label = self._listbox.get(index)
    Tkdnd.dnd_start(BookmarkListItem(index, label), event)
  def dnd_accept(self, item, event):
    if not isinstance(item, BookmarkListItem):
      return None
    return self
  def dnd_enter(self, item, event):
    pass
  def dnd_leave(self, item, event):
    pass
  def dnd_motion(self, item, event):
    index = self._listbox.nearest(event.y)
    if item.index == index:
      return
    self.bookmark[index], self.bookmark[item.index] = \
               self.bookmark[item.index], self.bookmark[index]
    self._listbox.delete(item.index)
    item.index = index
    self._listbox.insert(item.index, item.label)
  def dnd_commit(self, item, event):
    self.update()

960 名前:150 ◆DH9qKmT7Es [sage] 投稿日:03/06/01 12:54
>>958
すごすぎ...。いただきますた。
漏れはもっとマニュアルを読め、と。

961 名前:デフォルトの名無しさん[ ] 投稿日:03/06/04 14:20
age

962 名前:デフォルトの名無しさん[sage] 投稿日:03/06/04 16:23
Traceback (most recent call last):
File "<stdin>", line 1, in ?
NameError: name 'age' is not defined
>>>

963 名前:デフォルトの名無しさん[sage] 投稿日:03/06/04 22:44
>>> def age():
...  print 'age'
...

964 名前:デフォルトの名無しさん[] 投稿日:03/06/04 23:27
age()

965 名前:デフォルトの名無しさん[sage] 投稿日:03/06/04 23:44
age
>>>

966 名前:デフォルトの名無しさん[sage] 投稿日:03/06/05 08:42
generator の gi_frame, gi_running の gi はなんのこと(略?)

967 名前:デフォルトの名無しさん[sage] 投稿日:03/06/05 22:40
generator の gi_frame, gi_running の gi はなんのこと(略?)


968 名前:デフォルトの名無しさん[sage] 投稿日:03/06/05 23:06
generator の gi_frame, gi_running の gi はなんのこと(略?)
   

969 名前:デフォルトの名無しさん[sage] 投稿日:03/06/06 09:03
そう generator の gi_frame, gi_running の gi はなんのこと(略?)

970 名前:デフォルトの名無しさん[sage] 投稿日:03/06/07 01:44
generator の gi_frame, gi_running の gi はなんのこと(略?)


971 名前:デフォルトの名無しさん[sage] 投稿日:03/06/07 17:02
generator の gi_frame, gi_running の gi はなんのこと(略?)


972 名前:デフォルトの名無しさん[sage] 投稿日:03/06/07 18:23
generator の gi_frame, gi_running の gi はなんのこと(略?)


973 名前:デフォルトの名無しさん[sage] 投稿日:03/06/07 18:58
python !!!

974 名前:デフォルトの名無しさん[] 投稿日:03/06/07 18:59
i love python

975 名前:デフォルトの名無しさん[sage] 投稿日:03/06/07 19:56
GIジョーのGI

976 名前:デフォルトの名無しさん[sage] 投稿日:03/06/07 21:03
慈愛

977 名前:デフォルトの名無しさん[sage] 投稿日:03/06/07 21:25
generator の gi_frame, gi_running の gi はなんのこと(略?)


978 名前:デフォルトの名無しさん[sage] 投稿日:03/06/07 21:25
generator の gi_frame, gi_running の gi はなんのこと(略?)


979 名前:デフォルトの名無しさん[sage] 投稿日:03/06/07 21:27
ぴちょん!

980 名前:デフォルトの名無しさん[sage] 投稿日:03/06/07 22:07
generator の gi_frame, gi_running の gi はなんのこと(略?)


981 名前:デフォルトの名無しさん[sage] 投稿日:03/06/07 22:09
ただ、なんとなく

982 名前:デフォルトの名無しさん[sage] 投稿日:03/06/07 22:55
自慰
ハアハア...

983 名前:デフォルトの名無しさん[sage] 投稿日:03/06/07 23:38
generator の gi_frame, gi_running の gi はなんのこと(略?)


984 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 00:01
慈愛


985 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 11:39
generator の gi_frame, gi_running の gi はなんのこと(略?)


986 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 11:39
generator の gi_frame, gi_running の gi はなんのこと(略?)


987 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 11:53
粘着しつこいな、、、

988 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 12:30
generator の gi_frame, gi_running の gi はなんのこと(略?)


989 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 12:30
generator の gi_frame, gi_running の gi はなんのこと(略?)


990 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 13:25
粘着しつこいな、、、


991 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 13:26
generator の gi_frame, gi_running の gi はなんのこと(略?)


992 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 13:58
粘着しつこいな、、、


993 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 14:17
粘着しつこいな、、、


994 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 15:11
ぴちょん!


995 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 15:16
995

996 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 15:16
996


997 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 15:26
まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )


998 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 15:27
次スレ
http://pc2.2ch.net/test/read.cgi/tech/1053955472/

999 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 15:29
999

1000 名前:デフォルトの名無しさん[sage] 投稿日:03/06/08 15:29
そして Ruby に敗北した。。。

1001 名前:1001[] 投稿日:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。