Гораздо приятнее иметь возможность просто сохранить функцию, поскольку они являются первоклассными объектами в python.
import mypackage
myfunc = mypackage.mymodule.myfunction
myfunc(parameter1, parameter2)
Но, если вы должны импортировать пакет динамически, то вы можете добиться этого с помощью:
mypackage = __import__('mypackage')
mymodule = getattr(mypackage, 'mymodule')
myfunction = getattr(mymodule, 'myfunction')
myfunction(parameter1, parameter2)
Имейте в виду, однако, что все эти работы относится к тому, что сфера вы в настоящее время Если вы не будете их упорствовать, вы не можете рассчитывать на то, что они останутся, если вы покинете местность.
Почему бы не сохранить функцию самостоятельно? 'myvar = mypackage.mymodule.myfunction' намного чище. – ironfroggy
Из комментария ниже: «Это должна быть строка, потому что в том месте, где она определена, приложение не знает нужную функцию, так как это общее приложение». - schneck – badp