我正在尝试制作一个程序,它将获取用户输入的答案,并将其放在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()
Run Code Online (Sandbox Code Playgroud)
那是因为您以w模式(写入模式)打开了文件.正如您可以在文档中阅读的那样,这样做会自动截断它:
模式最常用的值是
'r'读,'w'写(截断如果它已经存在的文件),并'a'进行追加(其中一些Unix系统意味着所有写入追加到文件的末尾,而不考虑当前的搜索位置).
如上面的摘录所示,您应该使用amode将文本附加到文件而不截断:
files = open('c:/writing.txt','a')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1732 次 |
| 最近记录: |