Python 我想从.txt文件中读取多行
我想从.txt文件中读取多行。 每行代表一个将由NLTK Python脚本回答的问题,然后答案将写入另一个.txt文件中。 我成功地使这个机制起作用,但只针对question.txt文件中的一行一个问题,即从中获取问题的文件 正如我看到的场景,我想从Question.txt文件中读取一行,然后脚本将回答并将答案写入answer.txt文件。然后从Question.txt文件中读取第二行,依此类推 myFile=openQuestions.txt,“r” user_response=strmyFile.splitlines将txt文件的内容从列表格式转换为字符串格式,以便以后能够降低字符数 我还进行了这个小实现,以使代码不会无限运行,从而计算行数: numOfLines=lenuser\u response.splitlines numofLines-=1 Python 3 你必须做的是: 读所有的行 计算所有答案 将所有答案写回文件 我假设您回答问题的方法称为回答问题:Python 我想从.txt文件中读取多行,python,file,fwrite,fread,Python,File,Fwrite,Fread,我想从.txt文件中读取多行。 每行代表一个将由NLTK Python脚本回答的问题,然后答案将写入另一个.txt文件中。 我成功地使这个机制起作用,但只针对question.txt文件中的一行一个问题,即从中获取问题的文件 正如我看到的场景,我想从Question.txt文件中读取一行,然后脚本将回答并将答案写入answer.txt文件。然后从Question.txt文件中读取第二行,依此类推 myFile=openQuestions.txt,“r” user_response=strmyFi
在python中,文件是迭代器,因此为了避免存储在内存中的大数组,您的简单解决方案是: 使用openQuestions.txt作为q\u f,openAnswers.txt“w”作为a\u f: 关于q_f中的问题: 答案=解决问题 a\u f.writeanswer+\n
在这里,您逐行迭代文件,回答问题并将其保存到另一个文件中,而不在内存中保存大列表我确实尝试过这种方法,但现在它根本不返回任何内容。关于splitlines方法,我也有一些问题,因为它不适用于列表类型的变量,只适用于字符串。所以我试图将从文件中读取的数据转换成字符串,但仍然无法从文本文件中读取多行。我必须说,我正在读取文件,我将问题存储在一个变量中。将问题存储在一个数组中,并将它们逐个传递给将返回响应的函数,这是一种更好的方法吗?如果是,那么我该怎么做?@MicreaSabau请在您的问题中提供您的代码,以便我可以查看。在我的代码中,questions_file.read返回一个字符串,因此分割线除外。您是否可以使用readlines方法代替read?因为readlines返回一个列表。@Mirchesabau如果您的问题已经在列表中,只需使用for in循环,就像我的代码中的位置2一样。这是否回答了您的问题?
# 1
with open("Questions.txt") as questions_file:
questions = questions_file.read().splitlines()
# 2
answers = []
for question in questions:
answer = answer_question(question) # or use question.lower() if you want to
answers.append(answer)
# 3
with open("Answers.txt", mode="w") as answers_file:
answers_file.write("\n".join(answers))