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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2010/04/23(金) 13:25:51
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、
お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>950 辺りで

前スレ
くだすれPython(超初心者用) その6
http://pc12.2ch.net/test/read.cgi/tech/1264686181/

関連スレ
Pythonのお勉強 Part37
http://pc12.2ch.net/test/read.cgi/tech/1268467168/
0951デフォルトの名無しさん2010/08/23(月) 08:09:32
ランブダは始まりであり全てである
0952Perl忍者仙人モード ◆M5ZWRnXOj6 2010/08/23(月) 09:16:56
なにこのキモイスレ
0953デフォルトの名無しさん2010/08/23(月) 13:31:31
950超えたので一応立てておきます
仲良く使ってね

くだすれPython(超初心者用) その8
http://hibari.2ch.net/test/read.cgi/tech/1282537545/
0954デフォルトの名無しさん2010/08/23(月) 13:32:38
pythonって日本語弱いんですか?
0955デフォルトの名無しさん2010/08/23(月) 14:12:22
>>954
そんなことはない。
Windowsで使うならR*byよりいいと思う。
0956デフォルトの名無しさん2010/08/23(月) 14:13:35
>>954
だれがそんなこと言ったんだ
0957デフォルトの名無しさん2010/08/23(月) 14:14:29
私だ
0958デフォルトの名無しさん2010/08/23(月) 14:18:17
>>954
自分の経験から言うと日本語の文字列を扱う際に文字コードなんかを曖昧なまま処理した場合
Perl や Ruby は間違ってても「なんとなく」動くが Python はきっちりエラーになる
エラー出さずに勝手に文字化けするか例外出して中断するかの違いだな
0959デフォルトの名無しさん2010/08/23(月) 14:18:42
特にパス関係については他の追従を許さないぜ
0960デフォルトの名無しさん2010/08/23(月) 14:19:59
Javaのヌルポみたいなもんですね
0961デフォルトの名無しさん2010/08/23(月) 14:20:40
漏れはちなみにそこは Python の弱点じゃなくて利点だと思っている
0962デフォルトの名無しさん2010/08/23(月) 14:32:14
でも、WindowsのIDLEでは u"ほげ" ができない。 (Python3では直る)
sys.argv もUnicodeじゃなくてcp932なので、渡せないファイル名があり、
対策するには自分でGetCommandLineWしてコマンドライン解析しないといけない。
(これもPython3では直る)

WindowsのUnicode対応に関して言えば、Python3が最強だと思う。
0963デフォルトの名無しさん2010/08/23(月) 15:05:24
>sys.argv もUnicodeじゃなくてcp932なので、渡せないファイル名があり、

kwsk
0964デフォルトの名無しさん2010/08/23(月) 20:10:23
>>963
Python2 は int main(int argc, char *argv[]) で受け取った引数をそのバイト列のまま sys.argv
に入れてる。
Python3 は int _wmain(int argc, wchar *argv[]) で受け取った引数をそのUTF-16のまま
sys.argv に入れてる。
0965デフォルトの名無しさん2010/08/24(火) 05:35:23
urllib,urllib2を試してるんですが
なんで2つに分かれてるんですか?
あとcookieはどうしたら使えますか?
0966デフォルトの名無しさん2010/08/24(火) 08:12:49
os.path は UTF8 と Unicode がごちゃ混ぜ実装。
文字列の置き換えとか文字列処理用途には使えないや
0967デフォルトの名無しさん2010/08/24(火) 09:24:51
>>965
日本語リファレンスには書いてない話:urllibとurllib2の違いってなんだ
http://hylom.net/2010/02/10/urllib_and_urllib2_usag/
0968デフォルトの名無しさん2010/08/24(火) 09:32:07
>>966
嘘を書くな
0969デフォルトの名無しさん2010/08/24(火) 10:02:50
これは糞スレ
0970デフォルトの名無しさん2010/08/24(火) 10:56:59
Pythonスレの遅い初夏ですね
0971デフォルトの名無しさん2010/08/24(火) 11:05:54
>>965
import cookielib
cookielib.CookieJar() を変数に保存しておいて必要に応じて
urllib2.build_opener(urllib2.HTTPCookieProcessor())
に渡す
0972デフォルトの名無しさん2010/08/24(火) 11:10:27
>>967
ありがとうございます
2つの違いについては答えが見つかりましたが
そもそも2つに分かれている理由が判りません

>>971
ありがとうございます
やってみます
0973デフォルトの名無しさん2010/08/24(火) 11:26:59
>>972
>そもそも2つに分かれている理由が判りません

後方互換性を維持するためかなあ。
0974デフォルトの名無しさん2010/08/24(火) 11:36:12
>>> import re
>>> r = re.compile(r'hoge(.*)', re.I)
>>> for m in r.findall(u'hogefuga\nhogehage\nhogehoge\n'):
... print m
...
fuga
hage
hoge
各行毎に出て来ますが
'fuga\nhogehage\nhogehoge\n'
を出力として欲しいときはどうすれば良いでしょう?
0975デフォルトの名無しさん2010/08/24(火) 11:43:59
>>974
import re
r = re.compile(r'hoge(.*)', re.I)
x = r.findall(u'hogefuga\nhogehage\nhogehoge\n')
print u'\\n'.join(x)

でもお前正規表現における.と改行の扱い勘違いしてないか?
0976デフォルトの名無しさん2010/08/24(火) 11:53:39
r = re.compile(r'hoge(.*)', re.I | re.S)
0977デフォルトの名無しさん2010/08/24(火) 11:57:11
>>975
それだと
fugahagehoge
になっちゃいますよね

>>976
出来ました
ありがとうございました
0978デフォルトの名無しさん2010/08/24(火) 13:05:23
>>> import re
>>> r = re.compile(r'hoge(.*)hoge', re.I | re.S)
>>> for m in r.findall(u'hogefuga\nhogehage\nhogehoge\n'):
... print m
...
fuga
hogehage
hoge
これは
'fuga\nhogehage\nhoge'
が検出されているということだと思いますが
re.S をつけたままで
'fuga\n'
と
'hage\n'
と
''
が出て来るようにするにはどうすれば良いでしょう?
0979デフォルトの名無しさん2010/08/24(火) 13:11:32
>>978
それは最大一致になってる
(.*) → (.*?)
0980デフォルトの名無しさん2010/08/24(火) 13:59:13
>>979
出来ました
ありがとうございます

でも
'fuga\n'
と
'hage\n'
と
''
じゃなくて
'fuga\n'
と
''
しか取れません
0981デフォルトの名無しさん2010/08/24(火) 14:11:06
知らんがな
0982デフォルトの名無しさん2010/08/24(火) 21:48:50
くだすれPython(超初心者用) その8
http://hibari.2ch.net/test/read.cgi/tech/1282537545/
0983デフォルトの名無しさん2010/08/24(火) 21:54:11
hoge(.*?)(?=hoge)
0984デフォルトの名無しさん2010/08/24(火) 21:56:12
>>983
出来ました
ありがとうございます
0985デフォルトの名無しさん2010/08/25(水) 10:57:14
コマンドの返り値がabcだとして

select = コマンド
select.replace('ab','cc')

これだと上手くいかないのは何故
0986デフォルトの名無しさん2010/08/25(水) 19:10:36
そんなに氏ねって言われたいのか
0987デフォルトの名無しさん2010/08/25(水) 19:17:23
>>985
>コマンドの返り値がabcだとして

kwsk
0988デフォルトの名無しさん2010/08/25(水) 19:58:18
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!
0989デフォルトの名無しさん2010/08/25(水) 20:12:29
select = select.replace('ab','cc')
じゃね?
0990デフォルトの名無しさん2010/08/26(木) 02:26:20
あまりの過疎スレぶりに(ry
0991デフォルトの名無しさん2010/08/26(木) 16:59:53
ume
0992デフォルトの名無しさん2010/08/26(木) 17:00:21
ume
0993デフォルトの名無しさん2010/08/26(木) 23:26:03
うめ
0994デフォルトの名無しさん2010/08/26(木) 23:28:20
うめ
0995デフォルトの名無しさん2010/08/27(金) 01:07:28
ほっとけばおちるのに
0996デフォルトの名無しさん2010/08/27(金) 01:08:41
>>995はjava-ja
0997デフォルトの名無しさん2010/08/27(金) 01:19:56
人格の問題でしょ
0998デフォルトの名無しさん2010/08/27(金) 01:21:41
この板、dat落ち早すぎね?
最後まで拾えない事もしばしば
もっと速い板もありゅ
981を越えて落ちる時間は、もしかして板によらず一定なのかも。
運営のどこかに希望を持ってけば変えられるかなぁ?
dat落ちの条件って、確か
・一定レス数未満のスレで、一定時間書き込みが無い
・一定レス数以上(981?)のスレで、一定時間書き込みが無い
・板別に設定されたスレ保持数を超えた際、最終書き込み日時が古いもの
の3つだったっけ?
あ、でも最後のは定期的にチェックしてるだけで新スレが立った瞬間じゃないんだっけ
1ヶ月ルールがある板もある
0999デフォルトの名無しさん2010/08/27(金) 05:02:54
うめ
1000デフォルトの名無しさん2010/08/27(金) 05:03:37
くだすれPython(超初心者用) その8
http://hibari.2ch.net/test/read.cgi/tech/1282537545/
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。