不确定为什么我的python循环是';行不通
我有一些文本文件(这里仅使用两个),我想将它们读入Python并对其进行操作。我试图存储字符串列表(每个单词一个字符串,每个文件一个列表) 我的代码当前如下所示: (文件名为m1.txt和m2.txt)不确定为什么我的python循环是';行不通,python,Python,我有一些文本文件(这里仅使用两个),我想将它们读入Python并对其进行操作。我试图存储字符串列表(每个单词一个字符串,每个文件一个列表) 我的代码当前如下所示: (文件名为m1.txt和m2.txt) 这段代码最终将两个文本文件中的单词组合在一起,而不是分别为每个文件提供单词。最终,我想阅读大量的文件,所以任何关于如何将它们分开的帮助都将不胜感激 在最后一个for循环中,您在处理每个单独的文件时重复打开每个列表 试着这样做: dict={'m1':[],'m2':[]} for i, k i
这段代码最终将两个文本文件中的单词组合在一起,而不是分别为每个文件提供单词。最终,我想阅读大量的文件,所以任何关于如何将它们分开的帮助都将不胜感激 在最后一个for循环中,您在处理每个单独的文件时重复打开每个列表 试着这样做:
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)
我将您的代码保留为“原样”,但上面关于不使用语言关键字的注释很重要。此示例动态获取文件名(不带扩展名),并使用它指示我们在dict中的工作位置:
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)
你说的结合是什么意思?你只声明了一本词典,所以它们当然都会进入那本词典。您是否正在尝试创建多个字典,每个文件一个?另外,您正在将m1.txt中的单词理论上附加到
dict['m2']
中。使用内置单词dict
作为变量也是一种不好的做法谢谢您的帮助-我还将更改我字典的名称。
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)