Python如何避免文件同名产生覆盖


Posted in Python onJune 09, 2020

在一些不多的数据下载和生成的时候,我们倾向于直接保存为文件,当我们修改某些参数后再一次运行时,之前运行时生成的文件就被覆盖了。为了解决这个问题,这里提供几个解决方案。

1. 判断文件是否存在;

2. 判断是否带有”0)“这种数字带括号的格式;

3. 文件名添加”(0), (1), (2)….“之类的编号。

以下是代码:

import os
import re
 
 
def auto_save_file(path):
  directory, file_name = os.path.split(path)
  while os.path.isfile(path):
    pattern = '(\d+)\)\.'
    if re.search(pattern, file_name) is None:
      file_name = file_name.replace('.', '(0).')
    else:
      current_number = int(re.findall(pattern, file_name)[-1])
      new_number = current_number + 1
      file_name = file_name.replace(f'({current_number}).', f'({new_number}).')
    path = os.path.join(directory + os.sep + file_name)
  return path

如果使用如下创建文件的代码测试:

path = r'D:\test.txt'
for i in range(10):
  with open(auto_save_file(path), 'w') as f:
    f.write('This is a test!')

结果如下:

Python如何避免文件同名产生覆盖

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python selenium 父子、兄弟、相邻节点定位方式详解
Sep 15 Python
python奇偶行分开存储实现代码
Mar 19 Python
在Python中输入一个以空格为间隔的数组方法
Nov 13 Python
Django框架实现的分页demo示例
May 25 Python
python opencv 图像拼接的实现方法
Jun 27 Python
深入解析神经网络从原理到实现
Jul 26 Python
Python处理session的方法整理
Aug 29 Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 Python
在tensorflow中设置保存checkpoint的最大数量实例
Jan 21 Python
Python bytes string相互转换过程解析
Mar 05 Python
Python实现爬取并分析电商评论
Jun 19 Python
Python基于template实现字符串替换
Nov 27 Python
对Keras中predict()方法和predict_classes()方法的区别说明
Jun 09 #Python
Python嵌入C/C++进行开发详解
Jun 09 #Python
Keras load_model 导入错误的解决方式
Jun 09 #Python
如何用python处理excel表格
Jun 09 #Python
使用Keras 实现查看model weights .h5 文件的内容
Jun 09 #Python
Python使用Chrome插件实现爬虫过程图解
Jun 09 #Python
Python导入数值型Excel数据并生成矩阵操作
Jun 09 #Python
You might like
深入理解PHP原理之错误抑制与内嵌HTML分析
2011/05/02 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
2014/06/27 PHP
php绘制圆形的方法
2015/01/24 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
2016/01/14 PHP
用js重建星际争霸
2006/12/22 Javascript
ie 调试javascript的工具
2009/04/29 Javascript
IE DOM实现存在的部分问题及解决方法
2009/07/25 Javascript
写js时遇到的一些小问题
2010/12/06 Javascript
再谈javascript原型继承
2014/11/10 Javascript
javascript中的正则表达式使用指南
2015/03/01 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
如何实现json数据可视化详解
2016/11/24 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
nodejs 使用nodejs-websocket模块实现点对点实时通讯
2018/11/28 NodeJs
微信小程序实现下拉框功能
2019/07/16 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
2019/11/12 Javascript
Jquery Datatables的使用详解
2020/01/30 jQuery
Python基于TCP实现会聊天的小机器人功能示例
2018/04/09 Python
python操作excel的方法(xlsxwriter包的使用)
2018/06/11 Python
详解python数据结构和算法
2019/04/18 Python
python点击鼠标获取坐标(Graphics)
2019/08/10 Python
JupyterNotebook设置Python环境的方法步骤
2019/12/03 Python
python subprocess pipe 实时输出日志的操作
2020/12/05 Python
python opencv实现图像配准与比较
2021/02/09 Python
Tostadora意大利:定制T恤
2019/04/08 全球购物
程序运行正确, 但退出时却"core dump"了,怎么回事
2014/02/19 面试题
初二学习计划书范文
2014/04/27 职场文书
2014年物流工作总结
2014/11/25 职场文书
介绍长城的导游词
2015/01/30 职场文书
工厂员工辞职信范文
2015/05/12 职场文书
2015年机关后勤工作总结
2015/05/26 职场文书
2016中秋节广告语
2016/01/28 职场文书
小型企业的绩效考核制度模板
2019/11/21 职场文书
判断Python中的Nonetype类型
2021/05/25 Python