繁体   English   中英

如何使用python将文件的内容存储在数组中?

[英]how to store the contents of files in arrays using python?

我有5个文本文件需要存储在数组中。 我已经尝试过了

f=[]
f[0]=open('E:/cyg/home/Aiurea/workspace/nCompare5w5.txt','r')
f[1]=open('E:/cyg/home/Aiurea/workspace/nCompare5w10.txt','r')
f[2]=open('E:/cyg/home/Aiurea/workspace/nCompare5w20.txt','r')
f[3]=open('E:/cyg/home/Aiurea/workspace/nCompare5w50.txt','r')
f[4]=open('E:/cyg/home/Aiurea/workspace/nCompare5w80.txt','r')

for i in range(5):
    f[i].close()

错误消息是“ IndexError:列表分配索引超出范围”

您需要使用append

f.append(open('E:/cyg/home/Aiurea/workspace/nCompare5w5.txt','r'))

在您的代码中,您试图分配给尚不存在的索引值。

'append()'将项目添加到列表的末尾。 最初,列表f为空,但是每次添加时,都会将该项目添加到列表的末尾,您可以通过访问其索引号来引用(或更改)它。

您不必重复整个路径/文件名信息:

import os

path = 'E:/cyg/home/Aiurea/workspace'
fnames = [ 'nCompare5w{0}.txt'.format(i) for i in (5, 10, 20, 50, 80) ]

f = []
for fname in fnames:
    with open(os.path.join(path, fname), 'r') as fr:
        f.append(fr.readlines())

另外, with构造会为您节省最后关闭的文件。

暂无
暂无

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

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