我想做这个:
from fileName import variableName
如果我硬编码fileName没有问题.但我需要使用fileName作为字符串变量,这似乎不起作用.
问题的上下文是我正在尝试创建一个以文件名作为参数的函数.该函数从参数中给出的任何文件中导入variableName,然后返回variableName的值,该值将是一个列表.参数中可能给出的每个文件只包含一个python语句,例如:
data = [xxxxx]
除了内容(xxxx)是几千行之外.只是将一个字符串或一个计算字符串的变量放入“from …”语句的第二个单词中就不会编译.我还尝试构建一个包含整个语句然后执行eval(字符串)的字符串,但这也给出了“无效语法”.我怎么能这样做呢?文档说’from …’语句不是编译器指令但是在运行时评估,所以我认为这应该工作.
解决方法
使用
importlib.import_module
功能:
import importlib fileName = ['a','b','c'] for file in fileName: module = importlib.import_module(file) data.append(module.variableName)
这相当于:
from a import variableName from b import variableName from c import variableName
希望这可以帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。