Pythonのお勉強 Part3 ..
910:デフォルトの名無しさん
08/12/30 21:38:59
>904
>>> import re
>>> l = 'hagefugahogemogepiyo'
>>> r = re.compile('ge', re.I)
>>> [m for m in r.findall(l)]
['ge', 'ge', 'ge']
911:デフォルトの名無しさん
08/12/30 21:40:00
python.jp の説明が糞な件
912:デフォルトの名無しさん
08/12/30 21:41:26
finditerの方が良いって話もあるけど実際どうなん?
913:デフォルトの名無しさん
08/12/30 21:41:42
>>904
findall
914:デフォルトの名無しさん
08/12/30 21:48:11
>>> r = re.compile('(a)(g)', re.I)
>>> [m for m in r.findall(l)]
[('a', 'g')]
>>> [m.group(0) for m in r.finditer(l)]
['ag']
>>> [m.group(1) for m in r.finditer(l)]
['a']
>>> [m.group(2) for m in r.finditer(l)]
['g']
915:デフォルトの名無しさん
08/12/30 21:50:11
>>910
[m for m in r.findall(l)]
やってることが意味不明なんだがwwwwww
916:デフォルトの名無しさん
08/12/30 21:51:42
>>915
[o for o in [n for n in [m for m in r.findall(l)]]]
917:デフォルトの名無しさん
08/12/30 21:53:08
>>> r=re.compile('(a)(o)', re.I)
>>> [m for m in r.findall(l)]
[]
>>> [m.group() for m in r.finditer(l)]
[]
>>> [m.group(0) for m in r.findall(l)]
[]
>>> [m.group(1) for m in r.finditer(l)]
[]
>>> [m.group(2) for m in r.finditer(l)]
[]
918:デフォルトの名無しさん
08/12/30 21:59:51
>915
おまえは黙ってろ
919:デフォルトの名無しさん
08/12/30 22:27:12
>>910
>>> [m for m in r.findall(l)]
['ge', 'ge', 'ge']
>>> r.findall(l)
['ge', 'ge', 'ge']
920:904
08/12/30 22:38:51
>>910 のとおりだとうまくいかず、マッチするべきものの部分文字列のタプルのリスト (で表現があってるかどうかわかりません、間違っていたらごめんなさい) が返されてしまいます。
カッコ () がついたものだとダメなのでしょうか?
使用している正規表現は、単純化すると
r'(ho|ge){2} [hoge] (ho[ge]){4}'
のような形をしています。
921:904
08/12/30 22:45:54
無理矢理、カッコを使わないような形にしたところ動きましたが、もとの正規表現のままで解決可能であればお願いします。
922:904
08/12/30 22:47:42
まだでしょうか
923:デフォルトの名無しさん
08/12/30 23:00:38
ん?
regexp = re.compile(r'(ho|ge){2} [hoge] (ho[ge]){4}')
[ m.group() for m in regexp.finditer('hoge h hoghoehoghoe') ]
でいいだろ
924:923
08/12/30 23:01:55
あ、finditerの引数は実際の入力を入れるようにしてね
925:904
08/12/30 23:28:49
>>923
成功しました。ありがとうございます。
※ >>922は偽者です
926:デフォルトの名無しさん
08/12/31 01:02:38
くそったれなHTMLはBeautifulSoupに食わせてから他のxmlライブラリに渡せばいいことに気づいた
927:デフォルトの名無しさん
08/12/31 02:05:15
pythonのwebフレームワークはキャッシュ生成して鯖に負担かけないとかまでやってくれるのかな
できないらword pressと組み合わせたほうがいいかとも思いはじめてるんだが
928:デフォルトの名無しさん
08/12/31 02:13:26
もしかしたらRuby使った方が効率がよいかもしれんが
929:デフォルトの名無しさん
08/12/31 02:56:04
>>927
WSGI対応フレームワークでは、それは Middleware の役割。
どのWSGI対応フレームワークからでも、プラグインのように、
必要に応じて CacheMiddleware等 を追加してサーバを構成する事が可能。(例: Pylons + Beaker)
930:デフォルトの名無しさん
08/12/31 06:49:39
>>927
Google App Engine はキャッシュ持ってますよ
有効期限も自分で設定出来る
931:デフォルトの名無しさん
08/12/31 09:52:29
RoRとかって以外と再利用性低いよな。
WSGIの世界になれると戻れない(www
932:デフォルトの名無しさん
08/12/31 10:14:12
>14
import urllib, urllib2, cookielib, time
req = urllib2.Request('URLリンク(pc11.2ch.net)', urllib.urlencode({
'bbs' : 'tech', 'key' : '1226830195', 'time' : int(time.time()),
'submit' : u'書き込み'.encode('sjis'), 'FROM' : 'fushianasan', 'mail' : 'sage',
'MESSAGE' : u'おっぱい'.encode('sjis'), 'suka' : 'pontan'}),
{'Referer' : 'URLリンク(pc11.2ch.net)'})
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
res1 = opener.open(req)
if '<!-- 2ch_X:cookie -->' in res1.read():
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
res2 = opener.open(req)
933:デフォルトの名無しさん
08/12/31 10:16:56
おっぱい
934:fushianasan
08/12/31 13:13:38
おっぱい
935:デフォルトの名無しさん
08/12/31 13:48:31
おっぱい
936:fushianasan
08/12/31 15:35:55
ぱいぱん
937: 【1603円】 【大吉】
09/01/01 00:07:16
( ゚∀゚)o彡おっぱいそん! ( ゚∀゚)o彡おっぱいそん!
938: 【大吉】 【24円】
09/01/01 00:10:44
おっぱい
939: 【吉】
09/01/01 00:15:16
しねばいいよ
940: 【ぴょん吉】
09/01/01 00:56:07
あけおめー
941: 【1192円】 【大吉】
09/01/01 12:59:17
URLリンク(journal.mycom.co.jp)
942:デフォルトの名無しさん
09/01/01 13:04:43
相変わらずヌルいなあ>後藤とかいうひと
943:デフォルトの名無しさん
09/01/01 13:10:08
Unix系なんでもライターだからこんなもんだろ。
例えば安藤さんのプロセッサ記事みたいなクオリティを期待しちゃいかん。
944:デフォルトの名無しさん
09/01/01 13:34:51
URLリンク(gihyo.jp)
945: 【1499円】
09/01/01 14:19:24
age
946: 【小吉】
09/01/01 14:19:53
>>941 >>944
GJ!!
947:デフォルトの名無しさん
09/01/01 16:54:40
>941
●テキストからバイナリデータへの変換: str.encode() または str(b, encoding=...)
●バイナリデータからテキストへの変換: bytes.decode() または bytes(s, encoding=...)
これは「または」の部分が逆ですか?
948:デフォルトの名無しさん
09/01/01 17:00:17
自分で調べろ
949:デフォルトの名無しさん
09/01/01 17:03:32
As the str and bytes types cannot be mixed,
you must always explicitly convert between them.
Use str.encode() to go from str to bytes,
and bytes.decode() to go from bytes to str.
You can also use bytes(s, encoding=...)
and str(b, encoding=...), respectively.
950:デフォルトの名無しさん
09/01/01 17:05:07
やっぱり誤訳ですよね
951:デフォルトの名無しさん
09/01/01 18:09:37
きっと気の利いた編集者がしょうがないなぁって直してくれたんだよ
952:デフォルトの名無しさん
09/01/01 20:09:25
Unix系なんでもライターだからこんなもんだろ。
元日だけにおめでたいことだ。
953:デフォルトの名無しさん
09/01/01 20:28:00
>>944
このページってリンク0000だけ?
何も出てこないんだけど
954:デフォルトの名無しさん
09/01/01 21:39:55
%愛してたのになくなるのか・・・
955:デフォルトの名無しさん
09/01/01 21:59:52
>>954
剰余算なくなるってこと??
956:デフォルトの名無しさん
09/01/01 22:27:06
print JK
957:デフォルトの名無しさん
09/01/01 23:03:27
>>954
print.format になるのか
958:デフォルトの名無しさん
09/01/01 23:38:33
>>955
文字列の % が format メソッドにかわるだけで
数字の剰余はそのまま残る
959:デフォルトの名無しさん
09/01/01 23:42:27
3.0 の時点で既にobsolete
URLリンク(docs.python.org)
960:デフォルトの名無しさん
09/01/01 23:45:34
Pythonのお勉強 Part31
スレリンク(tech板)
961:デフォルトの名無しさん
09/01/01 23:46:03
>953
連載って書いてあるから、しばらくしたら追加されるんだろ
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5101日前に更新/206 KB
担当:undef