从多个文件读取python编程
嗨,我遇到了一个大学作业的问题,作业要求我们创建一个python程序从多个文件读取python编程,python,python-2.7,Python,Python 2.7,嗨,我遇到了一个大学作业的问题,作业要求我们创建一个python程序 要求用户输入三个包含单词的文件名,格式为file1file2file3,其中每个文件名用空格分隔。此输入被分配给变量FList 程序将FList拆分为三个文件名file1、file2和file3 对于FList中的每个文件,程序从文件中读取单词并将这些字符串存储到各自的列表中:wordList1、wordList2和wordList3。例如,file1中的单词将分配给wordList1 程序要求用户输入搜索词并将其分配给sea
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的任何错误,它大概在同一个目录中?正确。我添加了第二部分,这可能是问题的症结所在,但因为我不知道输入或输出。我只是列出最好的猜测。