나는 this question을 알고 있지만 작동하지 않을뿐만 아니라 내가 원하는 것만은 아닙니다. 레이싱 게임을 개발 중이며 폴더의 모든 트랙을 동적으로로드하려고합니다 (.json 대신 .py로 저장 됨). 트랙의 이름을 알고 싶지는 않습니다. 사용자가 자유롭게 모드를 변경하거나 추가 할 수 있기 때문입니다. 데이터 만 가져 오려고합니다. 따라서, 예를 들어 :폴더에서 모든 모듈을 동적으로 가져 오기
>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을 사용했을 것입니다.
예. 나는이 코드를'__init __. py' 파일에 넣었고, 트랙 ('import tracks') :'tracks.track0'을 가져 오려고하면'AttributeError'를 얻습니다. –
맞아요. 아마도 .py 파일 대신 데이터를 저장하기 위해 고안된 파일 형식을 사용해야했을 것입니다 ... – martineau
[내 대답] (https://stackoverflow.com/a/14428820/355230) 패키지 관련 질문 – martineau