繁体   English   中英

使用python编写文本文件而不删除旧的保存

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM