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 实现插入排序算法
Jun 05 Python
haskell实现多线程服务器实例代码
Nov 26 Python
pyv8学习python和javascript变量进行交互
Dec 04 Python
Python绘制正余弦函数图像的方法
Aug 28 Python
梅尔频率倒谱系数(mfcc)及Python实现
Jun 18 Python
浅析Python与Mongodb数据库之间的操作方法
Jul 01 Python
使用Python生成200个激活码的实现方法
Nov 22 Python
Python实现链表反转的方法分析【迭代法与递归法】
Feb 22 Python
django xadmin中form_layout添加字段显示方式
Mar 30 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
Dec 13 Python
Pyside2中嵌入Matplotlib的绘图的实现
Feb 22 Python
在Windows下安装配置CPU版的PyTorch的方法
Apr 02 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写MySQL数据 实现代码
2009/06/15 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
2013/06/25 PHP
Zend Guard使用指南及问题处理
2015/01/07 PHP
thinkphp框架下实现登录、注册、找回密码功能
2016/04/06 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
利用php生成验证码
2017/02/23 PHP
通过代码实例解析PHP session工作原理
2020/12/11 PHP
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
JQUERY操作JSON实例代码
2010/02/09 Javascript
Js 时间间隔计算的函数(间隔天数)
2011/11/15 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
javascript读取Xml文件做一个二级联动菜单示例
2014/03/17 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
javascript实现左右控制无缝滚动
2014/12/31 Javascript
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
2015/01/01 NodeJs
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
jquery中filter方法用法实例分析
2015/02/06 Javascript
js实现仿qq消息的弹出窗效果
2016/01/06 Javascript
jquery实现图片上传前本地预览
2017/04/28 jQuery
Angular 如何使用第三方库的方法
2018/04/18 Javascript
如何解决vue在ios微信"复制链接"功能问题
2020/03/26 Javascript
javascript实现文字跑马灯效果
2020/06/18 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
Python中字典的基本知识初步介绍
2015/05/21 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
Pycharm运行加载文本出现错误的解决方法
2019/06/27 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
numpy创建单位矩阵和对角矩阵的实例
2019/11/29 Python
文员岗位职责
2013/11/09 职场文书
创建文明学校实施方案
2014/03/11 职场文书
个人校本研修方案
2014/05/26 职场文书
环卫个人总结
2015/03/03 职场文书
行政处罚告知书
2015/07/01 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
go web 预防跨站脚本的实现方式
2021/06/11 Golang