[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 04/05 09:07 / Filesize : 54 KB / Number-of Response : 245
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPython(超初心者用) その2



1 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 09:24:54 ]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、
お礼は Python の布教と初心者の救済をお願いします。

前スレ
くだすれPython(超初心者用)
pc11.2ch.net/test/read.cgi/tech/1207878910/

関連スレ
Pythonのお勉強 Part 28
pc11.2ch.net/test/read.cgi/tech/1217836194/

2 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 12:16:22 ]
Py乙

3 名前:デフォルトの名無しさん [2008/08/08(金) 12:17:34 ]
◆関連リンク
Python の Home Page
www.python.org/

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

Python 日本語ドキュメント - Pythonistaのお友達
www.python.jp/doc/release/

Pythonのバイブル的書籍
www.amazon.co.jp/dp/4797341815

4 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 12:44:00 ]
Webアプリ編は板違い

5 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 14:05:27 ]
重複
ttp://pc11.2ch.net/test/read.cgi/tech/1218125335/

6 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 14:44:23 ]
>>1

7 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 14:50:44 ]
webprog板のPythonスレはいまいち盛り上がってないなぁ

8 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 15:52:52 ]
とあるプロセス(例えば/usr/bin/firefox)が動いているかどうかで分岐処理したいのですが、
どうすればいいのでしょうか?

9 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 23:01:48 ]
いろいろヤバそうだけどとりあえず思いつくやり方

import os

if '/usr/bin/firefox' in os.popen('ps').read(): ...

10 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 23:05:29 ]
どうやばいの?



11 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 23:13:34 ]
ps の出力をちゃんと解析してないので、関係ないもので True になる可能性があるとか、・・・
popen の種類がたくさんあったりして、いつもこれでうまくいくのかよく分からんとか・・・

12 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 23:27:06 ]
pgrep使えばリターンコードだけで出力見ないで済むよ。

13 名前:デフォルトの名無しさん [2008/08/09(土) 21:40:14 ]
スレ住民全員一致のPython本のバイブル
困った時にはこの本を注文しよう。

www.amazon.co.jp/exec/obidos/ASIN/486191423X/

14 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 02:01:08 ]
また、だまされた

15 名前:デフォルトの名無しさん [2008/08/11(月) 21:31:02 ]
<a href="省略1">省略</a>
<a href="省略2">省略</a>
...
みたいな、リンクが列挙されてるソースから
省略1を関数に投げて、返ってきた文字列で置換
省略2を関数に投げて、返ってきた文字列で置換
...
という処理をしたいんだけど、どういう方法が考えられる?

re.compile('<a href="(.+?)".+?</a>').findall(ソース)でリストを取得
して、それを元にaタグごと生成し直す方法しか思いつかない。
要は、re.sub('a','b','ソース')でa→bって置換する過程で、マッチした文字列
に応じてbを変化させるような処理をしたいんだ。

長文&説明下手でスマソ

16 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:51:06 ]
re.subに関数渡すとか、そういうこと?

17 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:53:09 ]
検索, 取得してから置換すればいいんじゃね?

18 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 21:56:07 ]
ほんとに説明が下手だ。
具体例を挙げてくれないと、全然分からん。

19 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 22:09:42 ]
>>15
>>16が言ってるが、
re.sub()には置換先(repl)として、ただの文字列ではなく
matchオブジェクトを受け取って文字列を返す関数を渡すこともできるよ
たとえばこんな風に

s = '1 234 5678'
print re.sub(r'\d+', lambda m: str(int(m.group()) * 2), s)

が、一般論としては、htmlを扱ってるんならlxmlなりBeautifulSoupなり
使ったほうがいいと思う

20 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 22:11:13 ]
もし使い捨てツールならperlつかう方が得策。
gオプション付きの正規表現をwhileループさせれば簡単に順次処理できる。

あえてPythonならこんな感じで
for m in re.finditer(regex, source): print m.span(), m.group()
これだとヒットした位置(span)から前後の読み飛ばした文字列を
じぶんで拾う必要がある。

もっとスマートのがあってもよさげだけど思いつかん。



21 名前:デフォルトの名無しさん [2008/08/11(月) 23:12:42 ]
15です。
力不足ですみません。とりあえずは、
>>17
でやりました。

>>19
のやり方がスマートなのかな

>>20
実装するには、逐次処理する方法が簡単なんですかね

参考になりました。ありがとうございます!

22 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 04:09:56 ]
Pychinkoってなにをするモジュールなんですか?

23 名前:デフォルトの名無しさん [2008/08/13(水) 13:13:51 ]
>>22
普通にあってワロタ
公式ページってここ?
ttp://www.mindswap.org/~katz/pychinko/

24 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 15:51:48 ]
Pachinkoの捩りなのかなあ…。

25 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 16:51:20 ]
PyPy
Pychinko

Python始まってるな。

26 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 17:53:34 ]
ISO 8601フォーマットの文字列からdateオブジェクトを生成するにはどうしたらいいんですか?

27 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 18:02:06 ]
>>26
wiki.python.org/moin/WorkingWithTime

28 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 19:21:32 ]
>>24
FOAF関連のモジュールなんだから
ともだちんこの捩りだろう

29 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 23:45:28 ]
python って ruby とかperlの -cwオプションみたいなのないの?

30 名前:デフォルトの名無しさん [2008/08/24(日) 00:01:57 ]
>>29
pylintいれたら?



31 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 00:07:13 ]
>>30
pylintってなんですか?

32 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 02:03:51 ]
pycheckerもあるな

33 名前:デフォルトの名無しさん [2008/08/26(火) 10:45:03 ]
optparse では -h と --help が最初から設定されているけど,
-h を別の意味で使いたい時にはどうすればいいの?

parser.add_option("-h", "--host", dest="host")

ってやると

optparse.OptionConflictError: option -h/--host: conflicting option string(s): -h

になっちゃう (>_<)

34 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 11:41:36 ]
docs.python.org/lib/optparse-creating-parser.html
>add_help_option (default: True)
> If true, optparse will add a help option (with option strings "-h" and --help) to the parser.

35 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 12:36:35 ]
横からだけどせっかく書いたので貼ってみる

import optparse
from gettext import gettext

parser = optparse.OptionParser(add_help_option=False)
parser.add_option('--help', action='help',
help=gettext('show this help message and exit'))
parser.add_option('-h', '--host', dest='host')
options, args = parser.parse_args(['-h', 'www.example.com'])
print options # {'host': 'www.example.com'}

36 名前:デフォルトの名無しさん [2008/08/26(火) 13:13:21 ]
C++ だと例外「オブジェクト」を受けとって
それに含まれる情報を宛てにしていろいろ例外処理できるけど,
Python だと例外として投げられるのは具体的にはなに?

except MyExceptionClass:

見たいに書くわけだけど,じゃ,その例外クラスの
インスタンスは本当にどこかに生成されているの?

37 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 13:32:09 ]
>>36
>>> try:
... f = open('NOTEXIST')
... except IOError, e:
... print (e.errno, e.strerror, e.filename)
...
(2, 'No such file or directory', 'NOTEXIST')

ttp://www.python.jp/doc/release/lib/module-exceptions.html

38 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 19:00:20 ]
みんな親切だなあ

39 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 00:32:22 ]
>>36
dmf.shrinemaiden.org/OpenDMF:_About_Python
https://www.shrinemaiden.org/forum/index.php?topic=501.0

40 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 00:35:54 ]
ja.reddit.com/comments/6cst0/making_games_with_python_which_library_to_use
flaxeater 1ポイント 5ヶ月 前[-] Easier in what way?
mcantelon 3ポイント 5ヶ月 前[-] Less dependencies.

依存性高めると、後から動かし難い・・・
引き際も大切か・・・



41 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 12:36:18 ]
i = 1
j = i
i = 2

print i,j ってすると当たり前のように 2 1 って表示されるんですが、
「Python の代入は束縛だ」って書いてあったので 2 2 ってのが
正しい気がするのですが、何が間違っているんでしょうか(俺が)

42 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 12:40:32 ]
リテラルは束縛される対象にはなりえないってことですか?

43 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 12:53:01 ]
int,long,float,str,tupleあたりはimmutableだから


44 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 12:55:54 ]
i=1で1というオブジェクトが生成されiが参照する。
j=iで、jはiと同じ1というオブジェクトを参照する。
i=2で新たに2というオブジェクトが生成されiはそれを参照する。

この時点でiは2を指し、jは1を指す。

45 名前:デフォルトの名無しさん [2008/08/29(金) 12:55:58 ]
>>41
>何が間違っているんでしょうか(俺が)

そう、オマエの存在自体が間違っているのだよ.

46 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 12:58:04 ]
>>41-42
j = iは「jをiの別名、エイリアスとせよ」という意味ではなくて、
同じオブジェクトを指すようになるだけだ

その後のi = 2で、iは2に束縛される(iという名前が2を指すようになる)が、
別にjはiの別名じゃないから、(弄られてない)jは、1に束縛されたままだ

つーか、束縛って別名のことじゃないと思うんだが、なぜそのように動くと
思ったんだい?

47 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 13:00:01 ]
>>> a = ()
a は immutable object への参照
>>> b = a
b は a の指し示す immutable object への参照
>>> a = (1,)
a は新しい immutable object への参照
>>> print a, b
(1,) ()

Python には名前への参照はないというだけ

48 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 13:00:16 ]
>>43
こらこら、別にmutableだろうが
i = [1]
j = i
i = [2]
で、jが[2]を指すようになるわけじゃないんだから
いい加減なことを言わないように

49 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 13:06:41 ]
入門書嫁

50 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 13:18:01 ]
>>> i = 1
>>> j = i
>>> i = 2
>>> print i, j
2 2
>>> i += 1
>>> print i, j
3 3

こんなクソ言語だれも使わないよな常考



51 名前:41 mailto:sage [2008/08/29(金) 13:31:00 ]
C/C++ の参照型のようなもんかと思ってた。
boost::shared_ptr<T> のようなものか・・・

52 名前:デフォルトの名無しさん [2008/08/29(金) 14:57:31 ]
>>50
"もし〜だったら"を入れないと勘違いしそう

53 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 14:57:35 ]
pythonインタプリタでテストをしていて、モジュールを修正した場合、再importするにはどうすればよろしいでしょうか?
いちいちインタプリタを再起動するのが面倒ですorz

54 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 15:03:12 ]
>>> import foo
>>> reload(foo)

55 名前:53 mailto:sage [2008/08/29(金) 15:16:36 ]
>> 54
天才

56 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 16:54:16 ]
>>53
IDLEならCtrl+F6を押すだけでリスタートできる。

57 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 17:27:17 ]
reload() will be removed in python 3.0

58 名前:デフォルトの名無しさん [2008/08/29(金) 23:05:53 ]
cPickleとpickleを使ってみようと思って

import cPickle
o = "a"
f = file("pick.txt","w")
cPickle.dump(o, f)

は正常に動いたんですが、

import pickle
o = "a"
f = file("pick.txt","w")
pickle.dump(o, f)



raceback (most recent call last):
AttributeError: 'module' object has no attribute 'dump'

って感じんのエラーがでるんですが、誰かpickleのサンプル書いてもらえませんか?


59 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 23:20:37 ]
とりあえずこれでも

import pickle
dir(pickle)

60 名前:デフォルトの名無しさん [2008/08/29(金) 23:59:13 ]
何がなんだかよくわからないのですが、
2chを読み書きするためのPythonを教えてください



61 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:18:22 ]
>>60
wgetだけでできるので
pythonの出る幕はない

62 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:35:40 ]
>>60
urllib
urllib2
cookielib

63 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 11:29:19 ]
>>58
そのテストスクリプトにpickle.pyと付けちゃったていうオチか?

64 名前:58 [2008/08/30(土) 12:59:04 ]
>>63
きたーーwwwwナイスエスパー!!

65 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 13:10:03 ]
>>60
前に書いた奴。
クッキーの保持の方法が分からないので2回連続POSTしてるがご愛嬌。

# coding: utf-8
import urllib2, cookielib
from urllib import urlencode

def cnvChar(str, code, code2='utf-8'):
return unicode(str, code2).encode(code)

cj = cookielib.CookieJar()

pd = {'bbs': 'board', 'key': 'key', 'time': '1',
'submit': cnvChar('書き込む','cp932'), 'FROM': cnvChar('名前','cp932'),
'mail': cnvChar('メール','cp932'), 'MESSAGE': cnvChar('内容','cp932'), 'hana': 'mogera'}

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders = [('User-agent', 'Monazilla/1.00 Python/2.5'),
('Referer', 'host.2ch.net/board/')]

r = opener.open("host.2ch.net/test/bbs.cgi", urlencode(pd))
r = opener.open("host.2ch.net/test/bbs.cgi", urlencode(pd))


教えて君にはソースを見せるのが一番だね

66 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 21:34:29 ]
クッキーはIPとちょっとした文字列で、自力でも作れたと思うなぁ
しかし、なんとも作りかけのスクリプトだなw
まあ、とっかかりにはよいだろうが

67 名前:デフォルトの名無しさん [2008/08/31(日) 00:31:39 ]
包茎が治るスクリプトをお願いします

68 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 00:32:21 ]
自己解決しました

69 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 00:39:50 ]
病気じゃないから治んないだろ

70 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 01:00:35 ]
import ueno_clinic



71 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 01:06:49 ]
>>70
金銭リソースが食い尽くされた

72 名前:41 mailto:sage [2008/08/31(日) 06:08:58 ]
Windows でも UNIX でも共通に使える
Python から自分自身を nice する方法ってありますか?

73 名前:デフォルトの名無しさん [2008/08/31(日) 09:58:48 ]
回答まだですか?

74 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 14:50:46 ]
自己解決しました

75 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:57:25 ]
OpenOfficeのmacroで使うためにPythonを勉強しようと思うのだけれど、何かお薦めの入門書ってない?
Pythonの入門書は色々出ているみたいで、始めてやる場合ににはどの本がいいのか分からないです。
プログラム歴はCの入門書をある程度理解している程度です。(実用で使った事はない。)

76 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:29:53 ]
本ではないけど、とりあえずチュートリアルでも読んでみたら
www.python.jp/doc/release/tut/

77 名前:デフォルトの名無しさん [2008/09/02(火) 14:50:51 ]
すいません質問させてください
pythonを勉強したいのですが何をインストールするべきでしょうか?

www.python.jp/Zope/downloadのページの・Python標準リリースってところと
日本語環境用インストーラの二つありますが、どちらを使ったほうがいいでしょうか?

78 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 14:56:19 ]
>>77
標準リリースの2.5.2のやつ。
日本語環境用のやつは古いし、選ぶ理由はないよ。

79 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 15:03:11 ]
ありがとうございます標準のものを使うことにします
ありがとうございました

80 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 16:51:19 ]
pythonを日本語で引くとpython.jpがトップに来るんだよなあ
誰が得するんだよ



81 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 17:12:24 ]
>>80
検索結果から除外するように
NGサイトを登録することができればいいのにな。
個人単位で。

82 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 19:00:31 ]
80みたいなことを言って誰が得するのか知りたい。

83 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 19:02:08 ]
そもそもpython単体でググってなにを求めるというのか

84 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 23:51:07 ]
そういえば、日本のPythonコミュニティをどうこうするとか息巻いて玉砕してた人たちがいたよな
元気にしてるのかな?
アッーー!

85 名前:デフォルトの名無しさん [2008/09/03(水) 00:20:23 ]
python温泉はレベル高いから遠慮しておいたほうがいいな

86 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:29:44 ]
そうだな
角電池くらい入れられるようにならないとな

87 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:35:14 ]
>>85
今回もキャバクラ行くんだろうな
今からキャバクラ芸を練習しておくことにするよ

88 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:39:38 ]
書籍が売れなかった件についても反省して欲しいな(ww

89 名前:デフォルトの名無しさん [2008/09/03(水) 00:47:18 ]
書籍は大量に売れたよ。品切れになるぐらい。

90 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:48:28 ]
>>86
勝手に疎外感を感じてしまいがちなボクチムは
寂しい気持ちを慰めるためにキャバクラに通います
最近はお金がないので,もっぱらイケメンのあの人を思い浮かべながら
単三電池や角電池で自分を慰めているかもしれません

そんな毎日なのでずっと万年厨房の日陰者です



91 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 01:26:07 ]
どんな負け犬合宿だよ(wwWwwWwwww

92 名前:デフォルトの名無しさん [2008/09/03(水) 13:45:31 ]
口だけ立派でたいしたこともできない上
すぐキレるような奴はいらないから今すぐ消えて欲しい

93 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 15:26:28 ]
optparseでdefault値を設定したとき、例えば

parser.add_option("-w", "--width", dest="width", default=100,
help = "Width of output image (default is 100)")

などとやることを考えます。
このときdefault=100と指定しているのにも関わらず、
helpの説明にdefaultが幾つかを手で書かないといけません。
これを自動化させるような方法はoptparseの標準機能では存在しないでしょうか。


94 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 15:28:48 ]
%default

95 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 17:46:07 ]
Windowsのコマンドプロンプトで実行する場合、
input(u"日本語文字列")ってすると文字化けします。
明示的にコマンドプロンプトの文字コード(cp932とか)にエンコードしないと駄目なんでしょうか?


96 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 17:49:06 ]
>>95
環境に合わせて自動的に決定されるようにできるよ

97 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 17:54:35 ]
>>96
ご回答ありがとうございます。
もうちょっと調べてみます。

98 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 23:18:04 ]
>>89
>書籍は大量に売れたよ。品切れになるぐらい。

どの本だよ(wwWwwWwwwwwWWwwwWwwww

99 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 01:26:23 ]
grassで返答するのはやめろ

100 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 02:12:50 ]
売れない書籍の関係者乙(wwwWwwwWWwwWwwWwWwww



101 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 12:15:01 ]
>>84
>そういえば、日本のPythonコミュニティをどうこうするとか息巻いて玉砕してた人たちがいたよな
>>85
>python温泉はレベル高いから遠慮しておいたほうがいいな

どこの中二病だよ(wwwwwwwwwwwwwwwwwwwwwwwww
Pythonはじまったな(wwwwwwwwwww

102 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 16:53:38 ]
pylonsとTurboGearsとDjangoってどれが一番初心者向けですか?

103 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 22:52:49 ]
twisted

104 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 23:34:38 ]
pylonsとTurboGearsとDjangoとtwistedってどれが中二病っぽいですか?

105 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 23:49:01 ]
hpricot

106 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 01:36:48 ]
pylonsとTurboGearsとDjangoとtwistedとhpricotってどれが邪鬼眼っぽいですか?

107 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 02:03:20 ]
pylonsとTurboGearsとDjangoとtwistedとhpricotとGrokってどれが日本のPythonコミュニティをどうこうするとか息巻いて玉砕してた人たちっぽいですか?

108 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 05:43:51 ]
>>107

109 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 08:09:43 ]
>>107
>>107
>>107
>>107
>>107
>>107
>>107

110 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 09:04:57 ]
pylonsとTurboGearsとDjangoとtwistedとhpricotとGrokとweb.pyってどれが日本のPythonコミュニティをどうこうするとか息巻いて玉砕してたくせに結局できたのは傷をなめ合うだけの引きこもりオナニー集団だけだったのですねおまえらいらないからPHPでもやってろよ。




111 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 09:57:38 ]
PHPはないだろ
あるとすれば ocaml とか

112 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 10:10:15 ]
>>110
>>110
>>110
>>110
>>110
>>110
>>110
>>110
>>110
>>110
>>110


113 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 10:44:49 ]
boost.python つかったら std::vector<myclass> みたいなのが
さっくりと python から扱えるようになる?

114 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 12:28:04 ]
またPHP厨か

115 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 13:09:44 ]
>>110
以下の一文を適宜付け加えておいてくれ

自分の能力のなさを棚に上げて他人を逆恨みする

116 名前:デフォルトの名無しさん [2008/09/05(金) 22:08:05 ]
翻訳ドキュメントの読み方のコツを教えてください。
javaのドキュメントのようには、なかなかクラスとメソッドの関係とかが
分かりません。


117 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 22:36:14 ]
pydocと併用するとか、対話モードで動かしながら読むとか

118 名前:デフォルトの名無しさん [2008/09/05(金) 23:43:57 ]
これは便利ですね。はじめて知りましたpydoc
さすがに親クラスとかパッケージに含まれるクラスにリンクで飛ぶようなことは
出来ないですよね?それが出来れば最高なんですけど

119 名前:デフォルトの名無しさん [2008/09/05(金) 23:45:48 ]
i = 1

iに1加える場合

i = i + 1

よりも簡単な方法ってないですか?

120 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 23:47:53 ]
i+=1



121 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 00:11:32 ]
>>118
pydoc.org/2.5.1/
epydoc.sourceforge.net/stdlib/

122 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 00:50:29 ]
>>120
それ、あんま好きになれん。
結局iは+1した値を指しなおすわけで全くの構文糖てのが。

123 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 01:33:33 ]
>>122
pythonで数字は普遍性を持つので
CPUにとっての「簡単な方法」を追求するなら
CやPerlなどの「純粋」手続き型言語を選択すべき。

124 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 01:51:25 ]
>>122
pythonの場合はintがimmutableだから仕方が無いんだろう

__add__()と__iadd__()は別物だから、mutableなobjectに関しては、
C++と同じように+と+=は別物として定義できるし
一般には後者のほうが効率がいいわな

125 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 02:08:44 ]
>>124
__iadd__()って別個にあるんだな。しらんかった。

126 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 03:31:06 ]
immutableなくせにmutableのフリをしやがってプンプン

127 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 04:19:04 ]
いま PyDev 使っているんですがUSBメモリに入れて持ち歩ける開発環境を探しています。
エディタでおすすめはなんでしょうか??

128 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 04:22:51 ]
emacs

129 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 04:43:17 ]
>>128
Windows なんですけど、Meadow とかすか?
できれば 22 系の情報キボンヌ

130 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 05:22:03 ]
widowsならpyscripterでも入れとけよ



131 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 05:26:18 ]
そのままJRE+Eclipseでいいんじゃないの?
うまくcmdファイルを書けばいけるよたぶん。
ドライブレター固定もわざわざディスクの管理でせずに
substで回避するとかで。(ダブってるとダメだけど)

132 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 08:08:38 ]
pyscripterよさそう。
しかし!
よく考えたらそもそも Python 自体をどうやって持ち歩くんだ?
C:\Python25 以下をごそっとコピーしただけでいいんだろうか?
だけどたしかその位置(C:\Python25)ってレジストリに
登録されてるんだよなぁ。

133 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 09:44:10 ]
レジストリはsys.pathの初期化に使うだけ
なくても動く
C:\Python2Xをそのままコピーすればおk

134 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:35:04 ]
質問です。cat(引数はつけない)のつもりで以下のスクリプトを書きました。

import sys
for line in sys.stdin: print line,

コンソールから実行してみると、入力して改行しても出力されません。
そこでwhileとreadline()を使って、

import sys
line = sys.stdin..readline()
while line:
print line,
line = sys.stdin.readline()

のように書き直しました。これで望む結果は得られたものの、どうもいまひとつです。
もっとスマートな方法があれば教えてください。よろしくお願いします。

135 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 15:36:31 ]
すいません、インデント崩れました。

import sys
line = sys.stdin..readline()
while line:
 print line,
 line = sys.stdin.readline()

136 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:11:05 ]
forループは先読みバッファを使うらしいね
下のと同じ意味で
for line in iter(sys.stdin.readline, ""): print line,

137 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:26:01 ]
レスありがとうございます。どうもそのようですね。
独自のバッファを使うことを意識しておかないと。

結局、whileループを

while True:
 line = sys.stdin.readline()
 if not line: break
 print line,

と書き直すことで解決しました。今後はこっちを使うことにします。

138 名前:今日の日記 mailto:sage [2008/09/08(月) 01:49:32 ]
__setattr__()メソッドが再帰的に呼び出されないように、
このメソッドの中では

object.__setattr__(self, name, value)

という形式で値を代入するらしいけど、この"object"ってなによ????( ;´Д`)

自分の参考書には

class MyClass(object):

ってクラスの()の中に1箇所だけ記述されてるんだけど、
これって"継承"してるってこと???objectは基底クラスってこと?
objectはどこに定義してあるのよ?おれはしてないよww

( ´Д`)

( ´Д`)

( ;´Д`)

寝る

139 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 01:52:48 ]
俺のPython勉強日記
pc11.2ch.net/test/read.cgi/tech/1220604777/

140 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 08:11:18 ]
>>138
まともな入門書嫁。



141 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 09:13:05 ]
class hoge(object):
  def __setattr__(self,method,value):
    self.__dict__[method] = value

self.method = value
とするとself.methodの時点で
__setattr__の条件を満たしてしまい
永久ループに突入してしまうので、
オブジェクトのディクショナリを参照し、
そこに代入する形を取る。

142 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 09:19:00 ]
うそを書くなよ。上のコードは動作しないぞ、気をつけろ!

143 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 09:57:31 ]
>>142
ありがとうございます
危うく嘘を覚えるところでした ( ;´Д`)

引き続き解説募集中です (^o^)

144 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 13:16:45 ]
とりあえず、object は基底クラスで、
class MyClass(object):...
は object を継承してる。

145 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 23:55:24 ]
def main():
 なにか
if __name__ == '__main__':
 main()

という形式を見かけたんですかなぜこのようにしているのでしょうか?

146 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 23:57:45 ]
スクリプト起動したときに
必ずmain関数が動いてほしい、という時の為のおまじない。

147 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 00:04:58 ]
>>145
docs.python.org/tut/node8.html#SECTION008110000000000000000

148 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 00:05:54 ]
知らん

149 名前:145 mailto:sage [2008/09/09(火) 00:10:05 ]
>>147
英語サイト貼ってんじゃねぇよ屑

150 名前:デフォルトの名無しさん [2008/09/09(火) 00:13:34 ]
>>147
ありがとうございます
よくわかりました



151 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 00:33:31 ]
やっぱりわかりません

152 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 00:56:48 ]
>>145
モジュールとしてして利用するとmainは実行されない。
単体で実行するとmainが実行される。
たいがいはテスト目的かな。

153 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 01:29:17 ]
importするとそのスクリプトが実行されるという基本的なことを
説明してあげないと

154 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 01:47:41 ]
__name__にはモジュール名が入る。
import sys
print(sys.__name__)
とやると'sys'が戻る。
でトップレベルで実行(自分自身を実行)
すると'__main__'になる。
そのため、__name__ = '__main__'が成りたつ場合
自分自身が実行された、ということがわかるため、
その後にmain関数だのを列挙しておけば実行される

155 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 02:00:07 ]
おいおい嘘教えるなよ。それはまったくのでたらめだろ
importの内容について語るかと思ったら嘘張られるとは

156 名前:デフォルトの名無しさん [2008/09/09(火) 03:43:02 ]
ひどいスレだ・・・

157 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 08:58:29 ]
でたらめが多すぎる・・・

158 名前:デフォルトの名無しさん [2008/09/09(火) 09:56:15 ]
そもそもPythonて言語自体が怪しくなってくる

159 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 10:19:00 ]
>>158
詳しく

160 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 10:42:59 ]
自己解決しました



161 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 13:22:27 ]
入門書嫁

162 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 23:34:57 ]
import urllib
print urllib.urlopen("http:example.com").info()

info()って一部のヘッダー情報しか出力しないよね?
httpステータス(200とか)をurllibで取得することってできますか?

163 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 00:06:51 ]
HTTPでinfo()にHTTPステータスが含まれないのはそういう仕様なんだろう。
urllib2か直接httplibをつかうしかないと思う。

164 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 07:58:24 ]
>>163
なるほど。了解です。

165 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 00:48:05 ]
>>164
urllib2.urlopenの返してくるオブジェクトには、なぜかcodeってプロパティがあって
そこに200とかそのものずばり入ってる

166 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 11:00:51 ]
Python3.0に向けて皆さんが勉強していることってなんですか?
ソースビルドして動きを確かめるぐらい?

167 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 12:00:59 ]
ML,PEP,NEWS.txt

168 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 13:49:16 ]
Rubyに乗り換える準備をしている

169 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 13:50:45 ]
>>166
本家にあるマニュアルを眺める

170 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 13:51:27 ]
>>168
参考までに理由を教えて



171 名前:162 mailto:sage [2008/09/15(月) 20:07:56 ]
>>165
まじっすかww自分urllibの方のコード必死に潜ってましたww

クラスURLOpenerのhttp_openメソッドでhttpステータスが入った変数errcodeが
if文の分岐に使われてるのを見つけたんですが、
どうやってアクセスするのが良いか悩んでたとこだったんです。。

助かります。ありがとうございました。



172 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 14:18:43 ]
def f( *arg ):
  print arg

p = None
f(p)

f()のargを空タプルにしたい場合、
変数pへはどんな値を代入すればいいでしょう??

ちなみに、上の場合は
(None,)
となってしまいます。。

173 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 14:29:52 ]
引数無しで f()

174 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 14:36:01 ]
p = ()
f(*p)

175 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 14:37:30 ]
f(*p)
と書くべきじゃないの

176 名前:シベリアよりのお手紙 mailto:sage [2008/09/21(日) 08:14:33 ]
今、windows xpでpython3000を勉強しています。

ハードディスクにあるファイルを、更新日の新しいものだけUSBメモリにコピーするという
スクリプトを書いたのですが、大きなファイルをコピーするとファイルの断片化がひどいです。
Explorerのコピーのように一旦連続した領域を確保してからそこにコピーというような処理は
書けないでしょうか?

ついでの質問ですが、比較関数を指定したlistのsortはどうやるんですか?
# Rubyでいうとこの、ary.sort{|a,b| a <=> b } みたいなやつです。
動作効率向上のために機能を削ったとかいうのは、メーリングリストで見かけましたが
全く方法がないと言うことはないと思うのですが。

177 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 09:01:19 ]
後半については

L = ['one', 'two', 'three', 'four']
L.sort(cmp = lambda a, b: len(a) - len(b)) # 文字数で昇順ソート

大抵の場合はkey指定で間に合うと思うけどね
(上の例の場合、L.sort(key = len)

178 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 09:25:32 ]
>>176
ファイルを扱う側からすれば領域が連続するかしないかなんてどうでもいい話だから
どうしてもやりたいならボリュームを直接開いてファイルシステムを直接いじることになるんじゃないの?
explorer云々が本当ならどんなことしてるかスパイツール使って調べてみればいい

179 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 09:41:09 ]
常套手段として前半は
低レベルI/Oでファイルサイズ分lseek()して空write()かな。
モダンなOS・FSならこれでヒントになるとおもう。
py3kで実現できるかは試してないから不明。

180 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 22:40:40 ]
xyzzyってエディタではTabによる空白を空ける事が出来ないんですが
解決方法もしくは他にオススメのエディタがあったら教えていただけませんか



181 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 22:49:54 ]
C-q TAB

182 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 23:11:52 ]
有難うございます!

183 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 07:16:22 ]
mod_python + publisher handler はじめて使った。
こんなに簡単に書けてしまっていいのだろうか…


184 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 23:07:38 ]
Pythonの問題集っぽいのが欲しいです
一度学習した事のチェックがしたいんです

185 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 23:17:11 ]
なにを求めてるんだか知らんけどな
www.pythonchallenge.com/
projecteuler.net/
ja.doukaku.org/

186 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 23:27:22 ]
他言語の宿題スレの問題をPythonでやるとか

187 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 01:51:04 ]
>>185
うおあありがとう

>>186
なるほど

188 名前:176 mailto:sage [2008/09/23(火) 08:48:59 ]
>>179
断片化に関してはだいぶよくなったような感じがします。
ですが、挙動が思ってたものと違うようで、lseekしてからwriteすると
パッとそのサイズのファイルができるのではなくて、ファイル先頭から
順次\x00を書き込んでいってるような感じでした。なので全体の書き込み速度は半分に。
178氏の言うように、近いうちにexplorerの挙動を調べてみたいと思います。
分かったとしても、Cで拡張ライブラリ書くことになるのかなぁ。

>>177
Python 3.0b3 (r30b3:66303, Sep 8 2008, 14:01:02) [MSC v.1500 32 bit (Intel)] on win32
>>> L = ['one', 'two', 'three', 'four']
>>> L.sort(cmp = lambda a, b: len(a) - len(b)) # 文字数で昇順ソート
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'cmp' is an invalid keyword argument for this function

cmpは動かないようです。L.sort(key = len) なら動きます。
python3000の啓蒙サイトでもcmpを使ったコードがあったんですけど動かないのはうちだけ?


189 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 09:37:08 ]
if id == 1: ... とかいうコードを書いてひどい目にあった
おまいらも気をつけろよ

というか組み込み関数だけでも色分けしてくれるエディタを使うべきか

190 名前:189 mailto:sage [2008/09/23(火) 09:58:03 ]
import __builtin__; print '\n'.join(dir(__builtin__)) で自己解決



191 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 10:03:43 ]
>188
Python3000ではcmpパラメータは撤去されたらしい。すまんかった。

ttp://www.python.org/dev/peps/pep-3100/
>list.sort() and builtin.sorted() methods: eliminate cmp parameter

192 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 12:37:43 ]
>>188
Windows上ではfile.truncateでファイルサイズ増やせる
後はctypesでCopyFileW,SHFileOperationWあたりを使ってみるとか

193 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:40:39 ]
ttp://www.python.jp/Zope/intro/
ここのpycgi.cgiの中にtest.cgiって書いてあるけどこれらは同じじゃないと
動きませんよね?

194 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 22:18:25 ]
そうだね。
8年前の記事なんて誰も読まないから気付かなかったんだろう。

195 名前:193 mailto:sage [2008/09/24(水) 23:45:58 ]
>>194 やっぱりそうなんですね。1日悩みましたが解決して先へ進めそうです。
もし中の人がいたら修正お願いします、私みたいな初心者がつまずかないために。

196 名前:デフォルトの名無しさん [2008/09/27(土) 11:25:25 ]
Python で作ったデーモンっぽいツールに
(と言ってもログ監視とかその程度だけど)
ちょっとしたウェブインターフェイスを付けたいと思っています。
こういう目的で使える HTTP を扱うモジュールってありますか?

www.athana.org/
なんかは単体のウェブサーバだし・・

197 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 12:14:53 ]
>>196
www.python.jp/doc/release/lib/internet.html

198 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 19:32:50 ]
PyHP

199 名前:デフォルトの名無しさん [2008/09/28(日) 21:39:05 ]
urllib の pathname2url を使って
C:\cygwin\usr\local\bin\sandbox.py
を変換すると
/C|/cygwin/usr/local/bin/sandbox.py
になります。
ドライブレターの後続の : が | になっています。

実際にはこれを URL として使おうとすると
file:///C%7c/cygwin/usr/local/bin/sandbox.py
となります。たしかに IE も含めてこのURLで
ローカルファイルシステムのファイルを開くことができます。

: ではなく | を使う理由は、初期のNetscapeで : の
代替として | が使われていた(しかも RFC に反して
%エンコードの対象から外されていた)という以外に
何か理由があるのでしょうか?

また、
file:///C%7c/cygwin/usr/local/bin/sandbox.py

file:///C:/cygwin/usr/local/bin/sandbox.py
のいずれが正規形なのでしょうか?



200 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 22:15:10 ]
スレ違いのような気もするが、Wikipediaによると次の理由があったのらしい。
the original URL syntax とやらの出典がないので真偽は不明。
en.wikipedia.org/wiki/File_URI_scheme
> On MS Windows systems, the normal colon (:) after a device letter has sometimes been
> replaced by a vertical bar (|) in file URLs. For example, to refer to file FOO.BAR in the
> top level directory of the C disk, the URL file:///C|/FOO.BAR was used. This reflected
> the original URL syntax, which made the colon a reserved character in a path part.



201 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 22:23:13 ]
RFC1738を見る限りでは使えそうなんだがな

202 名前:デフォルトの名無しさん [2008/09/28(日) 22:23:45 ]
パスを構成する要素として使える文字 pchar の定義が
RFC2396 から RFC 3986 で増えているのもそれに関連しているのかも。

RFC2396 "-" / "_" / "." / "!" / "~" / "*" / "'" / "(" / ")"
RFC3986 ではそれに加えて /"&" / "$" / "+" / "," / ";" / "=" / ":" / "@"

ただ、RFC2396の時点でも既に | は含まれてないんだよな…
たとえ : の代わりに | を使ったとしても %エンコードしなきゃ
いけないことには変わりないんだけど、ネスケはそれを無視してたらしい。

「the URL file:///C|/FOO.BAR was used」ってことで今は
file:///C:/FOO.BAR でいいわけで、なんで urllib では
そうなってないんだろうな、と疑問に思った次第。

203 名前:デフォルトの名無しさん [2008/09/28(日) 22:59:54 ]
あ、いや、そういうことが言いたいんじゃなかった。

ドキュメントには「urllib.pathname2url() は urllib.quote()
処理された結果が返る」って書いてあるのに「|」が
urllib.quote() 処理されてないじゃん、ってことが言いたかった。
バグじゃねぇ?って思ったんだけど、仕様なのかね。

204 名前:デフォルトの名無しさん [2008/09/28(日) 23:02:04 ]
C:\cygwin\usr\local\bin\sand~box.py



///C|/cygwin/usr/local/bin/sand%7Ebox.py

に返還されるので ~ はエスケープ処理されるんだ。
まぁ昔のNetscapeに合わせた仕様ということなんだろう。
とはいえ RFC3986 に準拠したい自分にとっては気持ち悪い。
再度 urllib.quote() かけると % が二重にエンコードされちゃうし。

205 名前:デフォルトの名無しさん [2008/09/28(日) 23:20:04 ]
urllib のコードを読んでみた。
なんのことはない、urllib.quote() は RFC3986 ではなく
RFC2396 の reserved をエンコードしているだけ。
ただし "/" は引数 safe のデフォルト値なので除く。
で、そのreservedは何かというと

RFC2396 reserved = ;/?@&=+$,
RFC3986 reserved = :/?@&=+$,#[]!'()*;


206 名前:デフォルトの名無しさん [2008/09/29(月) 00:09:14 ]
www8.uploader.jp/user/vipprog/images/vipprog_uljp00555.txt

207 名前:デフォルトの名無しさん [2008/09/29(月) 11:39:14 ]
組込み関数property()と
メソッド__getattr__()、__setattr__()、__delattr__()って

どっちか一方があれば事足りるような気もするんですが、
何が違うんでしょう??






208 名前:デフォルトの名無しさん mailto:sage [2008/09/29(月) 12:24:32 ]
>>207
__???attr__ は動的なプロパティに使えて柔軟。
propertyは用途が制限されている変わりに、単純にクラスにプロパティを追加したいだけなら楽に書ける。

209 名前:207 [2008/09/29(月) 13:04:42 ]
なるほどぉ〜。そういう亊ですね。
ありがとうございます。

210 名前:デフォルトの名無しさん [2008/09/30(火) 03:45:11 ]
winでscapy使ってる人います?
キャプチャしたパケットをpdf表示するのにTeXが必要なんだけど
MiKTeXだと上手くいくけど
pLaTeX2eだとdvi出力でタイムアウトしてしまいます。

ちょっとソースみてみたところ、PyXのtext.texrunnerでexpextのパターン指定がないせいで
TeXプロンプトが表示される前に入力を流し込んでるっぽい。

expextにどんなパターンを渡すかってとこで、なんだかわからずお手上げです。

まぁMiKTeX使えばいいんですけど
せっかくTeXなんていう巨大なシステム入れるなら
日本語も使えるようにしたいっす。



211 名前:デフォルトの名無しさん [2008/10/01(水) 15:21:52 ]
global b
a = 'a desu'
b = 'b desu'

def a_print():
 print a
 return

def b_print():
 print b
 return

class c(object):
 def a(self):
  print a
 def b(self):
  print b

print 'a printed!\n'
a_print()
print 'b printed!\n'
b_print()
x = c()
print 'class-a printed!\n'
x.a()
print 'class-b printed!\n'
x.b()
exit()


グローバル変数って何なの?意味ないの?

212 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 15:34:38 ]
def func1():
    x = 10
def func2():
    global x
    x = 20
x = 0
func1()
print "x =", x
func2()
print "x =", x

213 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 15:48:34 ]
>>211
Pythonのglobal文は、global変数を定義するときじゃなくて
それを使うとき(正確には、global変数に代入するとき)に使うもんだぞ

global bってのは「bというグローバル変数を定義します」
じゃなくて
「このローカルスコープでbというグローバル変数に代入したいです」
という意味だ

なにもなしでローカルスコープで
b = 1
とか書いたら、単にローカルにbという変数が作られてしまうからな
Pythonでは

214 名前:デフォルトの名無しさん [2008/10/01(水) 23:43:37 ]
SimpleXMLRPCServerを使ってクライアントから送られたデータに
クライントのIPアドレスを付加して保存したいのですが,
アドレスはどのように得ればいいでしょうか?

class Server:
def __init__(self, port):
self.server=SimpleXMLRPCServer(('localhost', self.port))
self.server.register_instance(XMLRPCMethod)
self.server.servforever()

class XMLRPCMethod:
def __init__(self):
self.database=[]

def senddata(self, data): #引数が送るデータ
self.database.append((data, addr))
return True


215 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 22:11:25 ]
>>214
普通に動かせばデフォルトでアクセスログがstderrに吐かれるみたい
あとハンドラにaddress_stringなるメンバもあるから使えるんじゃないかと

216 名前:デフォルトの名無しさん [2008/10/03(金) 00:01:56 ]
py2exe は VC7.1 でコンパイルされているようですが、
たとえば boost.python を使って VC9 でビルドした
DLL を使うような Python アプリケーションでも
py2exe が使えるものなのでしょうか?

異なるバージョンのランタイムを使うDLLが混在
していても問題ないものなのでしょうか?

boost.python をつかった Python アプリを
Linux から Windows に移植しようとしています。

217 名前:デフォルトの名無しさん [2008/10/03(金) 01:31:22 ]
configparser と optparse って、
こう、なんか、その、うまく連携してくれないものでしょうか?

218 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 04:53:11 ]
>>216
FILE*に触ってなければ異なるコンパイラでも動くはず
msvc7とmingw gccでは大丈夫だった

219 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 09:59:05 ]
GoogleのAndroidのアプリをPythonで作れませんよね?

220 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 14:15:17 ]
モジュールがあればなんでも出来る



221 名前:デフォルトの名無しさん [2008/10/03(金) 15:04:13 ]
2.6 ririisu

222 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 16:12:16 ]
ktkr?

223 名前:デフォルトの名無しさん [2008/10/03(金) 17:02:56 ]
CGIでクエリ文字列を参照したいんですが
環境変数「QUERY_STRING」にはどうやってアクセスすればいいんでしょ??

test.cgi?a=1&b2
の場合は
a=1&b2
を取得したいです。



224 名前:デフォルトの名無しさん [2008/10/03(金) 17:06:19 ]
>>223

import cgi
data = cgi.FieldStorage()
a = data.getfirst('a','')

225 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 17:07:34 ]
環境変数はos.environ

226 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 17:09:38 ]
WebProg板には、こんなスレッドもあるのだ
pc11.2ch.net/test/read.cgi/php/1163513344/

227 名前:223 mailto:sage [2008/10/04(土) 16:42:07 ]
>>224-226
ありがとうございます!助かりました!

>WebProg板には、こんなスレッドもあるのだ
>pc11.2ch.net/test/read.cgi/php/1163513344/
まさかこんなスレがあるとはw



228 名前:デフォルトの名無しさん [2008/10/05(日) 02:45:07 ]
デバッグってどうやってます?
emacsに慣れちゃってるんで,Meadowのgud-modeで
pdbを動かしたいんだけど,新規バッファに何も表示されず
"q"で終了するとした時に,今まで溜まってたのが表示される・・・
WinPdbは使いにくいんだよなぁ・・・


229 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 03:19:59 ]
PyScripter

230 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 04:00:09 ]
すいませんlinuxなんです



231 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 07:34:41 ]
eclipse + pyDevじゃだめ?

232 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:17:13 ]
すいませんlinuxなんです

233 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:41:00 ]
emacsじゃだめ?

234 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 11:47:01 ]
>>232
linuxでeclipse動くだろw

235 名前:デフォルトの名無しさん [2008/10/05(日) 12:03:50 ]
すいませんlinuxなんです

236 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 12:07:55 ]
あやしい部分で print すればいいよ。

237 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 12:20:29 ]
すいませんlinuxなんです

238 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 12:35:28 ]
すいませんほんとうはrubyなんです

239 名前:228 [2008/10/05(日) 13:25:39 ]
皆さんアドバイスありがとうございます!

>>229
これはすごいIDEですね!
こんなものがフリーで使えるとは・・・Python恐るべし!!
もう少し頑張ってみて,どうしようもなかったら乗り換えを検討します.

>>230
VMware上で試したんですけど,linuxのemacsだと問題ないんですよね〜

>>231
結構,定番っぽいですね

>>236
それならWinPDBの方がいいかなぁ

ちょっとググってみたら,NTEmacsで
同じ現象に陥っている人を発見!
ttp://mail.python.org/pipermail/python-mode/2005-January/000236.html
でも,特に情報なし・・・

バックグラウンドでpdbが動いていることは確かで
新規バッファに表示されないだけなので
もう少し調べてみようと思います.

240 名前:228 [2008/10/05(日) 13:33:09 ]
>>238
スレチですが,rubyも本家で配布しているelispでは
Meadowでrubydbが使えません.

ドライブ文字を含むパスを通すように,rubydb3x.elを修正する必要があります.

Meadowは少数派なのかなぁ・・・





241 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 14:18:08 ]
python 2.6 がリリースされていますが、 Psyco 1.6 は動作しますでしょうか?
本家にあるWindows用は2.5向けしかないようです。

242 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 14:22:06 ]
>>241
一般にCで実装されていてコンパイルが必要なライブラリのバイナリ配布物は
メジャーバージョンが違えば*全て*使えない

ソースからコンパイルすれば使える*可能性*はあるが、公式にサポートが
表明されていないなら、全て自己責任の世界

243 名前:241 mailto:sage [2008/10/05(日) 14:54:41 ]
>>242
ありがとうございます。
これから使ってみようと考えている初心者なんで、素直に2.6用のがでてくるのを待ちたいと思います。

244 名前:デフォルトの名無しさん mailto:sage [2008/10/05(日) 17:37:40 ]
使ってみてエラー吐くか試すぐらいしてもいいんじゃね
でもpsycoで高速化される場面は限られるよ






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<54KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef