繁体   English   中英

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

[英]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 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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM