我有以下脚本:
import random
def mf():
filename = raw_input("file: ")
string="a"
while (string):
string = raw_input("ID\n")
string += " | "
string += raw_input("Title\n")
string += " | "
string += raw_input("Artist\n")
string += " | "
string += raw_input("Kind\n")
string += " | "
string += raw_input("Year\n")
string += " | "
string += raw_input("Ranking\n")
string += " | "
string += raw_input("Purchased\n")
string += " | "
string += raw_input("c\n")
f = open(filename,'w')
print string
f.write(string)
f.write("garbage")
f.write("\n")
f.close()
string = raw_input("...")
n = random.randint(1,4)
f = open(filename,'w')
for i in range(n):
f.write("\n")
f.close()
它写新线很好,当我打印字符串时,我得到了我所期望的,但是既没有“垃圾”也没有写过字符串。
答案 0 :(得分:4)
那是因为你刚刚再次打开它。 如果要附加到文件,请使用:
f = open(filename, "a")
使用“w”打开时,会覆盖文件的当前内容。 但是打开它一次并关闭它可能会更好。