Я создаю файлы Python в ходе работы программы Python. Затем я хочу импортировать эти файлы и запускать функции, которые были определены в них. Файлы, которые я создаю, не хранятся в моих переменных пути, и я бы предпочел сохранить их в таком виде.
Первоначально я вызывал функцию execFile(<script_path>)
, а затем вызывал функцию, определенную выполнением файла. Это побочный эффект - всегда входить в условие if __name__ == "__main__"
, чего при моей текущей настройке не может быть.
Я не могу изменить сгенерированные файлы, потому что я уже создал 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")