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静态方法实例
Jan 14 Python
python实现的jpg格式图片修复代码
Apr 21 Python
Python面向对象之继承和组合用法实例分析
Aug 27 Python
Python Pandas批量读取csv文件到dataframe的方法
Oct 08 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
Oct 11 Python
linux中如何使用python3获取ip地址
Jul 15 Python
python脚本调用iftop 统计业务应用流量的思路详解
Oct 11 Python
20行Python代码实现视频字符化功能
Apr 13 Python
解决pycharm中的run和debug失效无法点击运行
Jun 09 Python
python爬取youtube视频的示例代码
Mar 03 Python
OpenCV-Python实现轮廓的特征值
Jun 09 Python
pd.drop_duplicates删除重复行的方法实现
Jun 16 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+mysql事务rollback&commit示例
2010/02/08 PHP
PHP页面间传递值和保持值的方法
2016/08/24 PHP
php json相关函数用法示例
2017/03/28 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
2017/05/26 PHP
php实现微信模板消息推送
2018/03/30 PHP
基于JQuery的密码强度验证代码
2010/03/01 Javascript
javascript正则表达式中参数g(全局)的作用
2010/11/11 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
jQuery中children()方法用法实例
2015/01/07 Javascript
使用Meteor配合Node.js编写实时聊天应用的范例
2015/06/23 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
jQuery选择器用法实例详解
2015/12/17 Javascript
关于动态生成dom绑定事件失效的原因及解决方法
2016/08/06 Javascript
jQuery 选择器(61种)整理总结
2016/09/26 Javascript
JavaScript表单验证开发
2016/11/23 Javascript
canvas实现图像布局填充功能
2017/02/06 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
javascript将url解析为json格式的两种方法
2017/08/18 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
2018/08/13 Javascript
vue框架制作购物车小球动画效果实例代码
2019/09/26 Javascript
python实现单线程多任务非阻塞TCP服务端
2017/06/13 Python
Python中偏函数用法示例
2018/06/07 Python
opencv python如何实现图像二值化
2020/02/03 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
利用Python优雅的登录校园网
2020/10/21 Python
浅析Python打包时包含静态文件处理方法
2021/01/15 Python
移动端适配 使px自动转换rem
2019/08/26 HTML / CSS
canvas仿写贝塞尔曲线的示例代码
2017/12/29 HTML / CSS
美国第一香水网站:Perfume.com
2017/01/23 全球购物
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
世界上最大的乐谱选择:Sheet Music Plus
2020/01/18 全球购物
个人自我评价和职业目标
2014/01/24 职场文书
2015年调度员工作总结
2015/04/30 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
2021好看的国漫排行榜前十名 《完美世界》上榜,《元龙》排名第一
2022/03/18 国漫
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技