Python: list import options in subdirectory, then import one of them
本问题已经有最佳答案,请猛点这里访问。
我正在制作一个可用于多故事模块的游戏引擎。我想将这些故事保存在一个子目录中,并使用单个
到目前为止,我已经能够使用这个简单的代码获得所有故事模块的列表:
1 2 | import glob stories = glob.glob( ./stories/ds_*.py ) |
然后,我使用for循环和format语句列出用户的选项。问题是我不知道如何使用结果字符串来实际导入任何内容。也许环球不是最好的解决方案?
只需列出故事目录中的文件,然后打开用户选择的文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | from os import listdir from os.path import isfile, join import imp stories_path = 'path/to/modules' # Put in stories all the modules found: stories = [f for f in listdir(stories_path ) if isfile(join(stories_path,f))] # Let the user select one... selected = stories[xx] # Import it: story = imp.load_source('module.name', selected) |