Динамический импорт всех модулей из папкиPython

Программы на Python
Ответить
Anonymous
 Динамический импорт всех модулей из папки

Сообщение Anonymous »

Я знаю, что есть этот вопрос, но они не только не работают, это не совсем то, чего я хочу. Я разрабатываю гоночную игру и хочу динамически загружать все треки из папки (они хранятся как .py вместо .json). Я не хочу знать названия треков, поскольку пользователи могут модифицировать/добавлять их по своему желанию. Я просто хочу импортировать их данные. Так, например:

Код: Выделить всё

>tracks
>>track0.py
>>track1.py
>>track2.py
>>track3.py
>>track4.py
Внутри каждой дорожки у меня есть такие данные:

Код: Выделить всё

track_ground_data = [
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1],
[1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1],
[1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1],
[1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1],
[1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1],
[1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1],
[1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1],
[1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1],
[1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1],
[1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1],
[1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1],
[1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
]
Мне нужно импортировать каждый модуль трека следующим образом:

Код: Выделить всё

loaded_tracks = [t for t in tracks] # Where tracks is the folder.
А затем получите доступ к данным track_ground_data следующим образом:

Код: Выделить всё

loaded_tracks[0].track_ground_data
Если бы я знал, что Python будет настолько суров с импортом, я бы использовал json вместо .py.

Подробнее здесь: https://stackoverflow.com/questions/469 ... m-a-folder
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»