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的Bottle框架中使用微信API的示例
Apr 23 Python
Python实现的简单dns查询功能示例
May 24 Python
利用Python爬取微博数据生成词云图片实例代码
Aug 31 Python
Python 访问限制 private public的详细介绍
Oct 16 Python
Python初学者常见错误详解
Jul 02 Python
Pytorch抽取网络层的Feature Map(Vgg)实例
Aug 20 Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
Jun 10 Python
python 实现Harris角点检测算法
Dec 11 Python
python中altair可视化库实例用法
Jan 26 Python
python实现图片转字符画
Feb 19 Python
python 实现有道翻译功能
Feb 26 Python
浅谈Python协程asyncio
Jun 20 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连接Oracle for NT 远程数据库
2006/10/09 PHP
php-accelerator网站加速PHP缓冲的方法
2008/07/30 PHP
PHP的范围解析操作符(::)的含义分析说明
2011/07/03 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
2014/06/27 PHP
php绘制一个矩形的方法
2015/01/24 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
2016/04/07 PHP
PHP Mysqli 常用代码集合
2016/11/12 PHP
php和html的区别点详细总结
2019/09/24 PHP
jquery UI 1.72 之datepicker
2009/12/29 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
Jquery时间验证和转换工具小例子
2013/07/01 Javascript
JavaScript实现列出数组中最长的连续数
2014/12/29 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
浅谈AngularJS中ng-class的使用方法
2016/11/11 Javascript
RequireJS 依赖关系的实例(推荐)
2017/01/21 Javascript
利用vue-i18n实现多语言切换效果的方法
2019/06/19 Javascript
nodejs使用node-xlsx生成excel的方法示例
2019/08/22 NodeJs
vue中使用腾讯云Im的示例
2020/10/23 Javascript
微信小程序实现日历小功能
2020/11/18 Javascript
Python中使用Inotify监控文件实例
2015/02/14 Python
Python常用知识点汇总
2016/05/08 Python
python导出chrome书签到markdown文件的实例代码
2017/12/27 Python
Python判断字符串是否为合法标示符操作
2020/09/03 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
2021/02/22 Python
Lenox官网:精美的瓷器&独特的礼品
2017/02/12 全球购物
Crocs美国官方网站:卡骆驰洞洞鞋
2017/08/04 全球购物
沪江旗下的海量优质课程平台:沪江网校
2017/11/07 全球购物
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
2013/04/28 面试题
感恩母亲节活动方案
2014/03/04 职场文书
电话客服专员岗位职责
2014/06/28 职场文书
英语自我介绍演讲稿
2014/09/01 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
安全先进个人材料
2014/12/29 职场文书
八一建军节主持词
2015/07/01 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书
Windows11 Insider Preview Build 25206今日发布 更新内容汇总
2022/09/23 数码科技