如何将文本保存到2个不同的文件?
问题描述:
我目前在做计算机科学方面的GCSE课程,我们的任务是让人们输入他们的姓氏,并根据姓氏中的第一个字母将其保存到两个不同的文件中。这两个文件是字母A-L(它们将用正确的第一个字母保存),但是另一个文本文件是M-Z,当在该范围中键入任何字母时似乎不会保存任何内容。我如何根据他们的第一个字母将它保存到2个不同的文件中?如何将文本保存到2个不同的文件?
这是我有:
MyFile1 = open("A-L.txt", "wt")
MyFile2 = open("M-Z.txt", "wt")
myList = ([])
Surname = input("What is your surname");
if Surname[0] in ["A","B","C","D","E","F","G","H","I","J","K","L"]:
myList.insert(2, Surname)
for item in myList:
MyFile1.write(item+"\n")
if Surname[0] in ["M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]:
MyFile2 = open("M-Z.txt", "wt")
myList.insert(0, Surname)
for item in myList:
MyFile1.write(item+"\n")
答
没有所有的清单业务:
MyFile1 = open("A-L.txt", "wt")
MyFile2 = open("M-Z.txt", "wt")
Surname = input("What is your surname");
if Surname[0] in ["A","B","C","D","E","F","G","H","I","J","K","L"]:
MyFile1.write(Surname + "\n")
if Surname[0] in ["M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]:
MyFile2.write(Surname + "\n")
答
为什么不直接选择相应的文件名?
A_TO_L = set("ABCDEFGHIJKL")
surname = input("What is your surname? ")
if surname[0] in A_TO_L:
fname = "A-L.txt"
else:
fname = "M-Z.txt"
with open(fname, "wt") as outf:
outf.write("\n".join(mylist))
只写入第一个文件。而不是打开'if'块中的文件,为什么不写入呢?你的'for'循环的缩进也是错误的。 – Arc676
为什么要将名称添加到列表中,然后将列表写入文件?你在程序后面的某个地方使用列表吗? –