Python 创建新文件时避免覆盖已有的同名文件的解决方法


Posted in Python onNovember 16, 2018

思路:创建文件时,先检查是否有同名文件(使用os.path.isfile),如果有,则在文件名后加上编号n来创建。

关键点:

1. 使用os.path.isfile判断文件是否存在

2. 使用递归函数判断

2. 添加编号时, 使用可变list 传值n=[0]

完整代码如下:

import os

def check_filename_available(filename):
  n=[0]
  def check_meta(file_name):
    file_name_new=file_name
    if os.path.isfile(file_name):
      file_name_new=file_name[:file_name.rfind('.')]+'_'+str(n[0])+file_name[file_name.rfind('.'):]
      n[0]+=1
    if os.path.isfile(file_name_new):
      file_name_new=check_meta(file_name)
    return file_name_new
  return_name=check_meta(filename)
  return return_name
with open(check_filename_available('t.txt'),'w') as f:
  f.write('Checking func!')

以上这篇Python 创建新文件时避免覆盖已有的同名文件的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现的简单文本类游戏实例
Apr 28 Python
Python利用Nagios增加微信报警通知的功能
Feb 18 Python
Python 爬虫学习笔记之单线程爬虫
Sep 21 Python
python字典快速保存于读取的方法
Mar 23 Python
对python 各种删除文件失败的处理方式分享
Apr 24 Python
深入浅析Python的类
Jun 22 Python
python版飞机大战代码分享
Nov 20 Python
python 实现兔子生兔子示例
Nov 21 Python
Python用5行代码实现批量抠图的示例代码
Apr 14 Python
TensorFlow Autodiff自动微分详解
Jul 06 Python
Python类绑定方法及非绑定方法实例解析
Oct 09 Python
详解Python遍历列表时删除元素的正确做法
Jan 07 Python
用python标准库difflib比较两份文件的异同详解
Nov 16 #Python
在Pandas中给多层索引降级的方法
Nov 16 #Python
Python 面试中 8 个必考问题
Nov 16 #Python
python 使用值来排序一个字典的方法
Nov 16 #Python
pandas通过索引进行排序的示例
Nov 16 #Python
在pandas多重索引multiIndex中选定指定索引的行方法
Nov 16 #Python
对Pandas MultiIndex(多重索引)详解
Nov 16 #Python
You might like
php中根据变量的类型 选择echo或dump
2012/07/05 PHP
php自定义的格式化时间示例代码
2013/12/05 PHP
PHP防盗链代码实例
2014/08/27 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
2014/11/25 PHP
完美解决thinkphp唯一索引重复时出错的问题
2017/03/31 PHP
动态的绑定事件addEventListener方法的使用
2014/01/24 Javascript
JS完整获取IE浏览器信息包括类型、版本、语言等等
2014/05/22 Javascript
jQuery弹出层插件Lightbox_me使用指南
2015/04/21 Javascript
js实现当前输入框高亮显示的方法
2015/08/19 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
浅谈js多维数组和hash数组定义和使用
2016/07/27 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
2018/12/11 Javascript
vue页面加载时的进度条功能(实例代码)
2020/01/13 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
Python3 入门教程 简单但比较不错
2009/11/29 Python
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
2019/08/09 Python
Python查找不限层级Json数据中某个key或者value的路径方式
2020/02/27 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
基于Python3读写INI配置文件过程解析
2020/07/23 Python
接口自动化多层嵌套json数据处理代码实例
2020/11/20 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
希腊香水和化妆品购物网站:Parfimo.gr
2019/10/03 全球购物
J2EE的优越性主要表现在哪些方面
2016/03/28 面试题
酒店应聘自荐信
2013/11/09 职场文书
个人自荐信
2013/12/05 职场文书
社区七一党员活动方案
2014/01/25 职场文书
2014年医院十一国庆节活动方案
2014/09/15 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
安全第一课观后感
2015/06/18 职场文书
教务处干事工作总结
2015/08/14 职场文书
2016年度基层党建工作公开承诺书
2016/03/25 职场文书
pytest配置文件pytest.ini的详细使用
2021/04/17 Python
nginx 配置指令之location使用详解
2022/05/25 Servers
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL