下面的代码是我到目前为止的代码.当它写入.csv时,它会覆盖我之前在文件中写入的内容.如何以不擦除我之前文本的方式写入文件.(我的代码的目标是拥有一个人输入他们的名字并让程序记住它们)
def main(src):
try:
input_file = open(src, "r")
except IOError as error:
print("Error: Cannot open '" + src + "' for processing.")
print("Welcome to Learner!")
print("What is your name? ")
name = input()
for line in input_file:
w = line.split(",")
for x in w:
if x.lower() == name.lower():
print("I remember you "+ name.upper())
else:
print("NO")
a = open("learner.csv", "w")
a.write(name)
a.close()
break
if __name__ == "__main__":
main("learner.csv")
Run Code Online (Sandbox Code Playgroud)
Kar*_*tik 10
您需要在下次附加到文件.这可以通过以附加模式打开文件来完成.
def addToFile(file, what):
f = open(file, 'a').write(what)
Run Code Online (Sandbox Code Playgroud)
eva*_*nal 10
改变open("learner.csv", "w")以open("learner.csv", "a")
open的第二个参数是mode,w是write,a是append.使用追加它会自动寻找到文件的末尾.
小智 6
您需要以append-mode('a')打开文件,而不是写模式('w'); 在Python文档解释了不同模式下可用.
此外,您可能需要考虑使用with关键字:
在处理文件对象时,最好使用with关键字.这样做的好处是文件在套件完成后正确关闭,即使在途中引发了异常.
>>> with open('/tmp/workfile', 'a') as f:
... f.write(your_input)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17300 次 |
| 最近记录: |