くだすれPython(超初 ..
[2ch|▼Menu]
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