Anonymous
Динамический импорт всех модулей из папки
Сообщение
Anonymous » 23 дек 2024, 21:41
Я знаю, что есть этот вопрос, но они не только не работают, это не совсем то, чего я хочу. Я разрабатываю гоночную игру и хочу динамически загружать все треки из папки (они хранятся как .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 следующим образом:
Если бы я знал, что Python будет настолько суров с импортом, я бы использовал json вместо .py.
Подробнее здесь:
https://stackoverflow.com/questions/469 ... m-a-folder
1734979270
Anonymous
Я знаю, что есть этот вопрос, но они не только не работают, это не совсем то, чего я хочу. Я разрабатываю гоночную игру и хочу динамически загружать все треки из папки (они хранятся как .py вместо .json). Я не хочу знать названия треков, поскольку пользователи могут модифицировать/добавлять их по своему желанию. Я просто хочу импортировать их данные. Так, например: [code]>tracks >>track0.py >>track1.py >>track2.py >>track3.py >>track4.py [/code] Внутри каждой дорожки у меня есть такие данные: [code]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] ] [/code] Мне нужно импортировать каждый модуль трека следующим образом: [code]loaded_tracks = [t for t in tracks] # Where tracks is the folder. [/code] А затем получите доступ к данным track_ground_data следующим образом: [code]loaded_tracks[0].track_ground_data [/code] Если бы я знал, что Python будет настолько суров с импортом, я бы использовал json вместо .py. Подробнее здесь: [url]https://stackoverflow.com/questions/46980637/importing-dynamically-all-modules-from-a-folder[/url]