私はhow to check if a python module has been importedを読んでいましたが、指示がはっきりしているようで、sys.modules
のモジュールを確認してください。これは私がPython 2で期待したように動作しますが、Python 3では動作しません(3.5と3.6がテスト済み)。例えば:Python 3で 'sys.modules'にインポートされていないモジュールはなぜですか?
パイソン3.6
>>> import sys
>>> 'itertools' in sys.modules
True
パイソン2.7
>>> import sys
>>> 'itertools' in sys.modules
False
Iは、itertools
は、Python 3 sys.modules dict
(<module 'itertools' (built-in)>
)の '組み込み' として記載されていることに注意されずPython 2ではおそらくそれがsys.modules
にインポートされているのですが、それはnot listed as a built-inです。とにかく、itertools
はまだPython 3でインポートする必要があるので、私は説明に感謝したいと思います。
*既にインポートしたモジュールがあれば、自分のモジュールをインポートする必要があります。それらのモジュールは読み込まれたものとして表示されます。多分Python 3にはPython 2には存在しなかった依存関係が導入されていました。モジュールがロードされていても、現在のスコープで使用できるようにするには 'import 'する必要があります。 –
私はあなた自身が質問に答えたと思う:itertoolsが組み込みになった場合、それは通訳の起動時に読み込まれる。 – ForceBru
はなぜ 'itertools'がインポートを必要とするのか、なぜそれがそこにあり、ドキュメントのようにリストされていないのでしょうか? –