gpt4 book ai didi

python - 在Python中使用for循环从多个文件导入列表

转载 作者:太空宇宙 更新时间:2023-11-03 18:56:39 27 4
gpt4 key购买 nike

这可能是一个非常简单的问题,但似乎无法弄清楚或找到与此问题有关的任何答案。

xcombined=[]
for i in range (1,20):
from 'files_'+str(i) import x
for j in range(0,len(x)):
xcombined.append(x[j])

导致以下错误:

    import "files_"+str(i)
^
SyntaxError: invalid syntax

我希望从 files_1.py、files_2.py 等导入一个列表(即 x=[15.34, ..., 15.54]),并将其附加到另一个名为 xcombined 的列表,以便 xcombined 是所有列表的总和所有“files_*.py”中的“x”。如果我是正确的,'files_'+str(i) 无法工作,因为它不是字符串?有没有快速解决这个问题的方法?

提前致谢。保罗

最佳答案

此处使用 importlib 模块,因为 import 语句不适用于字符串。

import importlib
xcombined=[]
for i in range (1,20):
mod = importlib.import_module('files_'+str(i))
x = mod.x # fetch `x` from the imported module
del mod # now delete module, so this is equivalent to: `from mod import x`
for j in range(0,len(x)):
xcombined.append(x[j])

importlib是在py2.7中引入的,早期版本使用__import__

有关__import__的帮助:

>>> print __import__.__doc__
__import__(name, globals={}, locals={}, fromlist=[], level=-1) -> module

Import a module. Because this function is meant for use by the Python
interpreter and not for general use it is better to use
importlib.import_module() to programmatically import a module.
...

关于python - 在Python中使用for循环从多个文件导入列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17123719/

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