python - 如何从带有字符串的文件夹中的模块中导入某些内容?
问题描述
如何使用字符串从文件夹中的模块导入某些内容。我尝试使用__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)
推荐阅读
- reactjs - React Native Algolia 即时搜索和搜索框
- node.js - 将 NodeJS 集群包与 Kubernetes 一起使用是否有意义?
- computer-vision - 如何从图像中提取对象的大小
- javascript - 尝试使用 Lodash Angular 6 进行排序时出现错误
- php - 如何通过 PHP 查询脚本更改 phpMyAdmin 根密码
- testing - 无法在 TestCafe 中使用 PageObjects 从 .before 打开 Url (.navigateTo)
- oracle - 这个循环结束时 NULL 的目的是什么?
- java - 为什么介绍性书中定义的关于类型转换和算术运算符的规则看似冲突?
- android - 从 Android 中的 socket.on 消息回调调用函数
- reactjs - 在 props.children 中访问父属性