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 25 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
python调用matlab的m自定义函数方法
Feb 18 Python
Python内置random模块生成随机数的方法
May 31 Python
Python使用matplotlib绘制三维参数曲线操作示例
Sep 10 Python
python读取ini配置文件过程示范
Dec 23 Python
pycharm设置python文件模板信息过程图解
Mar 10 Python
python 实现仿微信聊天时间格式化显示的代码
Apr 17 Python
django 模型字段设置默认值代码
Jul 15 Python
PyTorch 中的傅里叶卷积实现示例
Dec 11 Python
使用numpy实现矩阵的翻转(flip)与旋转
Jun 03 Python
Pytest中skip skipif跳过用例详解
Jun 30 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
实时抓取YAHOO股票报价的代码
2006/10/09 PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
2016/10/28 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
Extjs Ext.MessageBox.confirm 确认对话框详解
2010/04/02 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
JS 打印功能代码可实现打印预览、打印设置等
2014/10/31 Javascript
javascript中数组array及string的方法总结
2014/11/28 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
vue使用axios实现文件上传进度的实时更新详解
2017/12/20 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
js实现上传按钮并显示缩略图小轮子
2020/05/04 Javascript
原生js+css实现tab切换功能
2020/09/17 Javascript
[05:08]第一届“网鱼杯”DOTA2比赛精彩集锦
2014/09/05 DOTA
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
Python+pandas计算数据相关系数的实例
2018/07/03 Python
python通过tcp发送xml报文的方法
2018/12/28 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
python:批量统计xml中各类目标的数量案例
2020/03/10 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
Shopee菲律宾:在线购买和出售
2019/11/25 全球购物
俄罗斯儿童和青少年服装、鞋子及配件的在线商店:Orby
2020/02/20 全球购物
酷瑞网络科技面试题
2012/03/30 面试题
DIY手工制作经营店创业计划书
2014/02/01 职场文书
节约电力资源的建议书
2014/03/12 职场文书
大学新闻系自荐书
2014/05/31 职场文书
公司仓库管理制度
2015/08/04 职场文书
2016年小学生迎国庆广播稿
2015/12/18 职场文书
2019银行员工个人工作自我鉴定
2019/06/27 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
Python基础之操作MySQL数据库
2021/05/06 Python