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 数据加密代码
Dec 24 Python
深入Python函数编程的一些特性
Apr 13 Python
Django日志模块logging的配置详解
Feb 14 Python
python 请求服务器的实现代码(http请求和https请求)
May 25 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 Python
python广度优先搜索得到两点间最短路径
Jan 17 Python
python使用递归的方式建立二叉树
Jul 03 Python
Python爬取视频(其实是一篇福利)过程解析
Aug 01 Python
python基于三阶贝塞尔曲线的数据平滑算法
Dec 27 Python
wxPython修改文本框颜色过程解析
Feb 14 Python
keras 两种训练模型方式详解fit和fit_generator(节省内存)
Jul 03 Python
python Xpath语法的使用
Nov 26 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
mysq GBKl乱码
2006/11/28 PHP
php利用scws实现mysql全文搜索功能的方法
2014/12/25 PHP
利用php-cli和任务计划实现订单同步功能的方法
2017/05/03 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
2018/10/14 PHP
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
javascript基本包装类型介绍
2015/04/10 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
分享10个优化代码的CSS和JavaScript工具
2016/05/11 Javascript
CSS3 media queries结合jQuery实现响应式导航
2016/09/30 Javascript
谈谈第三方App接入微信登录 解读
2016/12/27 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
2017/01/21 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
js实现省份下拉菜单效果
2017/02/15 Javascript
js实现图片上传预览原理分析
2017/07/13 Javascript
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
Vue实例的对象参数options的几个常用选项详解
2019/11/08 Javascript
vue2.x 对象劫持的原理实现
2020/04/19 Javascript
[16:14]教你分分钟做大人:米拉娜(HEROS)
2014/11/24 DOTA
理解Python中函数的参数
2015/04/27 Python
Python中字典的setdefault()方法教程
2017/02/07 Python
如何用python整理附件
2018/05/13 Python
python自动化生成IOS的图标
2018/11/13 Python
python 实现语音聊天机器人的示例代码
2018/12/02 Python
Python基础教程之异常详解
2019/01/10 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
2020/01/06 Python
python 实现socket服务端并发的四种方式
2020/12/14 Python
英国领先的汽车轮胎和快速健康中心:Kwik Fit
2017/10/29 全球购物
质检部职责
2013/12/28 职场文书
安全第一课观后感
2015/06/18 职场文书
李白经典诗之一:全文无一“月”字,却句句有月
2019/07/12 职场文书
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis