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 set集合类型操作总结
Nov 07 Python
python实现ipsec开权限实例
Nov 11 Python
详解Python中expandtabs()方法的使用
May 18 Python
利用Python生成文件md5校验值函数的方法
Jan 10 Python
django创建自定义模板处理器的实例详解
Aug 14 Python
解决python 文本过滤和清理问题
Aug 28 Python
postman传递当前时间戳实例详解
Sep 14 Python
python实现UDP协议下的文件传输
Mar 20 Python
python脚本监控logstash进程并邮件告警实例
Apr 28 Python
教你怎么用PyCharm为同一服务器配置多个python解释器
May 31 Python
Python将CSV文件转化为HTML文件的操作方法
Jun 30 Python
Python中使用Opencv开发停车位计数器功能
Apr 04 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
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
PH P5.2至5.5、5.6的新增功能详解
2014/07/14 PHP
PHP函数rtrim()使用中的怪异现象分析
2017/02/24 PHP
表单(FORM)的一些实用效果代码
2007/03/25 Javascript
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
jquery教程ajax请求json数据示例
2014/01/13 Javascript
Jquery中$.post和$.ajax的用法小结
2015/04/28 Javascript
js+ajax实现获取文件大小的方法
2015/12/08 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
基于jQuery实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
2017/07/20 jQuery
阿里大于短信验证码node koa2的实现代码(最新)
2017/09/07 Javascript
JS实现简易留言板增删功能
2020/02/08 Javascript
一起深入理解js中的事件对象
2021/02/06 Javascript
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
Python列表(List)知识点总结
2019/02/18 Python
Python3.5 Pandas模块之Series用法实例分析
2019/04/23 Python
Ubuntu下Anaconda和Pycharm配置方法详解
2019/06/14 Python
python调用自定义函数的实例操作
2019/06/26 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
python selenium实现发送带附件的邮件代码实例
2019/12/10 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
2020/01/13 Python
Python终端输出彩色字符方法详解
2020/02/11 Python
python logging 重复写日志问题解决办法详解
2020/08/04 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
HTML5在canvas中绘制复杂形状附效果截图
2014/06/23 HTML / CSS
结婚喜宴主持词
2014/03/14 职场文书
2014年党员公开承诺书范文
2014/03/28 职场文书
商务英语求职信范文
2015/03/19 职场文书
导盲犬小Q观后感
2015/06/11 职场文书
导游词之张家界
2019/10/31 职场文书
详解TS数字分隔符和更严格的类属性检查
2021/05/06 Javascript
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
2021/06/11 Python