gpt4 book ai didi

python - 如果我在运行时才知道文件名,如何从文件导入?

转载 作者:太空狗 更新时间:2023-10-30 01:22:43 25 4
gpt4 key购买 nike

我想这样做:

from fileName import variableName

如果我硬编码 fileName 就没有问题。但是我需要将 fileName 用作字符串变量,但这似乎不起作用。

问题的上下文是我正在尝试创建一个以文件名作为参数的函数。该函数从参数中给出的任何文件中导入变量名,然后返回变量名的值,这将是一个列表。参数中可能给出的各种文件中的每一个都只包含一个 python 语句,例如:

data = [xxxxx]

除了内容(xxxx)有几千行。仅仅将一个字符串或一个计算结果为字符串的变量放入“from...”语句的第二个词中是无法编译的。我还尝试构建一个包含整个语句的字符串,然后执行 eval(string),但这也会给出“无效语法”。我还能怎么做呢?文档说“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

希望这对您有所帮助!

关于python - 如果我在运行时才知道文件名,如何从文件导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19760981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com