1

2 つのファイルがSysDump.pyありlibApi.py、同じフォルダーにあります。SysDump私は:

from libApi._SysDump import *

libApi私は持っています:

def _SysDump():
    import cPickle as _cPickle
    import math as _math
    from zipfile import ZipFile as _ZipFile
    import re as _re

ただし、次のエラーが表示されます。

from libApi._SysDump import *
ImportError: No module named _SysDump

私はコードをステップスルーするために使用しVS2012+PTVS、ステップスルーすると実行トレースが入りますが、入りません。質問は、これを Python 2.6 でのみ機能させるにはどうすればよいですか?def _SysDump()libApi

4

1 に答える 1

2
from libApi._SysDump import *

これを書くとき、Python はパッケージlibApiとその中の という名前のモジュールを探します_SysDump。パッケージはフォルダーに相当し、モジュールは単一のファイルです。あなたの説明から、これはあなたの場合の状況ではありません。libApifunction を持つモジュールがあります_SysDump。したがって、どちらかといえば、これを行うことができます:

from libApi import _SysDump

したがって、_SysDump関数への参照を取得します。その関数を実行しても、インポートしようとしているすべてのモジュールへの参照が得られるわけではないことに注意してください。関数内で、モジュールがインポートされ、ローカル変数に割り当てられます。関数が終了すると、それらの参照はなくなります。

一部のモジュールにすべてのインポートを処理させたい場合は、それらのインポートを実行するファイルを作成し、そのモジュールからすべてをインポートできます。

# imports.py
import cPickle as _cPickle
import math as _math
from zipfile import ZipFile as _ZipFile
import re as _re

その後:

from imports import *
于 2013-01-05T17:41:52.963 に答える