私はPythonプログラムを実行する過程で、Pythonファイルを作成しています。私はこれらのファイルをインポートし、それらのファイル内で定義された関数を実行したいと思います。私が作成しているファイルは自分のパス変数には格納されていないので、そのまま使用したいと思います。動的に作成されたPythonファイルのインポート
元私はexecFile(<script_path>)
関数を呼び出していて、そのファイルを実行して定義された関数を呼び出していました。これは、常に私が現在の設定で私は起こることはできませんの条件を入力する副作用があります。
私はすでに100個のファイルを作成しており、それらをすべて修正する必要がないので、生成されたファイルを変更することはできません。私は、生成されたファイルを呼び出すファイルのみを変更できます。私は男に正しくご発言を理解していれば基本的に私が今持っているもの
...
#<c:\File.py>
def func(word):
print word
if __name__ == "__main__":
print "must only be called from command line"
#results in an error when called from CallingFunction.py
input = sys.argv[1]
#<CallingFunction.py>
#results in Main Condition being called
execFile("c:\\File.py")
func("hello world")
関連しないヒント:コード内のファイル名にバックスラッシュを使用しないでください。 "c:/file.py"と書く。それはWindowsで動作し、パスを解析するすべてのものに対してより一貫しています。 –