Python 创建新文件时避免覆盖已有的同名文件的解决方法
作者:yyly2012 发布时间:2023-08-23 23:44:46
标签:Python,覆盖,同名,文件
思路:创建文件时,先检查是否有同名文件(使用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!')
来源:https://blog.csdn.net/yyly2012/article/details/79106554


猜你喜欢
- ps:大多与c等编程语言极为相似一、if分支if:给定一个条件,同时为该条件设置多种(一般两种)情况,然后通过条件判断来实现具体的执行段复合
- 1.什么是property简单地说就是一个类里面的方法一旦被@property装饰,就可以像调用属性一样地去调用这个方法,它能够简化调用者获
- 本文较为详细的介绍了python中raw_input的用法,使用raw_input 能够很方便的丛控制台读入数据。具体用法示例如下:1.输入
- 发现问题今天在使用ImageTk.photoImage()显示图片时,当把包含该函数放在自定义函数里时,不能正常显示,移到函数为又可正常显示
- JS:$(".con").eq(0).show(); $(".btn span").cl
- table.rows集合中是cell对象 cell.innerHTML = "<td>123</td>&q
- 1. 官方代码FUSE_MODULESTORCH.AO.QUANTIZATION.FUSE_MODULES的源代码2. fuse_modul
- 这篇文章主要介绍了python如何实现不可变字典inmutabledict,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参
- 在我们想要对不同变量进行判断的时候,会分析其中的之间的联系。这种理念同样也被用在实例生活中,最常见到的是做一个地理的热力图。很多人对画热力图
- 有两种方法当知道字典的键时:unit_rooms={ 3:{301:[1,80],302:[1,80],303:[2,90],304:[2,
- 字段是逗号分隔开的数组如何查询匹配数据方式一:CHARINDEX***()*****SELECT *&n
- 导语贪吃蛇,大家应该都玩过。当初第一次接触贪吃蛇的时候 ,还是我爸的数字手机,考试成绩比较好,就会得到一些小奖励,玩手机游戏肯定也在其中首位
- 在程序中,经常需要将⼀组(通常是同为某个类型的)数据元素作为整体 管理和使⽤,需要创建这种元素组,⽤变量记录它们,传进传出函数等。 ⼀组数据
- 本文介绍基于Python语言,针对一个文件夹下大量的Excel表格文件,基于其中每一个文件的名称,从另一个文件夹中找到与这一文件夹中文件同名
- #mkdir /mysqldata2、创建/usr/sbin/bakmysql文件#nano /usr/sbin/bakmysql输入:#!
- 在讨论IE6的BUG及如何修复之前,有必要讲叙一些策略去避免这些恼人的问题——正所谓防患于未然 。IE6 市场占有率据Market Shar
- 一看,C盘只有不到2M可用空间,一查原因,sqlserver安装路径下的log目录文件占了好大,5G多, 于是上网搜了下,解决了: 把与sq
- Oracle数据库各类控制语句的使用是本文我们主要要介绍的内容,包括一些逻辑控制语句、Case when的使用、While的使用以及For的
- ASP结合ADO对数据库方便快捷的访问、结合XML、COM/ActiveX等其它技术 实现服务器多层结构的功能使它在今天还有着顽强的生命力。
- 先来看一下该方法的说明create_image(position, **options) [#]Draws an image on the