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使用多线程不断刷新网页的方法
Mar 31 Python
Python栈类实例分析
Jun 15 Python
浅谈用VSCode写python的正确姿势
Dec 16 Python
python编程实现随机生成多个椭圆实例代码
Jan 03 Python
python 读取txt中每行数据,并且保存到excel中的实例
Apr 29 Python
Centos下实现安装Python3.6和Python2共存
Aug 15 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
Aug 09 Python
Python3分析处理声音数据的例子
Aug 27 Python
python科学计算之scipy——optimize用法
Nov 25 Python
解决TensorFlow模型恢复报错的问题
Feb 06 Python
Python 实现Image和Ndarray互相转换
Feb 19 Python
Python使用OpenCV实现虚拟缩放效果
Feb 28 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中通过ADODB库实现调用Access数据库之修正版本
2006/12/31 PHP
一个捕获函数输出的函数
2007/02/14 PHP
PHP扩展编写点滴 技巧收集
2010/03/09 PHP
Thinkphp实现MySQL读写分离操作示例
2014/06/25 PHP
PHP中文竖排转换实现方法
2015/10/23 PHP
PHP实现的用户注册表单验证功能简单示例
2019/02/25 PHP
PHP实现的操作数组类库定义与用法示例
2019/05/24 PHP
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
2011/02/18 Javascript
jQuery中even选择器的定义和用法
2014/12/23 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
一波JavaScript日期判断脚本分享
2016/03/06 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
2016/06/23 Javascript
纯JS打造网页中checkbox和radio的美化效果
2016/10/13 Javascript
vue.js将unix时间戳转换为自定义时间格式
2017/01/03 Javascript
Angular2 PrimeNG分页模块学习
2017/01/14 Javascript
微信小程序日历效果
2018/12/29 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
js实现点击选项置顶动画效果
2020/08/25 Javascript
Vue+axios封装请求实现前后端分离
2020/10/23 Javascript
Python标准库之循环器(itertools)介绍
2014/11/25 Python
python动态性强类型用法实例
2015/05/09 Python
对IPython交互模式下的退出方法详解
2019/02/16 Python
从列表或字典创建Pandas的DataFrame对象的方法
2019/07/06 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
手把手教你安装Windows版本的Tensorflow
2020/03/26 Python
Selenium alert 弹窗处理的示例代码
2020/08/06 Python
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
linux面试题参考答案(1)
2016/01/22 面试题
毕业证丢失证明
2014/01/15 职场文书
财务会计自荐信范文
2014/02/21 职场文书
个人纪律作风整改措施思想汇报
2014/10/12 职场文书
滞留工资返还协议书
2014/10/19 职场文书
如何做好工作总结!
2019/04/10 职场文书
2019年警察入党转正申请书最新范文
2019/09/03 职场文书