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