覆盖文件或附加

时间:2017-03-01 19:58:16

标签: python python-2.7 file io

如果一个文件不存在,需要一个写入文件的函数。 如果文件确实存在,则覆盖该文件,但保存原始文件或将新文件包含在1。

命名格式为yyyymmdd,因此如果存在,它将创建一个名为yyymmdd-v2的新文件或类似的东西。

这就是我目前所拥有的。

def write_diff_file(x):
    from datetime import datetime
    datestring = datetime.strftime(datetime.now(), '%Y_%m_%d') 
    try:
        with open("./%s" % 'filediff_' + datestring + '.txt', 'a') as f:
            line = str(x).replace("archive\\", "")
            f.write(line)
            f.write("\n")
            f.name
        #print "Comparison File Written"
    except IOError as (errno, strerror):
        print "I/O error({0}): {1}".format(errno, strerror)
        print "Error in write_diff_file function"

1 个答案:

答案 0 :(得分:1)

您想要检查文件是否存在并调整文件名(如果已经存在)。这样的事情应该有效:

import os
from datetime import datetime

datestring = datetime.strftime(datetime.now(), '%Y_%m_%d')
filename = 'filediff_' + datestring + '.txt'
filenb = 1
while os.path.exists(filename):
    filenb += 1
    filename = 'filediff_{0}_v{1}.txt'.format(datestring, filenb)
with open(filename, 'w') as f:
    ....