Например я пишу игру и хочу чтобы расы в этой игре были отдельными модулями. Я создал разные папки и импортирую модули так:
мои_расы = []
import races.human.race # люди
мои_расы.append(race)
import races.goblin.race # гоблины
мои_расы.append(race)
# и т.д.
print(мои_расы)
но как быть если игра заранее не знает какие расы игрок понадобовлял в игру?
В идеале для пользователя установка расы должна сводится к тупому копированию готовой папки %название_расы% в папку races. А игра должна бы "увидеть" все папки и последовательно их импортировать, но названия папок я могу получить только в виде строк, а комманда import не принимает строки.
Какие идеи? может вообще отказаться от идеи хранить расы в виде py фаилов? но мне очень хочется чтобы у рас можно было использовать уникальные скрипты. Например запрограммировать AI, можно только скриптами и если они будут не в виде py фаилов это убьёт вообще весь интерес писать игру...
Проблема в том что я не могу написать даже так:
мои_расы = []
for racename in ["human", "goblin"]:
import races.racename.race # пытается найти папку "racename" вместо подставленной "human"
мои_расы.append(race)
P.S. игра будет пошаговой так что на производительность можно плевать.