我有一些文本文件(这里只使用两个),我想将它们读入Python并操作它们。我试图存储字符串列表(每个单词一个字符串,每个文件一个列表)。
我的代码目前看起来像这样: (文件名为m1.txt和m2.txt)
dict={'m1':[],'m2':[]}
for k in files:
with open(k,'r') as f:
for line in f:
for word in line.split():
for i in range (1,3):
dict['m'+str(i)].append(word)
此代码最终将两个文本文件中的单词组合在一起,而不是分别为每个文件提供单词。最终我想阅读很多文件,所以任何有关如何将它们分开的帮助将非常感激!
答案 0 :(得分:1)
您正在重复打开每个列表,同时通过最终for循环中的替代i值处理每个单独的文件。
尝试这样的事情:
dict={'m1':[],'m2':[]}
for i, k in enumerate(files):
with open(k,'r') as f:
for line in f:
for word in line.split():
dict['m'+str(i+1)].append(word)
我已经“按原样”保留了您的代码,但上面关于不使用语言关键字的评论非常重要。
答案 1 :(得分:1)
此示例动态提取文件名(不带扩展名)并使用它来表示我们工作的字典中的位置:
files = ['m1.txt', 'm2.txt'];
file_store = {'m1':[],'m2':[]}
for file in files:
prefix = (file.split(r'.'))[0]
with open(file, 'r') as f:
for line in f:
for word in line.split():
file_store[prefix].append(word)