1

次のインポートステートメントを使用したコードを読んでいます。

import __ompc__

インポートされているものだけを見つけるためにgrepを試みたとき、私が見つけたのは次のとおりでした:

me@Bedrock1:~/Projects/PythonProjects/ompc$ grep -r "__ompc__" ./*
./build/lib.linux-x86_64-2.7/ompclib/m_compile.py:import __ompc__
./build/lib.linux-x86_64-2.7/ompclib/m_compile.py:        codeobject =    __ompc__.compile(codestring, dfile or file,'exec')
./build/bdist.linux-x86_64/egg/ompclib/m_compile.py:import __ompc__
./build/bdist.linux-x86_64/egg/ompclib/m_compile.py:        codeobject =    __ompc__.compile(codestring, dfile or file,'exec')
Binary file ./build/bdist.linux-x86_64/egg/ompclib/m_compile.pyc matches
./ompclib/m_compile.py:import __ompc__
./ompclib/m_compile.py:        codeobject = __ompc__.compile(codestring, dfile or file,'exec')

__ompc__' ' という名前のメソッドを見つけるために使用されたのでcompile、それに対して再帰的な grep を実行しました。私が見つけたのは、ディレクトリ内の__init__.pyファイルに./ompc/ompcコンパイルメソッドがあったことです。

これは何ですか

import __ompc__

にアクセスできますか? それとも、私が理解できない何かがまだここで起こっていますか?

4

1 に答える 1

0

私は実際にompclib/m_compile.py 仕事をすることはできません。ほとんどompc/m_compile.py同じファイルですが、実際にはコードベースで使用されます。ompc

私の結論は、そのファイルとおそらくompclib ディレクトリ全体が初期の開発段階からの残り物であり、作成者が単にそれをクリーンアップするのを忘れているということです。

それ以外の場合、import __ompc__インポートは破損したインポートにすぎません。ompcパッケージのインポートに魔法のように変換されるわけではありません。ompc/m_compile.py動作し、代わりに使用しimport ompcます。

于 2013-07-22T00:06:34.540 に答える