我正在尝试制作一个程序,该程序将回答用户输入的内容并将其放入Python 2.7中的文本文档中。我有一个问题,当再次运行该程序时,文本文档将被覆盖,以前的数据被删除。所以我想知道如何避免这个问题。如果已回答此问题,请链接文章。预先感谢一堆!
import time
import sys as LOL
print 'Welcome to the database, enter -1 to exit.'
time.sleep(1)
files = open('c:/writing.txt','w')
name = raw_input('Enter in your name... ')
if name == '-1':
LOL.exit()
time.sleep(1)
if len(name)> 64 or len(name)< 1:
print 'Please enter a name that is between 1 and 64 characters!!'
while len(name)>64 or len(name)<1:
name = raw_input('Enter in your name... ')
if name == '-1':
LOL.exit()
if len(name)> 64 or len(name)<1:
print 'Please enter a name that is between 1 and 64 characters!!'
time.sleep(1)
time.sleep(1)
age = int(raw_input('Enter in your age... '))
if age == -1:
LOL.exit()
while age > 125 or age < 1:
age = int(raw_input('Enter in your age... '))
if name == '-1':
LOL.exit()
time.sleep(1)
if age > 125 or age < 1:
print 'Enter in a vaild age!'
newedit = name + ' is %s years old.' %age
files.write(newedit)
files.close()
那是因为您在w
模式(写模式)下打开了文件。正如您可以在docs中阅读的那样,这样做会自动将其截断:
最常用的mode值是
'r'
用于读取,'w'
写入(如果文件已经存在,则将其截断)和'a'
追加(在某些Unix系统上,这意味着所有写入均会追加到文件末尾,而不管当前查找位置如何) )。
正如上面的摘录所说,您应该使用a
模式将文本追加到文件中而不会被截断:
files = open('c:/writing.txt','a')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句