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


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

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



1 名前:デフォルトの名無しさん [2008/04/11(金) 10:55:10 ]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
Python 使いが優しくコメントを返しますが、
お礼は Python の布教と初心者の救済をお願いします。

620 名前:619(レス番間違えた…orz) mailto:sage [2008/06/20(金) 00:01:27 ]
>>614
2. Scintilla(Sciteのエンジン)をwrapしたwxpython製のPyAlamode
を拡張する(インテリセンス補完)
www.ibm.com/developerworks/jp/linux/library/l-pyint/ (作者ページ)

3. 男だったら補完も折り畳みも要りません(TT)
ベースはGAEで、SymPy-live や PyAMF を追いかける茨の道…
live.sympy.org/
pyamf.appspot.com/shell/

4. Firefox + crunchy も楽しそげ
code.google.com/p/crunchy/

5. pylons + 黒魔術
codepad.org/

621 名前:デフォルトの名無しさん [2008/06/20(金) 07:26:04 ]
>>620 THX いろいろあるもんだなぁ。

622 名前:デフォルトの名無しさん [2008/06/20(金) 07:35:54 ]
順番に見てたら結構ウェブのインターフェイスのものが多いなぁ。
ローカルのファイルシステム上で使うCUIツール群の
フロントエンドとして使えるものなのかなぁ。

623 名前:デフォルトの名無しさん [2008/06/20(金) 07:41:14 ]
1) 2) の SciTe がらみのやり方がローカル用途には何となくよさそう
な気もするけど,3) 4) 5) も気になるところ.

624 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 07:42:08 ]
って,GAEベースって書いてあるじゃん・・・不勉強すぐる俺

625 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 07:49:55 ]
しかしさぁ,ローカルのファイルシステム上で動くアプリケーションの
フロントエンド部分だけブラウザの描画エンジンを使えれば
便利だと思うのに,なかなかうまくいかないもんだね…

626 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 08:32:29 ]
os.systemでコマンドプロンプトに出力される内容ををpythonで表示する方法は無いですか?
ご返答をよろしくお願い致します。

627 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:34:38 ]
popen3かな


628 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:58:31 ]
subprocess.Popen



629 名前:614 mailto:sage [2008/06/20(金) 10:12:24 ]
いろいろ教えてもらったのに結局こんな感じのものに落ち着きそうな予感。
inforno.net/articles/2006/10/01/python-console-on-tk

630 名前:614 mailto:sage [2008/06/20(金) 15:05:22 ]
あの、Tkinter で親のウィジェットが破壊されたとき
子のウィジェットにはイベントで通知されるんでしょうか?
そのイベントは bind でどうやって捕捉すればいいんでしょうか?

631 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 16:26:39 ]
>>630
親は WM_DELETE_WINDOW を捕捉すればいいね。
子は destroy() を継承するしかない希ガス。
ただし※印の親の destroy() を明示的に呼ばないと子の destroy() も呼ばれないみたい。

import Tkinter as Tk
def callback():
    print "root window deleted"
    root.quit()
class MyLabel(Tk.Label):
    def destroy(self):
        Tk.Label.destroy(self)
        print "label destroyed"
root = Tk.Tk()
label = MyLabel(root, text="Test")
label.pack()
root.protocol("WM_DELETE_WINDOW", callback)
root.mainloop()
root.destroy() # ※

それにしても、子ウィジェットの破壊なんてどうでもいい気がするんだけど何ゆえ通知してほしいの?
アプリ自体の後始末は終了前にやればいいし・・・。

632 名前:614 mailto:sage [2008/06/20(金) 16:37:19 ]
Tkinter.Entry への入力を別スレッドでの処理に
使ってるんだけど、ウィジェットがなくなっちゃうと
ず〜っと待ちっぱなしでどうしようもなくなるなぁ、って

633 名前:デフォルトの名無しさん [2008/06/20(金) 18:00:26 ]
mod_pythonについて教えてください。自分なりに調べた結果
例えが悪いかもしれませんがC言語で言うと、
本体exe=mod_python
ダイナミックリンクライブラリdll=pythonスクリプト
という感じなのかなと思いました。
そこで、mod_python上で動かすpythonスクリプトにはエントリポイント的なモノ(関数)
を記述し、その中に処理させたい内容を記述すれば良いのでしょうか?

634 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:33:41 ]
>>632
ああ、>>629のコードのことね。
それは子ウィジェットの破壊とは別の問題だと思うよ。
Entry を殺してもスレッドは死なないからね。

スレッドは別スレッドから殺すのではなく自ら終了するよう仕向けるのが基本です。
629のコードでいうと、例えば何も入力せずにエンターを押したら終了ということにして、
1. GUIConsole::readline() で result が空文字列だったら self.quit() してから return result する。
2. 別スレッド側で EOFError が起こるのでそれを捕まえてループを抜ける。
3. guiconsole.start() の終わりで別スレッドを join する(別スレッド終了を待つ)。
というようなことをするのが筋。
親スレッドが終了したとき子スレッドがどうなるかは環境依存だから、
面倒だけどキチンとやるのが無難です。

629のコードでは低レベルな thread モジュールを使ってるから join が無いね。
代わりに threading モジュールを使うように直すといいと思う。

635 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 08:09:58 ]
>>633 っ ttp://www.python.jp/doc/contrib/modpython/index.html

636 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 09:27:08 ]
>>633 はもしかして mod_python の mod_ を python のモジュールと
勘違いしているのではないか? mod_python が apache のモジュール
のことだと認識した上での質問なんだろうか。

637 名前:デフォルトの名無しさん [2008/06/21(土) 14:24:16 ]
>>636
そのことは、わかっていると思います。いや、分かってないのか…
apacheのモジュールとしてmod_pythonを読み込むことで、
apache上にpythonインタプリタが常駐するようになる。
ということではないのですか?

638 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 14:59:38 ]
>>626です。ご無沙汰しておりました。
>>627さん,>>628さんありがとうございます。
popenを用いても出来るということがわかったのですが、まだ結果の出力方法が
分かりません。恐縮ですが、もう一度助けてください。

たとえばos.popen("help help")もしくはsubprocess.Popen("help help")と入力した場合に、
以下のようなコマンドプロンプトの"help"についてのヘルプがpython上で出力されれば
望ましいと考えています。
---
Windows コマンドのヘルプ情報を提供します。

HELP [comand]

comamand - このコマンドのヘルプ情報を表示します
---
前回教えていただいた、方法で試してみたのですが表示させることができません。
何が足りないのか教えて頂ければ助かります。



639 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 15:38:47 ]
>>637
いやすまん、失礼した、そのとおりです。

640 名前:デフォルトの名無しさん [2008/06/21(土) 16:27:15 ]
>>639
いや、俺もあまりドキュメントちゃんと読んでなかった。あとで読み直したら
何となくだけど使い方は分かってきた。努力不足でした。すみません



641 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 17:02:59 ]
>>> import os
>>> print os.popen("help help").read()
Windows XP コマンドのヘルプ情報を提供します。

HELP [command]

    command - このコマンドのヘルプ情報を表示します。

>>> 

642 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 17:34:02 ]
何かをPythonで計算してる時に現在どのくらいメモリを使ってるか、
正確な値をバイト単位で知りたいんですが知る方法はないですか?

643 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 18:36:45 ]
環境依存だと思います。

644 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 01:01:33 ]
タスク一覧見れば分かる環境が多い

645 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 01:03:32 ]
明らかにメモリ喰うだろうと思って書いたプログラムが大してメモリ使ってなくて
単純なループだけで大丈夫だと思ってた方が数百MB使っててどんどん増えてて藁

646 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 17:57:34 ]
>>645
それで、結論は?

647 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 23:40:16 ]
はじめてみたんですが、日本語の情報が少なくて・・・
IDLEを使って色々試しているんですが、対話モードの時って日本語が出力できないのはどうにかできるんでしょうか?

648 名前:デフォルトの名無しさん [2008/06/23(月) 00:07:58 ]
できますよ



649 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 00:08:37 ]
>>647
ここ行って見たら?
ttp://python.rdy.jp/


650 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:01:18 ]
>>649
最初から墓場にご案内ですか?(wwwwwwwwwww

651 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 02:45:17 ]
C:\cgi-bin>python -m CGIHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

localhost:8000/env.py にアクセスしても
ソースコードが表示されるだけで実行できません。

#! c:\\Python25\\python.exe
import os

print 'Content-type: text/plain\n\n'
for key in os.environ:
print '%s: %s' % (key, os.environ[key])

どうして動かないのでしょうか?

652 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 02:51:21 ]
C:\>python -m CGIHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

***-PC - - [23/Jun/2008 02:46:34] "GET / HTTP/1.1" 200 -
***-PC - - [23/Jun/2008 02:46:41] code 403, message CGI script is not a plain file ('/cgi-bin/')
***-PC - - [23/Jun/2008 02:46:41] "GET /cgi-bin/ HTTP/1.1" 403 -

2. cd c:\ して python -m CGIHTTPServer する
3. ブラウザで localhost:8000/cgi-bin/env.py にアクセス
  環境変数がずらっと表示されたら成功

コマンドプロンプトの起動パスを変更して立ち上げてみたところ
403 not found...とかなって何も表示されませんでした… orz

653 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 03:38:17 ]
>>652
ログを見る限り、
localhost:8000/cgi-bin/
にアクセスしたことになってるが?

654 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 08:27:50 ]
おぉ、こんな機能があるのか。恐ろしく便利だな。

でもこれ、CGIが実行されたときのカレントディレクトリが、
pythonを起動したときのディレクトリのままだね。
カレントディレクトリを変更してから呼んで欲しいな。

655 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 11:34:10 ]
>>653
localhost:8000/cgi-bin/env.py を直接叩いたら
うまくいきました ><

>>651でディレクトリ一覧が表示されていたのでそのノリで
そこから辿ってゆけるかなとか思ったのが敗因でした...orz

2. cd c:\ して python -m CGIHTTPServer
3. localhost:8000/cgi-bin/env.py に直接アクセスする
 
*拡張子は.pyでないと駄目。
*localhost:8000/cgi-bin/ にアクセスしても plain file ではないと言われ、403 error。

656 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 20:25:01 ]
> *拡張子は.pyでないと駄目。
> *localhost:8000/cgi-bin/ にアクセスしても plain file ではないと言われ、403 error。

微笑ましいなw

657 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 04:35:18 ]
>>650
墓場についてkwsk

658 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 09:46:10 ]
650じゃないけど、あまり更新がないとか、あやしいリンク貼りまくられて荒らされるとかかな?



659 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 10:05:12 ]
650じゃないけど、情報がいい加減とか、
以前サンプルコードにグローバル関数と同名の変数名が使ってあって
Python知らねえくせにまとめWikiかよお目出てえなとか、
リンク晒してるのはどう見ても関係者だろこれとか、
そんな暇があったら更新しろよハゲとかじゃないかな?

660 名前:デフォルトの名無しさん [2008/06/24(火) 11:30:46 ]
ぱいがめ翻訳サイトまだ?
だから廃れるんだよ
広めたいって人はいないのか

661 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 12:04:17 ]
>>659
wikiなんだから間違いに気付いたら、みんなで編集していけば良いだけじゃないの?

662 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 13:37:42 ]
墓場に大切なものを隠せば見つかりにくいというわけですね、分かります。

663 名前:デフォルトの名無しさん [2008/06/24(火) 15:33:22 ]
Python ではファイル=モジュールという単位になっていますが,
1ファイル=1クラスというコーディングスタイルは推奨
されていないのでしょうか?

a.py で class A を定義 → クラス a.A が定義される
b.py で class B を定義 → クラス b.B が定義される

名前空間まで別になってしまいます.
C++ でプログラムを組んでいてずっと1ファイル=1クラス
のスタイルでやってきたのですが・・・・

同じ名前空間に入れるすべてのクラスは同じファイルに
入れなくてはならないのでしょうか?

664 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 15:47:17 ]
>>661
中立的な言葉で書かれていない文章をお前は編集する気になるか?

665 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 15:55:59 ]
>>663
a.pyで from b import * とでもしておけばいい。
極端な例がmatplotlibのpylab.pyで、このファイルにはimportしか書いてない。

まぁ、細かいファイルは1つのファイルにまとめた方がいいと思うよ。
例外クラスまで1ファイル1クラスにしてるの?

666 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 15:58:54 ]
>>663
1ファイル=1クラスは特に推奨はされていない。
Pythonコードはどのみちクラスからだけ成り立っているわけではないしな。

いくつかのモジュールをひとまとめにしたいときは、Pythonではパッケージを
使う。
パッケージの初期化ファイル__init__.pyでモジュールからエクスポートしたい
シンボルをimportしてやれば、あんたのやりたいことは実現できるはずだ。

667 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 16:30:44 ]
若いのに中立ですか。

668 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:03:35 ]
>>664
編集して普通の文章にするんだ
どうせ管理人すら放置してるんだから構わんだろ
どんどんやっちまえYO!!



669 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:32:26 ]
翻訳は人任せとしても、wikiは自分の好きに書き換えればいいだろ

670 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:37:40 ]
ゴミはゴミ箱に。
宝石は宝石箱に。

671 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 18:16:01 ]
なんで翻訳の話がでてくるの?

672 名前:デフォルトの名無しさん [2008/06/24(火) 19:53:21 ]
__init__.py に import を書くというのは
なにかまずいことを引き起こすでしょうか?

673 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 20:01:24 ]
>>672
全然。

674 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 20:13:10 ]
>>672
ごく普通

675 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:33:48 ]
>>672
アフガニスタンではよくあること

676 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:44:08 ]
>>672
いっしょに__all__も定義すれば綺麗なPythonパッケージ

677 名前:デフォルトの名無しさん [2008/06/25(水) 07:55:11 ]
>>665
すっきりうんこでました
ありがとうございました


678 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 19:00:35 ]
[1,2]の要素のそれぞれを2倍して[2,4]にする
っていうのはどうやればいいんでしょうか?



679 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 19:04:07 ]
>>678
[i * 2 for i in [1, 2]]
もしくは
map(lambda x: x * 2, [1, 2])

680 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 19:06:20 ]
ありがとうございます。
リスト内包表記ってそうやって使うんですね。

681 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 19:36:07 ]
>>679
それは
> [1,2]の要素のそれぞれを2倍して[2,4]にする
ではなく、新しいリストを生成しているのでは。

x = [1,2]
for i in range(0,len(x)):
 x[i] *= 2


682 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 08:48:37 ]
>>681
> ではなく、新しいリストを生成しているのでは。
だったら
x = [1, 2]
x = [i * 2 for i in x]
ってやれば同じ

683 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 09:23:29 ]
>>681はインプレースで配列を変更していて
>>682は配列を新しく生成してその配列を参照しているように見える

これが勘違いでなければ
両者は返す結果こそ同じだが動作は別物じゃないか

684 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 10:04:37 ]
>>683
それで合ってる。
inplaceにしたければ、スライス代入を使えばいい。

x[:] = (i * 2 for i in x)

685 名前:683 mailto:sage [2008/06/29(日) 10:55:58 ]
>>684
なるほど。ジェネレータ式も勉強になったよ

686 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 11:41:39 ]
from timeit import Timer

print Timer('x=[1,2]; x=[i*2 for i in x]').timeit()
# py3k: 2.0419500243746063
# py25: 1.5092940583230501

print Timer('x=[1,2]; x[:]=(i*2 for i in x)').timeit()
# py3k: 5.2120230364473699
# py25: 7.4014716954249735

スライス代入のほうがコストが高いんだろうか…
ベンチの取り方が間違ってるだけなのかもしれんけど (汗

687 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 11:44:13 ]
>>684
それだ

ありがとう


688 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 11:46:37 ]
>>686
最終的に代入になってても途中で余分にリスト作ってない?




689 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 12:03:13 ]
>>686
普通の代入 x = よりはスライス代入のほうが遅いけど
それ以上にジェネレータの実行速度が遅いんだと思うよ
ジェネレータで節約できるのはメモリが主だろうし

690 名前:デフォルトの名無しさん [2008/06/29(日) 13:05:03 ]
Python って末尾再帰の最適化はサポートされていないのでしょうか?

691 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 13:17:51 ]
されてますん。

692 名前:デフォルトの名無しさん [2008/06/29(日) 13:42:00 ]
>>691 どっちなんだ〜

-------------
def rec(x = 0):
  if (x<1000000000):
    rec(x+1)
rec()
------------
RuntimeError: maximum recursion depth exceeded

693 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 13:52:29 ]
うん、されてないと思う。

def fib(n):
    def fib_iter(a, b, m):
        return a if (m == n) else fib_iter(b, a + b, m + 1)
    return fib_iter(0, 1, 0)

おれの環境ではfib(1000)ぐらいでコケる。
ので、Pythonではiterative processは
素直にループやiteratorで書けということだと思った。

694 名前:デフォルトの名無しさん [2008/06/29(日) 13:53:36 ]
単にトレースが取れるようにするために何か制限しているだけなのかなぁ。
わからん、わからん、わからんちん。
しかし単純にループにするだけならトレースとかそもそもいらないのに。

sys.setrecursionlimit() を勝手にいじるのもどうかと思うし・・・

695 名前:デフォルトの名無しさん [2008/06/29(日) 13:56:07 ]
ううむ、つまり、「されてない」が結論だということっすね。

C++ + Boost Graph Library で大規模なグラフ処理してたんだけど、
Python + networkx でやってみようと思ってハマってます。

末尾再帰最適化を前提としたコードかいてたから、
移植のときにアタマをきりかえるのがなんとも・・・

696 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 13:57:05 ]
Stackless Pythonというのを調べてみると良いかも。
ただ、Cのハードウェアスタックを使わないというだけなので、
末尾再帰をgotoに最適化してくれるかどうかは知らない。

697 名前:デフォルトの名無しさん [2008/06/29(日) 13:57:49 ]
mail.python.org/pipermail/python-list/2003-January/180220.html

698 名前:デフォルトの名無しさん [2008/06/29(日) 13:58:28 ]
>>697
さすがに2003年だからな
今でもだめなのか orz



699 名前:デフォルトの名無しさん [2008/06/29(日) 14:05:28 ]
sys.setrecursionlimit(10000)
でやってみたけど、7000ちょっとの再帰で今度は正真正銘の
MemoryError: stack overflow
が出た

Python赤玉。俺涙目。

700 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 15:21:59 ]
Stackless Pythonなら、setrecursionlimit()で限界増やして、メモリの限り再帰しても大丈夫だよ。

701 名前:デフォルトの名無しさん [2008/06/29(日) 16:23:18 ]
メモリの限り再帰って・・・本質的な解決じゃない気がする。
そのうち末尾再帰の最適化が入ることを祈って、
とりあえずループに書き直した。

702 名前:デフォルトの名無しさん [2008/06/29(日) 18:42:53 ]
Pythonでは定数をどのように宣言(?)すればいいのでしょうか?
たとえば C++ において,クラス全体で使われる定数は
static const で宣言しますが,それと同じようなことは
でこれーたで可能なのでしょうか?

703 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 18:55:24 ]
>>702
デコレータつかうと誤って更新すると例外が出るようのは作れるけど
クラスやパッケージ外からはアクセサつかって変数を更新するという
ルールにしとけば事故はおこんない。
そもそもPythonの変数は入れ物じゃなくて名前付けというか参照だから
そういう文化(というと大げさだけど)だと思うしかない。

まーCみたいに独自プリプロセッサとおすのはありかもね。

704 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 19:58:33 ]
ここでもstackの話してるのかw

705 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:23:49 ]
ゆとりちゃんは幼稚園からやりなおしてくだちゃいね

706 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:09:54 ]
やりなおしても、またゆとり教育で永久ループか?

707 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:37:55 ]
ゆとりはPython使うな。 以上。

708 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 00:25:22 ]
Python3.0について質問です。
名前空間ってやつで悩んでます。

urllibモジュールについて、

import urllib.parse.urlparseとやるとimportに失敗します。
from urllib.parse import urlparseとやるとモジュールのimportに成功します。

なぜでしょうか??

なぜ下の方は成功し、上のほうは失敗するのでしょうか。



709 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 00:35:21 ]
urlparseがモジュールじゃなくて関数だから (lib/urllib/parse.py)

710 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 00:43:14 ]
>>708
ttp://www.python.jp/doc/release/ref/import.html
単純なimport文やfromに指定できるのは「モジュール名」に限る。
パッケージがサブディレクトリを持っていて階層構造になっている場合は
モジュール名にドットが含まれることもある。

711 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 00:56:00 ]
>>709,>>710
ありがとうございます。
疑問点について氷解しました。

712 名前:デフォルトの名無しさん [2008/07/02(水) 09:12:25 ]
PEPってPython Enhancement Proposals
のことだって始めて知った今日。

713 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 13:39:10 ]
PHPってPrintHtmlPrototyping

714 名前:デフォルトの名無しさん [2008/07/03(木) 08:36:51 ]
Pythonで簡単なウェブサーバを作成するパッケージってありますか?
ローカルで実験してて計測結果を表示するウェブインターフェース付けたいんだけど

715 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 08:54:55 ]
>>714
>>651
>>> python -m CGIHTTPServer
50レス程度も読めないの?馬鹿なの?死ぬの?

716 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 09:11:23 ]
そういう人間のたまり場だということになぜ気付かないの?

717 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 12:58:39 ]
ログを読まないより、ググらないのとリファレンスを引かない方が…

718 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 19:41:22 ]
プログラム初心者がpythonでcgiやりたいとかならともかく、
実験してるような人なら、必要な情報を調べる技術は備えてるはずだと思うんだけどなあ



719 名前:714 [2008/07/04(金) 07:00:11 ]
思いついた時にケータイで取り合えず聞いておくから.
後で調べる.

とにかく古い測定器で,GP-IBインターフェイスカードが
そのマシンにしかついてなくって,面倒だなぁ,と.

720 名前:714 [2008/07/04(金) 07:02:01 ]
レスしてくれる人があったらラッキーだし,
なくてもまぁ,なんというか,メモ代わり.
自鯖のp2経由だから自分がどこに何書き込んだかログ残るし.






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

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

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