2017-05-13 34 views
1

私は別のスクリプトで作業するPythonのプロジェクトに取り組んでいます。ここでの問題は、私がインポートしたいくつかのスクリプトにモジュールをどのようにインポートできるかわかりません。例えば:私は再び、script1.py上とPythonに新しいイムモジュールをPythonにインポートされた他のスクリプトにインポートするにはどうしたらいいですか?

script2.pyにOSをインポートする必要がないように、私は、他のすべてのスクリプトにosモジュールをインポートすることができますどのように

#main.py 
import os 
import script1 
import script2 

ありがとう

答えて

1

これは本当に良い考えではありません。どのモジュール(ファイル)がどのインポートを必要としているかを把握することが非常に難しくなります。あなたがしなければならない場合しかし、そうのようなものにあなたのファイルでimport文の数を削減することが可能である:

は、ファイルを作成します(たとえば、例えば、imports.py)、そこにすべての輸入を置く:

from imports import *

を..andそのファイルからそれらを使用することができます:

import os 
import script1 
import script2 
# etc 

その後、各ファイルのため、代わりにすべての輸入をコピーするのでは、これを書くだけです。

これは、実際に各ファイルの先頭にインポートを書き込む必要性を排除する以上のものではありません。 Pythonでは、コードの実行中に、コードに文を何回含めるかにかかわらず、各モジュールを一度だけインポートすることを既に確認しています。

import文は、2つの操作を組み合わせ;:インポート処理に関するdocumentationによると

、名前付きモジュールを検索し、その検索結果をローカルスコープ内の名前にバインドします。 [...] インポート検索時に最初にチェックされる場所はsys.modulesです。このマッピングは、中間パスを含め、以前にインポートされたすべてのモジュールのキャッシュとして機能します。 [...]インポート中、モジュール名はsys.modulesで検索され、存在する場合、関連する値はインポートを満たすモジュールであり、プロセスは完了します。

さらに明確にするために、ユーザーdim-anは、実際にはthis答えに入れてください。

関連する問題