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中的闭包详细介绍和实例
Nov 21 Python
Python线程中对join方法的运用的教程
Apr 09 Python
python中随机函数random用法实例
Apr 30 Python
Django小白教程之Django用户注册与登录
Apr 22 Python
python中MethodType方法介绍与使用示例
Aug 03 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
May 30 Python
在双python下设置python3为默认的方法
Oct 31 Python
利用Python将数值型特征进行离散化操作的方法
Nov 06 Python
Python实现获取汉字偏旁部首的方法示例【测试可用】
Dec 18 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
Jan 15 Python
python requests指定出口ip的例子
Jul 25 Python
python实现加密的方式总结
Jan 19 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 htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
PHP获取数组长度或某个值出现次数的方法
2015/02/11 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
2016/01/07 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
2016/03/21 PHP
解决laravel id非自增 模型取回为0 的问题
2019/10/11 PHP
ajax上传时参数提交不更新等相关问题
2012/12/11 Javascript
javascript时间函数基础介绍
2013/03/28 Javascript
jQuery实现可用于博客的动态滑动菜单
2015/03/09 Javascript
微信小程序 向左滑动删除功能的实现
2017/03/10 Javascript
Angular中$state.go页面跳转并传递参数的方法
2017/05/09 Javascript
Kindeditor单独调用多图上传实例
2017/07/31 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
浅谈webpack 构建性能优化策略小结
2018/06/13 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
vue头部导航动态点击处理方法
2018/11/02 Javascript
js使用Promise实现简单的Ajax缓存
2018/11/14 Javascript
微信小程序引入Vant组件库过程解析
2019/08/06 Javascript
JavaScript进阶(三)闭包原理与用法详解
2020/05/09 Javascript
对Python使用mfcc的两种方式详解
2019/01/09 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
Python datetime 格式化 明天,昨天实例
2020/03/02 Python
探究 canvas 绘图中撤销(undo)功能的实现方式详解
2018/05/17 HTML / CSS
美国照明、家居装饰和家具购物网站:Bellacor
2017/09/20 全球购物
德国玩具商店:Planet Happy DE
2021/01/16 全球购物
机电专业个人自荐信格式模板
2013/09/23 职场文书
专科毕业生求职简历的自我评价
2013/10/12 职场文书
校园主题婚礼活动策划方案
2014/09/15 职场文书
单位租房协议范本
2014/12/03 职场文书
中学社团活动总结
2015/05/07 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
保护环境建议书作文400字
2015/09/14 职场文书
js实现模拟购物商城案例
2021/05/18 Javascript
python装饰器代码解析
2022/03/23 Python