[英]write text file without deleting older saves with python
我对 python 有点陌生,我想创建一个新的 txt 文件而不替换旧文件
我试试这个来创建一个新文件:
def savebill():
lineadd=" -------------------------------------------\n"
print (lineadd)
bill=open('bill.txt','w')
bill.write(lineadd)
bill.close()
当我想保存新账单时,旧文件将被替换,我需要保留旧文件的副本。
将“w”更改为“a+”:
bill=open('bill.txt','a+')
open
是内置函数,用于打开文件并返回相应的文件对象。 如果无法打开文件,则会引发 OSError。
第一个参数是您要打开的文件名,第二个参数是模式(还有更多参数)。
该模式有 7 个选项:
'r' - 打开以供阅读(默认)
'w' - 打开写入,首先截断文件
'x' - 打开独占创建,如果文件已经存在则失败
'a' - 为写入而打开,如果文件存在则附加到文件末尾
'b' - 二进制模式
't' - 文本模式(默认)
'+' - 打开磁盘文件进行更新(读写)
您可以结合一些参数,例如: 'r+b'
不截断地打开文件。
有关更多信息,请阅读文档文件: https : //docs.python.org/3/library/functions.html#open
import fnmatch import os def savebill(): lineadd=" -------------------------------------------\n" print (lineadd) # set a file target and check if it exists files = fnmatch.filter((f for f in os.listdir('.')), 'bill*.txt') #target filename file = len(files) # how many the files with the name are file + 1 # if you had "bill20.txt", adding 1 makes your new file to be "bill21.txt"... etc bill = open('bill%s.txt'% file) bill.write('text') bill.close() # Can also be used in saving any file
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.