Python:列出子目录中的列表导入选项,然后导入其中之一。
Python:列出子目录中的列表导入选项,然后导入其中之一。
这个问题已经在这里有了答案:
我正在制作一个可以用于多个故事模块的游戏引擎。我想将故事存储在子目录中,并使用单个PLAY.py
文件让用户选择其中一个。
到目前为止,我已经使用这个简单的代码获取了所有故事模块的列表:
import glob stories = glob.glob( ./stories/ds_*.py )
然后我使用for循环和格式化语句来为用户列出选项。问题是我找不到如何使用结果字符串来实际导入任何东西的方法。也许glob不是最好的解决方案?
admin 更改状态以发布 2023年5月24日
只需列出 stories 文件夹中的文件,然后打开用户选择的文件:
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)