如何从带有字符串的文件夹中的模块中导入某些内容?

时间:2019-11-21 14:31:53

标签: python string module python-module

如何使用字符串从文件夹中的模块导入某些内容。我尝试使用 __ import __ 语句。还有库: importlib 。我只是不太了解如何使用它。这是我想要做的:

/folder
    questions.py

__init__.py
app.py

在questions.py中有一个名为math_questions的字典,其中包含问题和答案。如何使用字符串从app.py导入questions.py?

1 个答案:

答案 0 :(得分:1)

欢迎您!

在文件夹目录中创建一个空的__init__.py文件。

然后在app.py中执行:from folder import questionsimport folder.questions as questions

假设questions.py有一个称为foo的方法或变量,则可以按以下方式使用它:

print(questions.foo())

或者如果它是一个变量:

print(questions.foo)

对于python3:如果要使用字符串导入文件,则可以使用exec(确保您信任输入)

lib_to_import = input('Which module to import?')
exec('import %s' lib_to_import)

对于python2:

import importlib
lib_to_import = input('Which module to import?')
mod = importlib.import_module(lib_to_import)