从多个文件读取python编程

从多个文件读取python编程,python,python-2.7,Python,Python 2.7,嗨,我遇到了一个大学作业的问题,作业要求我们创建一个python程序 要求用户输入三个包含单词的文件名,格式为file1file2file3,其中每个文件名用空格分隔。此输入被分配给变量FList 程序将FList拆分为三个文件名file1、file2和file3 对于FList中的每个文件,程序从文件中读取单词并将这些字符串存储到各自的列表中:wordList1、wordList2和wordList3。例如,file1中的单词将分配给wordList1 程序要求用户输入搜索词并将其分配给sea

嗨,我遇到了一个大学作业的问题,作业要求我们创建一个python程序

  • 要求用户输入三个包含单词的文件名,格式为
    file1
    file2
    file3
    ,其中每个文件名用空格分隔。此输入被分配给变量
    FList
  • 程序将
    FList
    拆分为三个文件名
    file1
    file2
    file3
  • 对于
    FList
    中的每个文件,程序从文件中读取单词并将这些字符串存储到各自的列表中:
    wordList1
    wordList2
    wordList3
    。例如,
    file1
    中的单词将分配给
    wordList1
  • 程序要求用户输入搜索词并将其分配给
    searchWord
  • 程序搜索
    wordList1
    wordList2
    wordList3
    ,查找
    searchWord
    ,计算每个文件中的匹配数,并将结果分配给各自的变量:
    file1Results
    file2Results
    file3Results


    我在桌面上创建了三个.txt文件,分别名为
    output.txt
    output2.txt
    output3.txt
    ,但出于某种原因,当我测试运行该程序时,它说
    output2.txt
    不存在。

    我不知道您的输入是什么,但听起来您在错误的目录中查找该文件

    f1 = open('output1.txt')
    
    将在运行python脚本的文件夹中搜索输出。 您可能需要的是以下内容:

    desktop_path = 'C:/Users/YOURNAME/Desktop/'
    f1 = open(desktop_path + 'output1.txt') # open(desktop_path + Flist[0])
    
    还有,可能是什么问题

    Flist.split() 
    
    其工作原理如下:

    例如,“1 2 3”.split()返回['1'、'2'、'3']和'1 2 3'。split(无,1)返回['1'、'2 3']


    您可以找到更多信息。

    我不知道您的输入是什么,但听起来您在错误的目录中查找文件

    f1 = open('output1.txt')
    
    将在运行python脚本的文件夹中搜索输出。 您可能需要的是以下内容:

    desktop_path = 'C:/Users/YOURNAME/Desktop/'
    f1 = open(desktop_path + 'output1.txt') # open(desktop_path + Flist[0])
    
    还有,可能是什么问题

    Flist.split() 
    
    其工作原理如下:

    例如,“1 2 3”.split()返回['1'、'2'、'3']和'1 2 3'。split(无,1)返回['1'、'2 3']

    你可以在这里找到更多信息。

    我建议你添加

    import os
    
    print(os.getcwd())
    
    转到脚本的开头并运行它;它将告诉您当前工作的目录

    如果我在桌面上保存一个脚本并通过双击运行它,它将以
    c:\windows\system32
    作为当前目录运行。我怀疑你的也在做同样的事情,你碰巧在那个目录中有一个名为
    output.txt
    的文件

    f1 = open('output1.txt')
    
    如果是这种情况,您可以使用
    os.path.join(r“path\to\desktop\”,文件名)
    使其看起来位于正确的位置。

    我建议您添加

    import os
    
    print(os.getcwd())
    
    转到脚本的开头并运行它;它将告诉您当前工作的目录

    如果我在桌面上保存一个脚本并通过双击运行它,它将以
    c:\windows\system32
    作为当前目录运行。我怀疑你的也在做同样的事情,你碰巧在那个目录中有一个名为
    output.txt
    的文件

    f1 = open('output1.txt')
    

    如果是这种情况,您可以使用
    os.path.join(r“path\to\desktop\”,文件名)
    使其看起来位于正确的位置。

    我在您的代码中没有看到任何会导致您提到的错误的内容。您确定没有在文件名中输入错误(无论是在实际的文件系统中,还是在向Python程序提交文件名时)?您能显示异常的回溯吗?它应该是Flist=Flist.split(“”)?相对于.txt文件,您的程序在哪个目录中?您如何引用命令行上的.txt文件?。。。如果改为输入
    output.txt output.txt output.txt
    ,会发生什么情况?它是否抱怨该文件?@White
    .split()
    默认情况下将以空格分隔。我在您的代码中没有看到任何会导致您提到的错误的内容。您确定没有在文件名中输入错误(无论是在实际的文件系统中,还是在向Python程序提交文件名时)?您能显示异常的回溯吗?它应该是Flist=Flist.split(“”)?相对于.txt文件,您的程序在哪个目录中?您如何引用命令行上的.txt文件?。。。如果改为输入
    output.txt output.txt output.txt
    ,会发生什么情况?它会抱怨那个文件吗?@White
    .split()
    默认情况下会在空白处拆分。。。。但是他没有得到output.txt的任何错误,它大概在同一个目录中?正确。我添加了第二部分,这可能是问题的症结所在,但因为我不知道输入或输出。我只是列出最好的猜测。。。。但是他没有得到output.txt的任何错误,它大概在同一个目录中?正确。我添加了第二部分,这可能是问题的症结所在,但因为我不知道输入或输出。我只是列出最好的猜测。