[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 02/24 01:18 / Filesize : 206 KB / Number-of Response : 962
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Pythonのお勉強 Part30



1 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 19:09:55 ]
Pythonオフィシャルサイト
www.python.org/
日本Pythonユーザ会
www.python.jp/Zope/
まとめWiki
python.rdy.jp/
関連スレ
find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
前スレ
pc11.2ch.net/test/read.cgi/tech/1223543412/

596 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 23:42:53 ]
>>595
ん?いや、送ってくるのはOSなりウィンドウシステムなりだが、
あくまでアプリが能動的に読み取る

pythonでraw_input()関数を呼ぶと入力待ちになって
キーボードから何か打ち込んでやると制御が戻って入力が得られるだろう
それと基本的には同じだ

597 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 23:55:31 ]
>>596
アプリ「何かキーが押されるまで待つか」
アプリ「zzZ」
OS「おい起きろ。お前宛に”A”キーが押されたぞ」
アプリ「ああ、おk。これで次の処理に進めるね」

ってイメージだけど、あってる?

598 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 23:59:16 ]
>>597
うん、そんな感じであってる

599 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 23:59:53 ]
event「Zzz」
loop「何かイベントあった?」
os「Aキー押されてるよ」
loop「おいevent起きろ」
event「イベント実行、っと」

600 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 00:00:20 ]
ウィンドウシステムだと起きなくてもガンガンポストに突っ込んでくよ

601 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 00:03:53 ]
>>599
> loop「何かイベントあった?」

こういうポーリングはないと思ってくださって結構です。

602 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 00:06:29 ]
寝てる奴を起こしてはくれるんだが
次の仕事を待ちかまえてない時(別の仕事をしてる時)に
別の作業が舞い込んでくることは普通にあるから、
とりあえず仕事依頼はイベントキューという名前のポストに溜め込まれる

でもまあ最初の理解としては>>597でいいと思う

603 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 00:06:41 ]
いやはや、スレチ臭い話題なのにみんな答えてくれてサンクス。
こりゃ低レベルなGUIに関する知識が必要さね。
「プログラムはなぜ動くのか」って書籍は読んだけど次は「Windowsはなぜ動くのか」辺りを読もうかね。

604 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 00:12:24 ]
>>594
もうちょっと真面目に書けば、
ウィンドウを終了した時に、
app.MainLoop()から返ってくるので、
そこでまた対話環境を利用することも可能です。



605 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 00:15:36 ]
>>604
うん、まあそうなんだけど、普通は窓を作って対話的に
ボタンをつけたり線を引いたり窓を動かしてみたりしたいわけでしょう
対話環境なんだから

ウィンドウシステムでは、窓を表示してUIを操作するには、結局誰かが
>>593のような仕事をしてやる必要がある
Tkinterの場合は、WindowsやLinuxでは自動的にバックグラウンドスレッドを
作って、そういうイベントループを回してくれるわけだ
そうでなければ、そのようなヘルパー的機構を陽で造りこむ必要があるな

606 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 00:31:35 ]
Tkは、データ構造をユーザ定義出来ない
動的言語のTCL上で最初に実装された。
だからその言語の影響を受けて、組み込みのTkオブジェクトを、
コマンドで操作していく動的なAPIになった。
だからどの言語上でも対話的なGUIコンポーネント作成が得意だね。


607 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 00:36:21 ]
うん
古臭いと言われがちだが、対話環境で遊ぶ&学習用には今なお優れた環境だと思う
IronPython出たとき対話的・動的にGUIを作成していくデモが話題になってたけど
あれぐらいはTkなら昔から出来たことだ

608 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 00:51:25 ]
Pythonは包容力があるんだよな。
会社でPython使い(私事だけ)が増えているんだよな。
言語コミュニティも穏やかでそれがいいんだろうけど。

609 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 01:17:26 ]
対話環境で関数書いてると、途中でタイプミスして怒られたり、
関数作った後、関数内に文を付け足したり編集したくなったときに、
また初めから関数を定義しなくちゃいけないから面倒なんだけど、
それに対する上手い方法ってある?

610 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 01:38:04 ]
>>609
ipython の ed コマンド

611 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 01:43:40 ]
Python使ってる奴ってキモメンが多いな。
今日の忘年会に出て切実に感じた。

612 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 01:49:05 ]
知らんがな

613 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 01:52:17 ]
>>609
俺はEmacs使いだから、
Common Lisp用のSLIMEみたいなマイナーモードが欲しいなあ。
common-lisp.net/project/slime/

614 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 02:39:38 ]
ぼくは初心者ですが「こんな感じ」と書く人のコードは信用しません




615 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 03:31:06 ]
>Python使ってる奴ってキモメンが多いな。
今日の忘年会に出た面子だけだろ


616 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 03:43:19 ]
Python使ってる奴ってイケメンが多いな。
今日の忘年会に出て切実に感じた。

617 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 03:51:06 ]
Python使っている人のスレって大体こんな感じ。

618 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 09:52:45 ]
>>611
一人忘年会を開いたんですね

619 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 10:19:58 ]
Python使っている人のスレって大体>>618こんな感じ。

620 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 10:21:17 ]
618はキモ面

621 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 10:40:50 ]
他人の顔なんか、どうでもよくない?

622 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 10:50:22 ]
顔なんかどうでもいい
くぎゅが好きなんだ!!!

623 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 10:56:25 ]
622 :デフォルトの名無しさん [↓] :2008/12/19(金) 10:50:22
顔なんかどうでもいい
くぎゅが好きなんだ!!!

624 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 11:55:30 ]
ブサでオタの集会だったのか。



625 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 13:06:09 ]
しね

626 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 13:52:47 ]
釘宮理恵だっけ?
なんか顔を想像すると必ず柴田理恵が出てくるわ

627 名前:デフォルトの名無しさん [2008/12/19(金) 14:22:45 ]
twitterから
顔かよ。くだらん。

628 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 15:38:18 ]
またruby厨が荒らし始めたか

629 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 16:27:46 ]
ja.uncyclopedia.info/wiki/%E9%87%98%E5%AE%AE%E7%90%86%E6%81%B5
釘宮 理恵(くぎのみや りえ、1979年5月30日 - )は日本を代表するツンデレ声優。また、声優界で唯一の皇族でもある。

630 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 19:53:39 ]
アンサイを張られても

631 名前:デフォルトの名無しさん [2008/12/19(金) 20:08:26 ]
ユークリッドの互除法のコードを書いたのですが、大きい (約500桁) 整数を入力すると
ものすごく長いエラーメッセージの末尾に maximum recursion depth exceeded in cmp
と出ました。

これはおそらくスタックオーバーフローのようなものだと思うのですが、python の設定か何かでもっと深い階層まで使えるようにすることはできますか?
できなければプログラムの方を変更して再帰しないようにしますが。

632 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 20:12:25 ]
プログラムを何とかしようぜ。
再帰は、プログラム練習には使えても実用コードにはならないから。

再帰を展開する技術は身につけておいて損はない。

633 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 20:14:36 ]
>>631
Pythonの関数呼び出し階層の深さ上限はデフォで1000となっている
その値は変更できるが、あまり薦められんな

それと、Pythonは末尾再帰を最適化しない

634 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 20:20:55 ]
まぁ念のため、変更方法はこれだ。
docs.python.org/library/sys.html?highlight=setrecursionlimit#sys.setrecursionlimit



635 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 21:11:16 ]
末尾再帰くらいは自動で除去して欲しいよな。


636 名前:631 [2008/12/19(金) 21:28:37 ]
>>632-634
12分で3レスもつくなんて感激です。ありがとうございます!
互助法は再帰じゃない方も書いたことがあるので (VBでですが)、大丈夫だと思います。それでは。

637 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 22:21:03 ]
まあレスつけてるの全部キモメンだけどな。

638 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 22:31:22 ]
あほいえめんずのんののもでるやってるわ

639 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 00:08:15 ]
>>635
Schmeみたいにすっきりしゃっきりしたセマンティクスがある言語でないと無理。
Common Lispですら仕様では要求してないし。

640 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 02:33:46 ]
yieldでいけるような

641 名前:デフォルトの名無しさん [2008/12/20(土) 04:04:51 ]
cook bookに末尾再帰にするデコレーターがある。
psycoを使っても末尾再帰になる。

642 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 04:15:39 ]
再帰は使っても末尾再帰はあんまり使わない。
再帰を無理に末尾再帰にしても読みづらいことも多い。

>>639
むしろCommon Lispはループで回すのがデフォだよね。


643 名前:デフォルトの名無しさん [2008/12/20(土) 11:38:12 ]
画面設計面倒だから、もうローカルのアプリケーションも
インターフェイスはブラウザでいいかなとか思って
import web してみた。

・・・なんて簡単にウェブアプリが書けちゃうんだ。

644 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 14:15:15 ]
ポストンポストン!



645 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 15:29:02 ]
みんなごめん。
来年の給料払えないや。

646 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 15:37:23 ]
スタックに相当するものを自前で用意すれば
とりあえず再帰をループに展開できるね。

647 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 16:09:12 ]
急激に社員を増やしすぎたみたいだ。
人件費がこんなに重たいものだなんて。
勉強会が突然中止になったりしたら、そういうことだからね>みなさん

648 名前:デフォルトの名無しさん [2008/12/20(土) 16:14:57 ]
Python から Windows の ADO 経由で各種データベースを
アクセスしたいんですが、どのパッケージが定番なんでしょうか?
adodbapi というものと adodb というものがあるみたい。

adodbapi.sourceforge.net/
最新版は 2.2.4 December 17, 2008

adodb.sourceforge.net/
最新盤は adodb-py-210 July 30, 2008

649 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 17:41:06 ]
win32comだけで充分です
本当にありがとうございました

650 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 19:19:49 ]
流れぶった切ってcomtypes最強説を提唱

651 名前:デフォルトの名無しさん mailto:sage [2008/12/20(土) 20:33:59 ]
>>648
あまり詳しくないのですが
comtypesはディスパッチインタフェース、カスタムインタフェースの両方に
アクセスできて、ディスパッチイベントも捕まえられるので十分かと思います

カスタムインタフェースにアクセスできると、dir()でCOMのインタフェースを
閲覧できるので便利です


652 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 10:02:01 ]
groups.google.co.jp/group/comp.lang.python.announce/browse_thread/thread/6739a9467328eb8d

653 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 10:38:55 ]
vensterて使ってる人いる?

ATL/WTLを知っているWindowsプログラマにとっては、Win32限定なら
理想的なGUI環境に見える。
ATL/WTLがWindows APIの軽量ラッパーであるのと全く同じで
vensterはctypesを使ったWindows APIの軽量ラッパーだ。
非常に軽くて小さい上に、ATL/WTLのプログラミングモデルそっくりなんだが、
ここ数年メンテされてなくて、comtypesではなく古いctypes.comを使ってるんで
そのままでは今のPythonでは使えねえ。

今日落してきて、簡単なサンプルなら動くように手を入れたが、
COMのコネクションポイント/ディスパッチインタフェース周りで嫌になって投げた。
誰かこれ引き継いでくれねえかなあ。


>今日落してきて、簡単なサンプルなら動くように手を入れたが、
>COMのコネクションポイント/ディスパッチインタフェース周りで嫌になって投げた。
>誰かこれ引き継いでくれねえかなあ。

うp器盆


kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7446.zip
venster 0.72へのパッチ
vensterのサイトからソースとってきてpatch -p0で当ててくれ

つうかcomtypesドキュメント少なすぎだろ常考
testの中のスクリプトのなかには、そっちも直さんと動かんのもあるが、さすがに
放置


654 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 10:39:22 ]
パッチの状態について補足。
vensterのモジュール自体は大体直したつもり。

test用スクリプトのtest_browser.pyって奴は直さないと動かないし、直していない。
IEエンジンを使ったカスタムブラウザのサンプルだが、
Python側でIOleClientSiteやらIDocHostUIHandlerやらをオンザフライで
実装していて、そこをどうにかせんと動かない。

そこまでやってないIEエンジン埋め込みスクリプトがほかにもあるが、それらは
動くようにはなった。ディスパッチイベントも捕捉できてる。




655 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 10:42:26 ]
WindowsのPythonから透過的にCOMを呼び出す方法はいくつかあります。
IronPythonを使えば何の苦労もなく呼び出すことができますし、
Classic PythonからはPythonwinを使えば良いという事実はあまりにも有名です。
でも、以前紹介したように、Python 2.5にはctypesモジュールが最初から
用意されています。せっかく2.5使うんだから、ctypesでCOMを呼べないかと
思ってしまいますよね。残念ながら、ctypesは最近になって、COMを呼び出す機能を
comtypesに譲ったようで、追加でこれをインストールする必要があるようですが。

モノは試しなのでやってみます。やりたいことはこんな感じです。

var ssfNETHOOD = 19
var wshell = new ActiveXObject('WScript.Shell')
var shell = new ActiveXObject('Shell.Application')
var nethood = shell.nameSpace(ssfNETHOOD).self.path
//var nethood = wshell.specialFolders('NetHood')
var link = wshell.createShortcut(nethood + '\\TEST.lnk')
link.targetPath = 'ftp://localhost/'
link.save()

このJScriptは、ネットワークコンピュータの下に「TEST」という名前で、
「ftp://localhost/」を追加します。
comtypesでも同様にできるかと思ったら以外に落とし穴がありました。


656 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 10:42:57 ]
comtypesをインストールして、以下のようにコードを書きました。

from ctypes import cast, POINTER
from comtypes.client import CreateObject
import os

wshell = CreateObject('WScript.Shell')
shell = CreateObject('Shell.Application')

from comtypes.gen.Shell32 import Folder2, ssfNETHOOD
from comtypes.gen.IWshRuntimeLibrary import IWshShortcut

nethood = cast(shell.NameSpace(ssfNETHOOD), POINTER(Folder2)).Self.Path
#nethood = wshell.SpecialFolders('NetHood')
link = cast(wshell.CreateShortcut('%s.lnk' % os.path.join(nethood, 'TEST')),
POINTER(IWshShortcut))
link.TargetPath = 'ftp://localhost/'
link.Save()

5, 6行目でCOMオブジェクトを作るとcomtypes.genパッケージの下にそれらしい名前で
.pyと.pycが作られるので、これらを8, 9行目でインポートしています。

注意しないといけないのは、11, 13行目でやっているように、オブジェクトを
適宜明示的にダウンキャストしてやる必要があるということです。
このあたりの詳しい説明は、ここにありました。
aspn.activestate.com/ASPN/Mail/Message/ctypes-users/3174466
Pythonwinではこのようなキャストは必要ないので少々面倒な気がしますが、
選択肢が多くあるのは良いことです。


657 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 12:04:17 ]
>>643
そのモジュールって標準?


658 名前:161 mailto:sage [2008/12/21(日) 12:13:01 ]
お久しぶりです。
年末の直前あたりに、僕が作成した
フレームワークの完成形を披露したいと思います。
よろしくお願いします。

659 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 12:14:00 ]
>>657
web.py だろう

660 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 12:26:41 ]
webpy.org/tutorial2.ja

661 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 12:31:31 ]
d.hatena.ne.jp/gamella/20080331/1206971633
d.hatena.ne.jp/tokuhirom/20060225/1140867631

662 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 12:34:33 ]
mdp.cti.depaul.edu/

663 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 12:48:24 ]
Pythonistaも質が下がったな

664 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 12:59:42 ]
pc11.2ch.net/test/read.cgi/tech/1226830195/161



665 名前:デフォルトの名無しさん [2008/12/21(日) 17:03:55 ]
ネットにあるようなフリーソフトはCなどで書かれてると思いますが、pythonでもできますか?
pythonで自分の設計したプログラムを作成することは可能でしょうか?
(設計する技術があるかは・・・ですが)学習すれば、プログラムを作ったり
できるといいのですが。。。

666 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:26:32 ]
出来るっちゃ出来るけど
サンプル少ないからな

初心者のうちはC/C++, .NETのほうが苦労は少ないと思うよ

667 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:30:52 ]
>>665
はっ? .exe作るってこと? できるよ。

>>666
はっ? 初心者?

668 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:32:09 ]
>>665
できる。
ゆくゆくは配布したいと考えるなら、Cで作ったプログラムみたいにはいかないかもしれないけど、
そういうのは実際にプログラムを組んでから考慮すればよろし。

669 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:32:59 ]
>>665
出来る
でも生産的ではないし、動作も遅い

670 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:39:14 ]
むしろ生産的だと思うが
Cはバイナリ配布ならともかくソース晒すこと考えるとライブラリやらコンパイラやらプラットフォームやら依存性の解決がめんどくさすぎる
実行環境がそのままデバッグ環境になるのはかなり大きいと思うし

671 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:47:18 ]
Cはバイナリにしてしまえばランタイムも必要とせず動くのが良いな(例外あり)。
Pythonは第三者の作ったライブラリを用いたアプリを配布する場合、
一緒くたにするならライセンスに気を配らなくちゃいけないし、
「別途ライブラリをインスコしてくれ」と、自分の書いたプログラムだけを配布する形だと、
導入する敷居が高くなって万人に使ってもらえなくなる。

672 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:51:26 ]
>>670
質問から言って、念頭においてるのはLinux系のオープンソースではなくて
Windowsの「フリーソフト」なんだろうから
別にM4マクロを駆使してautoconfだのautomakeだのを記述したり
山ほど#ifdefを記述したりといったことを考えなくてもいいんじゃないの

WindowsのGUIアプリを簡単にデッチ上げられるかどうかのほうが重要

673 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:55:24 ]
全部まとめて exe にパックすればいいやん

674 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:59:47 ]
可能不可能からいったら出来る
楽かどうかの話だろ

WindowsのAPIはC/C++の形で提供されているので、Windowsの機能にアクセスするには
出来合いのラッパーライブラリ(巨大か、一部分しかサポートしていない)を
使うか、ctypesを使うか(C/C++のようにヘッダの#includeはできないので、
自分でシステムの型や定数を定義する必要がある)か、
自分でC/C++拡張を書くかという話になる



675 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 18:26:52 ]
Pythonistaも質が下がったな

676 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 18:36:48 ]
ActivePythonの3.0版来てるじゃん

677 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 19:16:37 ]
Active*って何なのか良くわからんので説明plz


678 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 19:24:47 ]
ActivePython → 抱き合わせ商法

679 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 19:41:43 ]
PyWin32が付いてくるのでWin32APIをラクに呼べたりCOMサーバをいじくったりできる。
昔はHTMLからPythonを呼べたけど、今はどうか知らない。

680 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 20:53:48 ]
I love Python.

681 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 20:59:08 ]
So do I.

682 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 21:40:51 ]
>>665
> ネットにあるようなフリーソフトはCなどで書かれてると思いますが

思うな。
そこから始めろ。

683 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 22:52:46 ]
ここまで続いてやり方言うヤシは誰もおらんのか
exe化はPy2Exeが有名
Python製作って内骨格とか普通にあるじゃん


684 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 22:56:35 ]
www.python.jp/doc/release/lib/module-urllib.html を見て書いた

import urllib
f = urllib.urlopen("www.google.co.jp/")
print(f.read())

これだけのコードが動きません

AttributeError: 'module' object has no attribute 'urlopen'

import の時点で失敗しているようです。なぜでしょうか? どのようにすれば解決できるでしょうか?



685 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 23:07:43 ]
>>684
urllib.pyってファイル名にしているから、
あるいはそういうファイルが他にあるから。

686 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 23:09:48 ]
まずは、
import urllib
print urllib.__file__

687 名前:687 mailto:sage [2008/12/21(日) 23:22:20 ]
>>685
心当たりはないです

>>686
以下のエラーになります:
File "test.py", line 2
 print urllib.__file__
SyntaxError: invalid syntax


688 名前:687 (=684) mailto:sage [2008/12/21(日) 23:23:58 ]
>>686
print(urllib.__file__)
としたら
C:\python30\lib\urllib\__init__.py
が出力されました

689 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 23:30:32 ]
>>688
# Python 3.0
import urllib.request
f = urllib.request.urlopen("www.google.co.jp/")
print(f.read())

690 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 00:34:09 ]
>>684のドキュメントは2.5用

691 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 01:48:50 ]
Are you happy?

692 名前:687 (=684) mailto:sage [2008/12/22(月) 08:11:05 ]
なるほど、バージョンによってライブラリの構造が変わっていたのですね。
>>689 で成功しました。ありがとうございます。

693 名前:687 (=684) mailto:sage [2008/12/22(月) 17:29:02 ]
レンタルサーバのPythonがVer2.5.1でした><
複数のVerのPythonを共存させることはできますか? (普通にインストールすればおk?

694 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 17:44:49 ]
>>693
自分のPCに入れたいという話か?
俺は複数のバージョンを入れているよ

ただし、ActivePythonをインスコするとレジストリエントリが作られ、
サードのライブラリをインストーラパッケージで入れたりするときに
それが参照される
つまり、レジストリに設定されているPythonが正と見なされることになる

全部自分でsetup.pyでビルド&インストールでするんなら何も問題ないけどな



695 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 18:19:07 ]
レンタルサーバのPythonがVer2.5.1でした><
レンタルサーバのPythonがVer2.5.1でした><
レンタルサーバのPythonがVer2.5.1でした><


696 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 18:20:19 ]
犬臭い






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<206KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef