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 相关文章推荐
在Linux下使用Python的matplotlib绘制数据图的教程
Jun 11 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 Python
Python设计模式之门面模式简单示例
Jan 09 Python
对python中的pop函数和append函数详解
May 04 Python
Python爬虫包BeautifulSoup异常处理(二)
Jun 17 Python
Python中循环后使用list.append()数据被覆盖问题的解决
Jul 01 Python
Django实战之用户认证(初始配置)
Jul 16 Python
想学python 这5本书籍你必看!
Dec 11 Python
Python实现的统计文章单词次数功能示例
Jul 08 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
Jun 30 Python
解决Pyinstaller打包软件失败的一个坑
Mar 04 Python
Python实战之大鱼吃小鱼游戏的实现
Apr 01 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
德生PL330的评价与改造
2021/03/02 无线电
php 输出双引号"与单引号'的方法
2010/05/09 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
PHP使用FFmpeg获取视频播放总时长与码率等信息
2016/09/13 PHP
jQuery中[attribute!=value]选择器用法实例
2014/12/31 Javascript
JavaScript通过join函数连接数组里所有元素的方法
2015/03/20 Javascript
15个常用的jquery代码片段
2015/12/19 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
JavaScript正则表达式校验与递归函数实际应用实例解析
2017/08/04 Javascript
详解Node 定时器
2018/02/26 Javascript
vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)
2020/02/25 Javascript
jQuery 实现扁平式小清新导航
2020/07/07 jQuery
[03:37]2016完美“圣”典 风云人物:Mikasa专访
2016/12/07 DOTA
python简单读取大文件的方法
2016/07/01 Python
使用python爬取抖音视频列表信息
2019/07/15 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
Python Django Cookie 简单用法解析
2019/08/13 Python
python requests证书问题解决
2019/09/05 Python
python列表插入append(), extend(), insert()用法详解
2019/09/14 Python
Python的形参和实参使用方式
2019/12/24 Python
python可以用哪些数据库
2020/06/22 Python
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
Charles & Keith欧盟:新加坡时尚品牌
2019/08/01 全球购物
美国传奇滑手Paul Rodriguez创办的街头滑板品牌:Primitive Skateboarding
2019/10/29 全球购物
毕业生就业自荐信
2013/12/04 职场文书
大学生自我鉴定
2013/12/16 职场文书
人力资源部经理的岗位职责
2014/03/04 职场文书
初一学生评语大全
2014/04/24 职场文书
项目建议书怎么写
2014/05/15 职场文书
全国文明单位申报材料
2014/05/31 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
小学元宵节活动总结
2015/02/06 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python
Python3 多线程(连接池)操作MySQL插入数据
2021/06/09 Python