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统计文本字符串里单词出现频率的方法
May 26 Python
python 全文检索引擎详解
Apr 25 Python
python模仿网页版微信发送消息功能
Feb 24 Python
pandas数值计算与排序方法
Apr 12 Python
Python代码块批量添加Tab缩进的方法
Jun 25 Python
浅谈Python在pycharm中的调试(debug)
Nov 29 Python
Python列表list常用内建函数实例小结
Oct 22 Python
Python:合并两个numpy矩阵的实现
Dec 02 Python
详解pycharm连接不上mysql数据库的解决办法
Jan 10 Python
pandas中的ExcelWriter和ExcelFile的实现方法
Apr 24 Python
在pycharm中debug 实时查看数据操作(交互式)
Jun 09 Python
Python常用数据分析模块原理解析
Jul 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
PHP邮件专题
2006/10/09 PHP
discuz7 phpMysql操作类
2009/06/21 PHP
适用于php-5.2 的 php.ini 中文版[金步国翻译]
2011/04/17 PHP
Php output buffering缓存及程序缓存深入解析
2013/07/15 PHP
php导出csv格式数据并将数字转换成文本的思路以及代码分享
2014/06/05 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
2019/10/16 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
分享一个自己动手写的jQuery分页插件
2014/08/28 Javascript
基于JavaScript创建动态Dom
2015/12/08 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
JavaScript代码性能优化总结篇
2016/05/15 Javascript
Angular ng-repeat 对象和数组遍历实例
2016/09/14 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
2016/10/31 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
JavaScript门道之标准库
2018/05/26 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
Vue中实现权限控制的方法示例
2019/06/07 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
原生JS实现贪吃蛇小游戏
2020/03/09 Javascript
Django如何自定义分页
2018/09/25 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
美津浓美国官网:Mizuno美国
2018/08/07 全球购物
巴基斯坦购物网站:Goto
2019/03/11 全球购物
工厂仓管员岗位职责
2014/01/01 职场文书
给领导的检讨书
2014/02/16 职场文书
租赁意向书范本
2014/04/01 职场文书
机关作风建设自查报告
2014/10/22 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
劳模先进事迹材料
2014/12/24 职场文书
学籍证明模板
2015/06/18 职场文书
党员发展大会主持词
2015/07/03 职场文书
Python Pandas pandas.read_sql函数实例用法
2021/06/21 Python