- 1 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 19:25:51 ]
- このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、 お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>950 辺りで 前スレ くだすれPython(超初心者用) その3 pc12.2ch.net/test/read.cgi/tech/1232055225/ 関連スレ Pythonのお勉強 Part33 pc12.2ch.net/test/read.cgi/tech/1240678081/
- 591 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 07:41:29 ]
- 2でも3でも文字列とバイト列は同じ
文字列リテラルとしてソースに書く場合はやや注意が必要
- 592 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 07:49:52 ]
- >>591
いや違う 2: バイト列=文字列≠ユニコード文字列 3: バイト列≠文字列=ユニコード文字列
- 593 名前:590 [2009/08/20(木) 08:40:32 ]
- >>592
なるほど,その説明はわかりやすい encode とか decode とかのメソッド見たとき, 何から何へなんだよ〜元と先が指定できなきゃ だめなんじゃね?って悩んだ.
- 594 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 10:59:28 ]
- urllib.urlopenで読んできたHTMLをBeautifulSoupに渡すとunicodeにしてくれますが、
その中に囲み数字みたいな機種依存文字があるとencodeでeuc-jpとかにしようとすると 例外が発生しますよね? これってみなさんどうしてます?
- 595 名前:デフォルトの名無しさん [2009/08/20(木) 12:37:08 ]
- unicode-escape
- 596 名前:デフォルトの名無しさん [2009/08/20(木) 12:40:43 ]
- encode('euc-jp', errors='replace')
encode('euc-jp', errors='ignore') encode('euc-jp', errors='strict')
- 597 名前:デフォルトの名無しさん [2009/08/20(木) 12:57:40 ]
- ttp://www.python.jp/doc/release/lib/string-methods.html
ttp://www.python.jp/doc/release/lib/codec-base-classes.html
- 598 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 14:13:08 ]
- euc_jis_2004
- 599 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 14:47:56 ]
- ttp://www.python.jp/doc/release/lib/standard-encodings.html
- 600 名前:594 mailto:sage [2009/08/20(木) 19:51:48 ]
- ヒントありがとうございます。
色々試してみましたが、文字コード回りは今一つ良く分かりませんね。 みなさんのヒントとウェブ情報を参考にとりあえず次のようにしてみました。 html = urllib.urlopen(url).read() html_coding = chardet.detect(html)['encoding'].lower() soup = BeautifulSoup(unicode(html, html_coding, 'replace').encode('utf-8')) text = soup...... print text.encode('euc-jp', 'replace') 単純にprintの時に text.encode('euc-jp', 'replace')とかだと、何故か全体がわけわからないコードになりました。 2.5.4でやってるんですが、3.xになるとこの辺もっとスッキリするんでしょうか。
- 601 名前:デフォルトの名無しさん mailto: [2009/08/20(木) 22:08:07 ]
- 「Python 3.1.1」リリース
pc11.2ch.net/test/read.cgi/pcnews/1250773470/
- 602 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 07:36:16 ]
- >>600
html = urllib.urlopen(url).read() soup = BeautifulSoup(html) text = soup...... print text.encode('euc-jp', 'replace')
- 603 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 07:38:11 ]
- html = urllib.urlopen(url).read()
soup = BeautifulSoup(html) text = soup...... print unicode(text, soup.originalEncoding).encode('euc-jp', 'replace')
- 604 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 14:22:39 ]
- あのLinux使ってる人が一行目に書くのはなんだ?
- 605 名前:デフォルトの名無しさん mailto:sage [2009/08/21(金) 14:42:43 ]
- shebang
- 606 名前:デフォルトの名無しさん [2009/08/23(日) 22:49:29 ]
- はじめまして。
最近、pythonを始めました。 ipythonをとても便利に使っています。 ipythonに関して、一つ質問なのですが、代入式の場合に、評価の値が表示されるようにすることはできないでしょうか?
- 607 名前:デフォルトの名無しさん [2009/08/24(月) 13:03:36 ]
- 「はじめてのpython」で勉強しています
下記スクリプトを実行したとき、 Winで実行する場合とUbuntuで実行する場合とで 結果が違う(Ubuntuの場合はエラーになる)のですが どうしてですか? Ubuntuでエラーを解消するにはどうすればいいですか? 文字エンコード部分を変えたり消したりするのはやってみました。 #! /usr/bin/env python # coding:shift_jis while True: str=input('> ') print( str ) if str=='bye': break
- 608 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 13:27:59 ]
- raw_input() にすれば動くよ。たぶんwinのはpython3なんだろう。
その本がどちらを使ってるかわからないけど、個人的にはまだ2.xを使ったほうがいいと思うよ python2のraw_input() == python3のinput() python2のinput() == python3のeval(input())
- 609 名前:デフォルトの名無しさん mailto: [2009/08/24(月) 23:54:44 ]
- 改行コード
- 610 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 16:17:27 ]
- win32api を使いたいです
ctypes から、windll.[DLL名].[関数名] で呼べるのはわかったのですが、 引数が要求したり、関数が返してくるような定数(?)の実際の値は普通どう確認するものなんでしょうか 他言語から win32api を使った経験は無いです
- 611 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 16:29:15 ]
- ttp://www.python.jp/doc/contrib/ctypes/tutorial_jp.html
ttp://www.python.jp/doc/release/lib/module-ctypes.html ttp://www.ueblog.org/blog/entry/ctypesunlha/ ttp://moco.sakura.ne.jp/python/ctypes%E3%81%AEstructure%E3%81%AB%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B3%E3%83%94%E3%83%BC/
- 612 名前:610 mailto:sage [2009/08/25(火) 17:27:33 ]
- えーと WM_CLOSE とかそういったものが定義されてないので、
その実際の値がわからないとそれを要求したり返したりする関数が使えないんです それで、普通はどうするものなのかと思って質問しました
- 613 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 17:31:15 ]
- 少しぐらいならヘッダファイルから拾ってくれば済むけど
GUIまでやろうとするとものすごく大変な気がする
- 614 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 17:34:19 ]
- MSDNでしらべる。Mingwのw32apiとかみる
- 615 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 17:45:43 ]
- >>813
たまたま目に付いたものを書いただけで、今のところは GUI をやろうとしてるわけではないです ヘッダファイル名でググって、定数名で検索掛けてコピペしてくればいいんですかね 他のコードからコピペして著作権的に大丈夫なんでしょうか >>614 関数と、対応するDLLは、ググって出てきたMSDNのページを見てるんですが、定数が見つからないです どこに何があるかいまいちわからない…… Mingwは調べてみます
- 616 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 20:25:48 ]
- pywin32 の win32con.py
- 617 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 20:50:24 ]
- >他言語から win32api を使った経験は無いです
- 618 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 21:41:44 ]
- >>616
おお、大抵の場合はこれで大丈夫そうです というよりctypesじゃなくてpywin32でwin32apiを呼べるみたいですが、その方がいいんでしょうかね でもpywin32のヘルプ読んでもどこに何があるのかわかりづらい…… >>617 一応書いておいた方がいいかなと これから先、どのapiを使うかわからないのであえて書かなかったのですが、 DDEクライアントを書いてました win32conにddeml.hの定数が見当たらなかったので、 Google先生にお願いしてヘッダファイルからコピペしたところ、とりあえず動きました (コピペして大丈夫なんでしょうか) pywin32にddeなるモジュールがあるようですが、使い方がさっぱりなので見なかったことにします みなさん回答ありがとうございました 今回の件とは別ですが、>>611も参考になりました
- 619 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 22:00:04 ]
- >DDEクライアント
win32com
- 620 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 22:58:40 ]
- COMはDDEとは別物じゃないですか?
- 621 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 23:05:06 ]
- それはMSに言っといてくれ
死語だけでもWindows DNAとかChromeEffectsとかいくらでも出てくる
- 622 名前:デフォルトの名無しさん mailto:sage [2009/08/25(火) 23:34:06 ]
- >>619を読んで、win32comとDDEクライアントの関係がわからなかったので>>620を書いたのですが……
- 623 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 01:55:48 ]
- COMはOLEクライアント
- 624 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 04:10:26 ]
- 拡張子は opyで
- 625 名前:デフォルトの名無しさん mailto:sage [2009/08/27(木) 21:05:40 ]
- .pyoのほうがいい
- 626 名前:デフォルトの名無しさん mailto:sage [2009/08/28(金) 08:19:35 ]
- そのうち2.xようと3.xように
.pyo2とかになるのか
- 627 名前:デフォルトの名無しさん [2009/09/01(火) 22:46:42 ]
- Windows環境でもPyreadlineをインストールしていれば
cmdモジュールのデフォルトでbash-like動作が有効になると思ってたんですが 普通に“^A”などと表示されてしまいます。 IPythonでは補完が効くので、cmdモジュールの使い方が間違ってるんだと思いますが 公式サイトのリファレンスではCmd.cmdを継承したクラスを作って 引数無しでインスタンスを作成するだけのように読めます。 何が間違ってるんでしょうか?
- 628 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 07:39:13 ]
- 助けてください・・・
これからPythonを勉強しようと思ってるのですが、それ以前に「パスを通す」 ということができません。 Windows XP で、Python2.6.2 をインストールしたんですけど、初心者用の サイトにある「パスの設定」というのを見ながらやっても [操作可能なプログラムまたはバッチ ファイルとして認識されていません]と でてしまい困っています・・・。どうすればパスを通せるのか教えていただけ ないでしょうか。よろしくお願いします。
- 629 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 08:12:03 ]
- 了解
- 630 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 08:33:11 ]
- スレ違い
パソコン入門スレとかにいってこい
- 631 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 09:24:33 ]
- ↑
PATHの通し方すら教えられない。 しょせんPyヲタなんて、この程度。
- 632 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 09:51:29 ]
- 逃げた?
- 633 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 09:53:19 ]
- >>628
autoexec.bat あたりを弄ったのかな?それはWindows98時代のやり方で、 Windows2000以降ならGUIで設定できる。 ttp://www.daikichi.net/books/lecture_java/setting_jdk.html
- 634 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 10:08:32 ]
- 言っちゃった…。
俺はあほの相手するのは疲れるんでぐっとこらえたんだけど。
- 635 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 14:15:51 ]
- >>628
>>633が答えてくれてるけど うまくいかなかったらまた聞いてくれ
- 636 名前:628 mailto:sage [2009/09/03(木) 19:12:06 ]
- >>629 ?
>>630 すみません。スレ違いという事すら気づきませんでした...。 >>631 ごめんなさい..。私が悪いんです。 >>632 ? >>633 ご親切に答えてくれて、ありがとうございます。教えて頂いた ttp://www.daikichi.net/books/lecture_java/setting_jdk.html も、見てみた のですが、ダウンロードし直したら無事にパスが通りました。本当に、 ありがとうございました。 >>634 ごめんなさい、ほんとに私はアホです。 >>635 ありがとうございます。結局、何が原因だったのかわからないのですが どうにかパスの設定はできました。
- 637 名前:デフォルトの名無しさん [2009/09/03(木) 21:35:11 ]
- >> 607
一行目の指定宣言ですが? #! /usr/bin/env python /* man env 引用 */ NAME env -- set and print environment 余り どの様な形式の基礎かが理解 出来ないのですが… この部分の基礎宣言の説明をして頂けますか?
- 638 名前:デフォルトの名無しさん [2009/09/03(木) 21:51:11 ]
- ピートンっておぼえたほうがいいかな
- 639 名前:BBS戦士ジョソコイダーGID@愛をください [2009/09/03(木) 21:52:46 ]
- ジョソコイダーを遊園地に連れてってって
- 640 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:08:29 ]
- >>637
その一行目は shebang という 二行目以降を入力として shebang に指定したコマンドを実行する ややこしい話をすると shebang に指定されたコマンドを実行するのはシェルでなくカーネルの仕事 シェルは環境変数PATHを知っているけど、カーネルは知らないので 原則 #!/usr/bin/python などではなく #!/usr/bin/python のように書く必要がある ただこの方法だと他のマシンでの python インタプリタの場所が /usr/local/bin/python だった場合に動かないので env コマンドに環境の設定と python の実行をお願いする
- 641 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 22:09:26 ]
- o 原則 #!/usr/bin/python などではなく #!/usr/bin/python のように書く必要がある
x #!python などではなく #!/usr/bin/python のように書く必要がある
- 642 名前:デフォルトの名無しさん [2009/09/03(木) 22:33:38 ]
- >>607
/* Line 2 */ # coding: 'Shift_JIS' これで 通りますが… 何をする Program ですか?
- 643 名前:デフォルトの名無しさん [2009/09/03(木) 22:38:14 ]
- >>642 plus
失礼… >>640 を読めずに書き込んだので…
- 644 名前:デフォルトの名無しさん [2009/09/03(木) 22:48:02 ]
- >>640
読んだのですが? 文字列を入れても Syntax Error に為りますが? 直接 打ち込んでの作業では無いと云う事か…
- 645 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 23:12:28 ]
- まずは日本語の構文をマスターしてからのほうが
いいと思うんだ・・・
- 646 名前:デフォルトの名無しさん mailto:sage [2009/09/03(木) 23:17:30 ]
- >>644
shebang を使うのはファイルに保存したスクリプトを % python scriptname ではなく % chmod +x scriptname % ./scriptname のように実行したい場合 対話型プロンプトではそもそも必要ない よくわからなかったら、慣れるまで * スクリプト内でASCII文字だけ使うようにする * 実行する際は % python scriptname * 対話型プロンプトは使わない そうすれば #!/usr/bin/env python や # coding: sjis を書く必要が無くなる あとできればメール欄に sage って入れて
- 647 名前:デフォルトの名無しさん [2009/09/04(金) 00:16:11 ]
- >>646 本人がレスして居るのでしょうか?
# coding: Shift_JIS は 始めから省略が出来たと思いましたが… 書く必要性 1: どの coding: を使用して居るかを明確にする為 記憶では二行目は かなり about に書く事が出来る でしたか? prompt を使用しないですか… script が まだ入力待ちの状態だったと理解して居りますが? >>607 「はじめてのpython」で勉強しています 下記スクリプトを実行したとき、 Winで実行する場合とUbuntuで実行する場合とで 結果が違う(Ubuntuの場合はエラーになる)のですが どうしてですか?
- 648 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:01:52 ]
- どんなエラーが出たのか書けよ
- 649 名前:デフォルトの名無しさん [2009/09/04(金) 01:05:22 ]
- OSが違うからです
- 650 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:06:22 ]
- >下記スクリプト
???
- 651 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:12:46 ]
- 異なる環境で動かすことを考えているなら、 coding指定は必ず書いておけ。
標準入力も、inputに頼らず、codecs.getreader()で、 エンコード指定して、sys.stdinからファイル入力として扱うほうが、 トラブルは少ないかもしれない。
- 652 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:13:36 ]
- その変な日本語どうにかしてよ
- 653 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:20:28 ]
- str = codecs.getreader('UTF-8')(sys.stdin)
- 654 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:23:08 ]
- str = codecs.getreader('UTF-8')(sys.stdin).read()
- 655 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:25:03 ]
- っつーかstrをへんこうしたらなにがおこるんだ?
- 656 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:56:11 ]
- うちゅうのほうそくがみだれる
- 657 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 01:57:50 ]
- 変更というよりは邪魔して見えなくしてるだけだ
__builtins__.str
- 658 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 06:27:01 ]
- py3なら文字コード余裕でした。
- 659 名前:デフォルトの名無しさん [2009/09/04(金) 13:46:11 ]
- 拙もはじめてのpython3で勉強してます。
本に載ってた下記スクリプトが、WinでもLinuxでも動きませんでした。 本のミスでしょうか? ■エラー内容: print( gcd(int(sys.argv[1]),int(sys.argv[2])) ) IndexError: list index out of range ■スクリプト: #!usr/bin/env python # coding:shift_jis import sys def gcd(m,n): if n>m: m,n=n,m while n>0: m,n=n%m return m if __name__=='__main__': print( gcd(int(sys.argv[1]),int(sys.argv[2])) )
- 660 名前:659 [2009/09/04(金) 13:47:43 ]
- カキコしたらインシデントがなくなってしまいました。修正します。
■スクリプト #!usr/bin/env python # coding:shift_jis import sys def gcd(m,n): if n>m: m,n=n,m while n>0: m,n=n%m return m if __name__=='__main__': print( gcd(int(sys.argv[1]),int(sys.argv[2])) )
- 661 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 14:08:36 ]
- >>660
sys.argv[1] と sys.argv[2] はそれぞれ、 python gcd.py 3 5 (もしくは ./gcd.py 3 5) としたときの 3 と 5 が入ります。 引数をつけずにプログラムを実行されたのではないでしょうか?
- 662 名前:659 [2009/09/04(金) 16:00:32 ]
- >>661
そのとおりでした。ありがとうございます。
- 663 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 16:15:57 ]
- WindowsでPython 2.6.2を使って機種依存文字を処理しようと思ったんですが、
cp932でエンコードして書き出すとき、PythonはNEC選定IBM拡張文字を優先して使うようなんです。 (例えば「掾vの場合、fbb9ではなくee9d) できたらIBM拡張文字の方で書き出せるようにしたいんですが、何かいい方法があるでしょうか?
- 664 名前:デフォルトの名無しさん [2009/09/04(金) 16:48:19 ]
- >>663
Text 文書を保存して その儘 特定機種で Text を読み込むと どの様に為りますか?
- 665 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 16:53:22 ]
- >>> u"ケ".encode("mbcs")
'\xfb\xb9' >>> u"ケ".encode("cp932") '\xee\x9d'
- 666 名前:デフォルトの名無しさん [2009/09/04(金) 17:03:13 ]
- >>664 plus
否… 表現が悪かった様で… 片方の機種で その文字を Text に保存して もう片方の機種で その Text を読み込むと どの様に為りますか?
- 667 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 17:19:25 ]
- >>665
どうもありがとうございます。 何となく、Windowsではcp932を選べばいいのだと勝手に思い込んでました。 >>666 すみません、勉強不足でよく理解できていないんですが、cp932はWindows以外の環境も考慮してああなっているということでしょうか? もっとよく調べてみます。
- 668 名前:デフォルトの名無しさん [2009/09/04(金) 17:32:22 ]
- うにcode か… 素晴らしいな…
- 669 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 18:33:07 ]
- >インシデント
- 670 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 22:10:56 ]
- >>665
なんなのその顔文字ふざけてんの?
- 671 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 22:18:51 ]
- u('-')
たまに出てくるけどかわいい
- 672 名前:デフォルトの名無しさん mailto:sage [2009/09/04(金) 23:06:05 ]
- >>670
NEVADA
- 673 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 00:12:56 ]
- >>671
心の汚れた環境では見れないらしい…
- 674 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 22:02:15 ]
- osごとに異なるモジュールをインポートするにはどうしたらいいのでしょうか?
C言語で言うifdefみたいなことがしたいのですがうまくいきません・・
- 675 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 22:03:45 ]
- import sys
sys.platform
- 676 名前:デフォルトの名無しさん mailto:sage [2009/09/05(土) 22:18:03 ]
- >>675
ありがとうございます sys.platformで取り込むモジュールを振り分けられました importは先頭に書くものだと思っていました。。
- 677 名前:デフォルトの名無しさん [2009/09/06(日) 00:20:31 ]
- 普通はtry: import hoge except ImportError: import fugaみたいにするんじゃなかったっけ?
- 678 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 00:36:49 ]
- 異なるシステムでもImportErrorでない書き方できるからsys.platform使う方が無難
- 679 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 00:42:55 ]
- sys.platformというのは初耳だわ
os.nameよりも詳しいのかな
- 680 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 00:45:20 ]
- platformモジュールとか初めて知った
- 681 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 01:05:04 ]
- >>680
そういえばそんなのもあったね。程度にしか使われてないよな sysはビルトインの標準モジュールだから絶対に読み込めるという理由もあるかも osはパス通ってないとimportできないし
- 682 名前:デフォルトの名無しさん [2009/09/06(日) 18:33:13 ]
- スクリプトでテキストを立ち上げたり、IEを起動させたりは可能ですか?
- 683 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 18:40:20 ]
- yes you can
- 684 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 23:46:18 ]
- いろいろ試したんだけどwindowsでparamikoが使えない。
これは使えないでOK?
- 685 名前:デフォルトの名無しさん mailto:sage [2009/09/06(日) 23:50:05 ]
- Windowsでparamikoつかえるよ?
bazaarなんてWindows用のデフォルトのsshクライアントがparamikoだよ。
- 686 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 00:08:23 ]
- >>685
俺にとってあんたは神様だ。 設定しかたを教えてくれ!
- 687 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 00:51:13 ]
- >>685
1. paramiko-1.7.5.zip をダウンロード 2. 適当なディレクトリに解凍 3. コマンドプロンプト開いて 2 のディレクトリに cd で移動する 4. python setup.py build 5. python setup.py install これを順にやっていって、どこで引っかかるか教えて。 今やってみたら、依存ライブラリのpycryptoが手元の環境でインストール済みだったから すんなりインストール終わった。 ひょっとしたらpycryptoインストールするときに拡張モジュールのコンパイルが必要かも 知れないから、Pythonのバージョンに対応するコンパイラをもっていない場合は mirror.cameronbergh.com/pycrypto-win/ から対応するパッケージをダウンロードするといいよ。
- 688 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 00:54:35 ]
- 親切にありがとう!
paramiko-1.7.4でやったらすんなりとおった。
- 689 名前:デフォルトの名無しさん [2009/09/10(木) 16:31:07 ]
- n(適当な自然数)次元の実数値関数fを定義するときに
f = lambda x : (x**2).sum() とか書いてあるコードがあって、意味がわかりません。 lambda式がわからないのではなくて、後ろについてる.sum()がわかりません。 インタプリタで上記定義をして、f(x=1.0)とかf(x=[1.0,2.0])とかやってみると、 sum()についてのattribute errorが出ます。 よろしくお願いします…。
- 690 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 16:33:31 ]
- xがnumpyのarrayなんじゃない?
- 691 名前:689 [2009/09/10(木) 16:43:10 ]
- >>690
それでした! どうもありがとうございました。
- 692 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 22:49:04 ]
- BitTorrent以外でpythonで実装されたクライアントソフトあるいはスタンドアローンソフトって何がありますか?
砕けた言い方をすると、pythonで実装されていて拡張子がexeなそれなりに有名なソフトって何がありますか?
- 693 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 22:59:58 ]
- BTはPythonやめたんじゃなかったっけ?
- 694 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 23:03:43 ]
- ttp://wiki.python.org/moin/Applications
- 695 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 15:52:44 ]
- 拡張子がexeである必要がよくわからないけど、
bzr, mercurial といったVCSもそうだし、 Editra, Dropbox, TaskCoach, 他にもいろいろあるぞ。 LinuxにいったらさらにPython製デスクトップアプリだらけ。
- 696 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:57:53 ]
- yum
- 697 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:59:20 ]
- とりあえず2chviewerでも作って公開すれば有名になれるんかな
- 698 名前:デフォルトの名無しさん [2009/09/14(月) 05:56:06 ]
- >684
これかも ttp://d.hatena.ne.jp/lolloo-htn/20090801/1249085650
- 699 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 09:44:16 ]
- bugs.launchpad.net/paramiko/+bug/411910
へぇ。
- 700 名前:デフォルトの名無しさん mailto:sage [2009/09/15(火) 12:47:58 ]
- >>692
portage, samuraix
- 701 名前:デフォルトの名無しさん [2009/09/15(火) 21:14:28 ]
- wikipediaのPythonのページに
「多くの異なる言語で書かれたモジュールをまとめるグルー言語」 とありますが、これは複数のプログラミング言語で書かれたモジュールを まとめられるということでいいのでしょうか?
- 702 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 08:06:50 ]
- >>701
文章を途中で切るよな。
- 703 名前:デフォルトの名無しさん mailto:sage [2009/09/17(木) 09:50:28 ]
- ワロタ
- 704 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 03:21:16 ]
- lambda : 1 + 2
が良くて lambda : print "hoge2" がダメな理由って何故ですか?
- 705 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 03:35:29 ]
- lambda式には式(expression)しか書けないから。printは文(statement)。
- 706 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 03:43:40 ]
- lambda : sys.stdout.write("hoge2\n")
- 707 名前:704 mailto:sage [2009/09/24(木) 04:34:27 ]
- ありがとう
・・・Pythonってそう言うのを区別するのか・・・先は長そうだ orz
- 708 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 06:08:10 ]
- python3ではprintは関数だよ^^
- 709 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 07:27:03 ]
- Pythonで
print "x=#{x}\n" if DEBUG (Rubyの例) みたいに1行で完結させる書き方って可能ですか? 同じ物をPythonで書くと if DEBUG: print "x="+str(x) となると思いますが出来ればデバッグメッセージごときに2行は使いたくない・・・
- 710 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 08:07:41 ]
- if DEBUG: print "x="+str(x)
だが、logging使え。
- 711 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 10:34:36 ]
- if DEBUG:
print "x="+ str(x)
- 712 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 10:36:08 ]
- >>711 ミスったので見なかったことに
- 713 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 11:42:46 ]
- logging.logger
- 714 名前:デフォルトの名無しさん [2009/09/24(木) 13:37:14 ]
- pythonjp.sourceforge.jp/dev/library/functools.html
ここにある def partial(func, *args, **keywords): という書き方に出てくるCのポインタみたいな記号(*args,**keywords)ってどういう意味ですか?
- 715 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 13:43:23 ]
- pythonjp.sourceforge.jp/dev/tutorial/controlflow.html#tut-keywordargs
- 716 名前:デフォルトの名無しさん [2009/09/24(木) 13:53:55 ]
- ありがとござます
- 717 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 17:46:57 ]
- PILのpython3対応はまだか!
- 718 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 22:47:32 ]
- >>712
え?どこどこ?
- 719 名前:デフォルトの名無しさん mailto:sage [2009/09/24(木) 23:06:30 ]
- Python的には字下げだろう。
- 720 名前:デフォルトの名無しさん [2009/09/27(日) 04:43:59 ]
- 一度定義した変数を消去することは可能ですか?
python3.0で、 print = 5 とするとprintという名前の変数に5が代入されたのですが、 そのあと元のprintという関数を使いたい場合はどうすればよいのでしょうか?
- 721 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 04:53:34 ]
- __builtins__.print
もしくは del print
- 722 名前:720 mailto:sage [2009/09/27(日) 05:15:58 ]
- >>721
ありがとうございました。
- 723 名前:デフォルトの名無しさん mailto:sage [2009/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 mailto:sage [2009/09/27(日) 11:26:39 ]
- 訂正:
('User-agent', 'User-Agent: Mozilla/5.0 〜略) の箇所は ('User-agent', 'Mozilla/5.0 〜略)
- 725 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 11:31:06 ]
- HTTPヘッダでkeep-aliveするようにしても
urllib2がそれを想定してないからうまく動かなかったような ソース読んで絶望した記憶がある urllib2 keep-alive でぐぐってみるといいんじゃないか
- 726 名前:723 mailto:sage [2009/09/27(日) 11:34:14 ]
- >>725
ありがとう。ここのサイトのをやってみる! python.blog-slime.com/function/urllib/
- 727 名前:723 mailto:sage [2009/09/27(日) 11:36:47 ]
- ↑はurllibだった。下のサイトのを拝借するのが一番楽そうですね。d
memo.jj-net.jp/18
- 728 名前:723 mailto:sage [2009/09/27(日) 12:03:05 ]
- ちなみに・・・
urllib2だとcookieの自動処理が容易に出来るけど、keep-aliveが出来ない urllib だとcookieの自動処理を容易に出来ないが、keep-aliveは出来る (www.python.jp/doc/2.4/lib/cookielib-examples.html見ると、cookielibはurllib2での使用を想定している?) HTTP/HTTPSをやる上で、比較的高機能で知られたライブラリってありますか? (PerlのLWP、JavaのCommons/HttpClientみたいな)
- 729 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 18:42:43 ]
- 参考になるかどうかわからんけど2.6, 3.0系列の構成は
urllib-gsoc.blogspot.com/2008/06/urllib-package.html www.python.org/dev/peps/pep-3108/#http-package www.python.org/dev/peps/pep-3108/#urllib-package こんなかんじらしい…
- 730 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 18:45:28 ]
- 一番下の example が参考になるかも試練
docs.python.org/dev/3.0/library/http.cookiejar.html
- 731 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 18:53:41 ]
- おまいらおちつけ
>>723のコードはPython2系列だ
- 732 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 19:01:48 ]
- https://fisheye.toolserver.org/browse/~raw,r=6953/pywikipedia/branches/rewrite/pywikibot/comms/threadedhttp.py
Bingo? 直感で 実は keep-alive の意味がよくわからないw
- 733 名前:723 mailto:sage [2009/09/27(日) 23:14:59 ]
- みんな、アドバイスありがとう!
python 2.4 に拘っている訳ではないんだ。 v3.0に上げて >>730のurllibとhttp.cookie_jarでやってみる。 >>732 ありがとう!参考にさせてもらうぜぃ
- 734 名前:723 mailto:sage [2009/09/28(月) 01:08:16 ]
- python3.1 ってif,for,printが式になってて、今まで書いてたコードが動かねーおwww
なんかLISPっぽいね。 2.6と変わりすぎててわらってしまったw
- 735 名前:723 mailto:sage [2009/09/28(月) 01:13:56 ]
- ひとりごと多くてすまん
>>734は気にしないでくれ。勘違いだったお
- 736 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 02:44:31 ]
- Twitterでやれ
- 737 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 15:28:31 ]
- フォーカスの合ってるウィジェットにしか
イベントは送られない。
- 739 名前:737 mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 19:15:31 ]
- 元の文字列がShift_JISだと仮定
import urllib x = 'あいうえお' y = urllib.quote(x.decode('sjis').encode('utf8'))
- 742 名前:740 mailto:sage [2009/09/28(月) 20:07:56 ]
- >>741
ありがとうございました、出来ました。
- 743 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 21:03:12 ]
- >>737
好きなのをどうぞ - 2つ目のウィンドウをクリックしてからEsc押す - sub_win.focus_set() - root.bind('<Escape>', button_callback)
- 744 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 03:25:29 ]
- 複数行の文字列xからどうすれば中身を1行ごとに分割して1つずつリストに代入させることが出来ますか?
- 745 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 03:40:05 ]
- 複数行の文字列をどういうデータ形式で持っているのかによる。
- 746 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 03:42:06 ]
- "abc\ndef\nghi".split("\n")
- 747 名前:737 mailto:sage [2009/09/29(火) 03:59:51 ]
- >>743
レスありがとうございます 2枚目のウインドウは作っただけではフォーカスは動かないのか・・・il||li ○| ̄|_ 真ん中の方法を使わせて貰いました
- 748 名前:デフォルトの名無しさん mailto:sage [2009/09/29(火) 04:04:20 ]
- Tkinterについての質問です。
何らかのイベントが起きたときにフレームの内容を 丸ごと入れ替えるようなプログラムはどの用にする ば書くことができますか?
|

|