Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不确定为什么我的python循环是';行不通_Python - Fatal编程技术网

不确定为什么我的python循环是';行不通

不确定为什么我的python循环是';行不通,python,Python,我有一些文本文件(这里仅使用两个),我想将它们读入Python并对其进行操作。我试图存储字符串列表(每个单词一个字符串,每个文件一个列表) 我的代码当前如下所示: (文件名为m1.txt和m2.txt) 这段代码最终将两个文本文件中的单词组合在一起,而不是分别为每个文件提供单词。最终,我想阅读大量的文件,所以任何关于如何将它们分开的帮助都将不胜感激 在最后一个for循环中,您在处理每个单独的文件时重复打开每个列表 试着这样做: dict={'m1':[],'m2':[]} for i, k i

我有一些文本文件(这里仅使用两个),我想将它们读入Python并对其进行操作。我试图存储字符串列表(每个单词一个字符串,每个文件一个列表)

我的代码当前如下所示: (文件名为m1.txt和m2.txt)


这段代码最终将两个文本文件中的单词组合在一起,而不是分别为每个文件提供单词。最终,我想阅读大量的文件,所以任何关于如何将它们分开的帮助都将不胜感激

在最后一个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)