興味深いことに、os.pathをインポートすると、すべてのosがインポートされます。インタラクティブプロンプトで次のことを試してください。
import os.path
dir(os)
結果は、OSをインポートした場合と同じになります。これは、os.pathが使用しているオペレーティングシステムに基づいて異なるモジュールを参照するためです。そのため、Pythonはosをインポートして、パスにロードするモジュールを決定します。
参照
一部のモジュールでは、import foo
公開されないと言ってfoo.bar
いるので、実際には特定のモジュールの設計に依存していると思います。
一般に、必要な明示的なモジュールをインポートするだけで、わずかに高速になります。私のマシンでは:
import os.path
: 7.54285810068e-06
秒
import os
: 9.21904878972e-06
秒
これらの時間はかなり無視できるほど近いです。プログラムは、現在または後で他のモジュールを使用する必要がある場合があるため、通常は2マイクロ秒を犠牲にして、後でこのエラーを回避するためos
に使用するのが理にかなっています。私は通常、OS全体をインポートするだけの側にいますが、技術的に効率的で、使用する必要があるモジュールの唯一の部分であるコードの読者に伝えるimport os
ことを好む人がいる理由がわかります。それは本質的に私の心の中のスタイルの質問に要約されます。import os.path
os