くだすれPython(超初 ..
702:デフォルトの名無しさん
09/09/17 08:06:50
>>701
文章を途中で切るよな。
703:デフォルトの名無しさん
09/09/17 09:50:28
ワロタ
704:デフォルトの名無しさん
09/09/24 03:21:16
lambda : 1 + 2
が良くて
lambda : print "hoge2"
がダメな理由って何故ですか?
705:デフォルトの名無しさん
09/09/24 03:35:29
lambda式には式(expression)しか書けないから。printは文(statement)。
706:デフォルトの名無しさん
09/09/24 03:43:40
lambda : sys.stdout.write("hoge2\n")
707:704
09/09/24 04:34:27
ありがとう
・・・Pythonってそう言うのを区別するのか・・・先は長そうだ orz
708:デフォルトの名無しさん
09/09/24 06:08:10
python3ではprintは関数だよ^^
709:デフォルトの名無しさん
09/09/24 07:27:03
Pythonで
print "x=#{x}\n" if DEBUG (Rubyの例)
みたいに1行で完結させる書き方って可能ですか?
同じ物をPythonで書くと
if DEBUG:
print "x="+str(x)
となると思いますが出来ればデバッグメッセージごときに2行は使いたくない・・・
710:デフォルトの名無しさん
09/09/24 08:07:41
if DEBUG: print "x="+str(x)
だが、logging使え。
711:デフォルトの名無しさん
09/09/24 10:34:36
if DEBUG:
print "x="+ str(x)
712:デフォルトの名無しさん
09/09/24 10:36:08
>>711 ミスったので見なかったことに
713:デフォルトの名無しさん
09/09/24 11:42:46
logging.logger
714:デフォルトの名無しさん
09/09/24 13:37:14
URLリンク(pythonjp.sourceforge.jp)
ここにある
def partial(func, *args, **keywords):
という書き方に出てくるCのポインタみたいな記号(*args,**keywords)ってどういう意味ですか?
715:デフォルトの名無しさん
09/09/24 13:43:23
URLリンク(pythonjp.sourceforge.jp)
716:デフォルトの名無しさん
09/09/24 13:53:55
ありがとござます
717:デフォルトの名無しさん
09/09/24 17:46:57
PILのpython3対応はまだか!
718:デフォルトの名無しさん
09/09/24 22:47:32
>>712
え?どこどこ?
719:デフォルトの名無しさん
09/09/24 23:06:30
Python的には字下げだろう。
720:デフォルトの名無しさん
09/09/27 04:43:59
一度定義した変数を消去することは可能ですか?
python3.0で、
print = 5
とするとprintという名前の変数に5が代入されたのですが、
そのあと元のprintという関数を使いたい場合はどうすればよいのでしょうか?
721:デフォルトの名無しさん
09/09/27 04:53:34
__builtins__.print
もしくは
del print
722:720
09/09/27 05:15:58
>>721
ありがとうございました。
723:デフォルトの名無しさん
09/09/27 11:24:07
urllib2でkeep-alive出来ない。助けて
policy = cookielib.DefaultCookiePolicy( rfc2965=True, strict_ns_domain=cookielib.DefaultCookiePolicy.DomainStrict)
cj = cookielib.LWPCookieJar(cookie_jar_path, False, policy)
cjhdr = urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(cjhdr, RefererAddHandler())
opener.addheaders = [
('User-agent', 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)'),
('Connection','Keep-Alive')
('Keep-Alive'','300')
]
r = opener.open( uri )
rinfo = r.info()
for key in rinfo.keys() :
print h, rinfo[key]
## Referer を Autoでつける為のハンドラ ########
class RefererAddHandler (urllib2.BaseHandler) :
def http_request(self, req) :
req.add_header("Referer", req.get_full_url())
return req
---------------------------
firefoxなんかでレスポンスヘッダを見ると、
Connection: Keep-Alive
と出てる。でも上記コードでは
Connection: Close
になる。なにか足りないですか?
724:723
09/09/27 11:26:39
訂正:
('User-agent', 'User-Agent: Mozilla/5.0 〜略)
の箇所は
('User-agent', 'Mozilla/5.0 〜略)
725:デフォルトの名無しさん
09/09/27 11:31:06
HTTPヘッダでkeep-aliveするようにしても
urllib2がそれを想定してないからうまく動かなかったような
ソース読んで絶望した記憶がある
urllib2 keep-alive でぐぐってみるといいんじゃないか
726:723
09/09/27 11:34:14
>>725
ありがとう。ここのサイトのをやってみる!
URLリンク(python.blog-slime.com)
727:723
09/09/27 11:36:47
↑はurllibだった。下のサイトのを拝借するのが一番楽そうですね。d
URLリンク(memo.jj-net.jp)
728:723
09/09/27 12:03:05
ちなみに・・・
urllib2だとcookieの自動処理が容易に出来るけど、keep-aliveが出来ない
urllib だとcookieの自動処理を容易に出来ないが、keep-aliveは出来る
(URLリンク(www.python.jp)見ると、cookielibはurllib2での使用を想定している?)
HTTP/HTTPSをやる上で、比較的高機能で知られたライブラリってありますか?
(PerlのLWP、JavaのCommons/HttpClientみたいな)
729:デフォルトの名無しさん
09/09/27 18:42:43
参考になるかどうかわからんけど2.6, 3.0系列の構成は
URLリンク(urllib-gsoc.blogspot.com)
URLリンク(www.python.org)
URLリンク(www.python.org)
こんなかんじらしい…
730:デフォルトの名無しさん
09/09/27 18:45:28
一番下の example が参考になるかも試練
URLリンク(docs.python.org)
731:デフォルトの名無しさん
09/09/27 18:53:41
おまいらおちつけ
>>723のコードはPython2系列だ
732:デフォルトの名無しさん
09/09/27 19:01:48
URLリンク(fisheye.toolserver.org)
Bingo? 直感で
実は keep-alive の意味がよくわからないw
733:723
09/09/27 23:14:59
みんな、アドバイスありがとう!
python 2.4 に拘っている訳ではないんだ。
v3.0に上げて >>730のurllibとhttp.cookie_jarでやってみる。
>>732
ありがとう!参考にさせてもらうぜぃ
734:723
09/09/28 01:08:16
python3.1 ってif,for,printが式になってて、今まで書いてたコードが動かねーおwww
なんかLISPっぽいね。
2.6と変わりすぎててわらってしまったw
735:723
09/09/28 01:13:56
ひとりごと多くてすまん
>>734は気にしないでくれ。勘違いだったお
736:デフォルトの名無しさん
09/09/28 02:44:31
Twitterでやれ
737:デフォルトの名無しさん
09/09/28 14:47:48
Tkinterについて質問です
from Tkinter import *
root = Tk()
sub_win = None
def button_callback(event):
global sub_win
print 'button down'
sub_win.destroy()
def message_window():
global sub_win
sub_win = Toplevel()
button = Button(sub_win, text='window close')
button.pack()
sub_win.bind('<Escape>', button_callback)
button.bind('<Button-1>', button_callback)
Button(root, text='about', command=message_window).pack()
root.mainloop()
以上のようなコートなのですが、ESCキーを押してもコールバック関数が呼ばれません
何故でしょうか?よろしくお願いします
738:デフォルトの名無しさん
09/09/28 15:28:31
フォーカスの合ってるウィジェットにしか
イベントは送られない。
739:737
09/09/28 16:00:47
レスありがとうございます
>>738
>フォーカスの合ってるウィジェットにしか
>イベントは送られない。
もうちょっと単純にしてみて
from Tkinter import *
root = Tk()
def esc_down(event):
print 'esc key down'
root.destroy()
button = Button(root, text='close')
button.pack()
button.focus_set()
button.bind('<Button-1>', esc_down)
button.bind('<Escape>', esc_down)
root.mainloop()
こういう事ですよね?
これの「button.bind('<Escape>', esc_down)」を「root.bind('<Escape>', esc_down)」
としてもきちんとコールバック関数は呼ばれます。
上のコードのTkをToplevelにしてもESCキーのイベントの補足は成功するようです
>>737みたいな形にするとうまく行かないです。よろしくお願いします
740:デフォルトの名無しさん
09/09/28 18:59:50
UTF-8にエンコードする方法を教えて下さい。
例えばx = "あいうえお"のときyに"%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A"を代入したいんですが
どのようにすればいいでしょうか?
741:デフォルトの名無しさん
09/09/28 19:15:31
元の文字列がShift_JISだと仮定
import urllib
x = 'あいうえお'
y = urllib.quote(x.decode('sjis').encode('utf8'))
742:740
09/09/28 20:07:56
>>741
ありがとうございました、出来ました。
743:デフォルトの名無しさん
09/09/28 21:03:12
>>737
好きなのをどうぞ
- 2つ目のウィンドウをクリックしてからEsc押す
- sub_win.focus_set()
- root.bind('<Escape>', button_callback)
744:デフォルトの名無しさん
09/09/29 03:25:29
複数行の文字列xからどうすれば中身を1行ごとに分割して1つずつリストに代入させることが出来ますか?
745:デフォルトの名無しさん
09/09/29 03:40:05
複数行の文字列をどういうデータ形式で持っているのかによる。
746:デフォルトの名無しさん
09/09/29 03:42:06
"abc\ndef\nghi".split("\n")
747:737
09/09/29 03:59:51
>>743
レスありがとうございます
2枚目のウインドウは作っただけではフォーカスは動かないのか・・・il||li ○| ̄|_
真ん中の方法を使わせて貰いました
748:デフォルトの名無しさん
09/09/29 04:04:20
Tkinterについての質問です。
何らかのイベントが起きたときにフレームの内容を
丸ごと入れ替えるようなプログラムはどの用にする
ば書くことができますか?
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5400日前に更新/160 KB
担当:undef