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 13 Python
Windows下Eclipse+PyDev配置Python+PyQt4开发环境
May 17 Python
Python学习入门之区块链详解
Jul 25 Python
20个常用Python运维库和模块
Feb 12 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
Nov 30 Python
python 提取tuple类型值中json格式的key值方法
Dec 31 Python
在Python中居然可以定义两个同名通参数的函数
Jan 31 Python
python 利用pandas将arff文件转csv文件的方法
Feb 12 Python
Python实现KNN(K-近邻)算法的示例代码
Mar 05 Python
Django 中间键和上下文处理器的使用
Mar 17 Python
Python 监测文件是否更新的方法
Jun 10 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
Jun 11 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获取文件后缀名的三个函数
2012/10/15 PHP
搭建自己的PHP MVC框架详解
2017/08/16 PHP
PHP mkdir创建文件夹实现方法解析
2020/11/13 PHP
js之WEB开发调试利器:Firebug 下载
2007/01/13 Javascript
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
jQuery学习笔记(2)--用jquery实现各种模态提示框代码及项目构架
2013/04/08 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
简述Matlab中size()函数的用法
2016/03/20 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
值得分享的JavaScript实现图片轮播组件
2016/11/21 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
详解VUE中常用的几种import(模块、文件)引入方式
2018/07/03 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
[02:28]DOTA2英雄基础教程 狼人
2013/12/23 DOTA
[01:03:56]Mineski vs TNC 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python django 访问静态文件出现404或500错误
2017/01/20 Python
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
python计算n的阶乘的方法代码
2019/10/25 Python
python使用配置文件过程详解
2019/12/28 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
2020/02/17 Python
Python模拟FTP文件服务器的操作方法
2020/02/18 Python
Django ORM实现按天获取数据去重求和例子
2020/05/18 Python
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
Dogeared官网:在美国手工制作的珠宝
2019/08/24 全球购物
简述索引存取方法的作用和建立索引的原则
2013/03/26 面试题
公司年会搞笑主持词
2014/03/24 职场文书
《水乡歌》教学反思
2014/04/24 职场文书
新闻专业毕业生求职信
2014/08/08 职场文书
学党史心得体会
2014/09/05 职场文书
2015年度校学生会工作总结报告
2015/05/23 职场文书
2015年中职班主任工作总结
2015/05/25 职场文书
2016入党心得体会范文
2016/01/06 职场文书
golang实现一个简单的websocket聊天室功能
2021/10/05 Golang
Elasticsearch 数据类型及管理
2022/04/19 Python
Python 操作pdf pdfplumber读取PDF写入Exce
2022/08/14 Python