Python:列出子目录中的导入选项,然后导入其中一个[重复]

Posted

技术标签:

【中文标题】Python:列出子目录中的导入选项,然后导入其中一个[重复]【英文标题】:Python: list import options in subdirectory, then import one of them [duplicate] 【发布时间】:2015-09-09 02:45:39 【问题描述】:

我正在制作一个可以与多个故事模块一起使用的游戏引擎。我想将故事保存在子目录中,并使用单个 PLAY.py 文件来允许用户选择其中一个。

到目前为止,我已经能够使用这个简单的代码来获取所有故事模块的列表:

import glob
stories = glob.glob( ./stories/ds_*.py )

然后我使用 for 循环和格式语句为用户列出选项。问题是我不知道如何使用生成的字符串来实际导入任何内容。也许 glob 不是最好的解决方案?

【问题讨论】:

***.com/questions/67631/…的可能重复 【参考方案1】:

只需列出故事目录中的文件,然后打开用户选择的文件:

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)

【讨论】:

以上是关于Python:列出子目录中的导入选项,然后导入其中一个[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python导入并运行位于不同目录中的python脚本[重复]

如何从 Python 中的子文件夹导入模块或文件?

对如何从模块中的其他目录/父目录导入感到困惑(python 3)

导入模块

十八python import导入模块

通过pip命令导出和导入Python环境安装包