如何从带有字符串的文件夹中的模块导入内容?
How do I import something from a module in a folder with a string?
如何使用字符串从文件夹中的模块导入内容。我尝试使用 __import__ 语句。还有库:importlib。我只是不太明白如何使用它。这是我正在尝试做的事情:
/folder
questions.py
__init__.py
app.py
在 questions.py 中有一本名为 math_questions 的字典,里面有问题和答案。如何使用字符串从 app.py 导入 questions.py?
欢迎来到 SO!
在您的文件夹目录中创建一个空的 __init__.py
文件。
然后在 app.py 中执行:from folder import questions
或 import 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)
如何使用字符串从文件夹中的模块导入内容。我尝试使用 __import__ 语句。还有库:importlib。我只是不太明白如何使用它。这是我正在尝试做的事情:
/folder
questions.py
__init__.py
app.py
在 questions.py 中有一本名为 math_questions 的字典,里面有问题和答案。如何使用字符串从 app.py 导入 questions.py?
欢迎来到 SO!
在您的文件夹目录中创建一个空的 __init__.py
文件。
然后在 app.py 中执行:from folder import questions
或 import 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)