source()指定されたファイル内の「シンボル」(関数、変数は)test.pyファイルの名前空間/範囲にロードさせます。これは、source()がこの問題の間違ったツールであることを意味します。
(最初のsource()の後の別のシンボル/名前に関数を割り当てるために、最初の名前の下で利用可能な目的の関数に依存する他のコードは、間違った関数になる可能性があります。
Pythonのimport文を使用すると、ファイルをPythonモジュールとして扱うことによって、関数が別々の名前空間にあることになります。これを行うには、Python独自の "検索パス"に目的のファイルを含むディレクトリパスを含める必要があります。sys.path:
suite_mine/tst_testcase1/testの内容。PY:suite_mine/tst_testcase1/file1.pyの
# -*- coding: utf-8 -*-
import os.path
import sys
# Add path to our modules to the Python search path at runtime:
sys.path.append(os.path.dirname(findFile("scripts", "file1.py")))
sys.path.append(os.path.dirname(findFile("scripts", "file2.py")))
# Now import our modules:
import file1
import file2
def main():
# Access functions in our modules:
file1.do_it()
file2.do_it()
内容量:suite_mine/tst_testcase1/file2.pyの
# -*- coding: utf-8 -*-
import test
def do_it():
test.log("file1.py")
内容:結果の
# -*- coding: utf-8 -*-
import test
def do_it():
test.log("file2.py")
ログエントリ:
file1.py
file2.py
わかりやすく、字下げが正しく行われていますが、以前より80%以上改善されています。 – Torxed
うん。まあまあです。私はエディタで同じことをしましたが、反射は異なって見えます: - | –