思路:创建文件时,先检查是否有同名文件(使用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 创建新文件时避免覆盖已有的同名文件的解决方法...相关推荐

  1. python 勒索病毒 源码_python生成的exe被360识别为勒索病毒原因及解决方法

    代码如下,使用了 os 库遍历文件夹,还有判断指定路径是文件还是文件夹.换成了 pathlib 库来实现我需要的功能,问题解决. import os def adjust_os(path): ''' ...

  2. 手残把下载文件夹位置移动到了D盘根目录,导致了一系列问题的解决方法

    今天遇到了一个很膈应人的问题,因为想节约一点C盘空间,便将位于C盘的"下载"文件夹的位置移动到了D盘的根目录,导致了D盘文件显示不正常,具体情况如下图: 可以看出,D盘的文件好像完 ...

  3. 一个意外错误使你无法删除该文件夹。【错误0x80070091:目录不是空的】Bandizip压缩软件解决方法

    这两天看到D盘中有没有用的文件夹,点开发现是空的,右键看属性文件大小也为0,但是没法删除,出现这种奇怪的异常,尝试了网上说的好几种方法,什么磁盘修复.新建文件等都没有成功,自己进行摸索尝试发现了一种利 ...

  4. 关于在VS上创建的工程从win32改为x64时导致断点无法生效的原因与解决方法!

    1.在改平台的时候很容易出现断点无法生效的问题,其原因为: a.创建平台的时候方法不对. b.实际创建x64平台的方法有两种,第一种是:直接依托win32的平台设置,直接生产x64:第二种,只生产x6 ...

  5. cmd打开python显示不是内部_Python命令行窗口提示“不是内部或外部命令……”的解决方法...

    前提:已在[控制面板\系统和安全\系统\高级系统设置\高级\环境变量]里修改变量Path,编辑系统变量后面添加了[;D:\Python27],可以在命令行模式下正常进入Python交互式环境,并能直接 ...

  6. linux文件夹打开闪退,win10系统内置的Linux Bash启动闪退的解决方法

    很多小伙伴都遇到过win10系统内置的Linux Bash启动闪退的困惑吧,一些朋友看过网上零散的win10系统内置的Linux Bash启动闪退的处理方法,并没有完完全全明白win10系统内置的Li ...

  7. python中使用qrcode库生成二维码时,填充logo变成黑白色的解决方法。

    python如何生成qrcode的教程已经有很多了,我这里仅仅排一下坑. import qrcode from PIL import Imageqr = qrcode.QRCode(version=1 ...

  8. bat 复制文件夹_Windows批量创建文件夹:用Excel和记事本这2个就够了

    有时候出于工作需要,要在一个目录下创建大量的文件夹存放一些资料,或者分类整理某些文档, 如果是一个两个文件夹,手动建立是无所谓的,但是如果是十几个文件夹甚至大到上百个文件夹呢? 像是公司需要为几十个人 ...

  9. 快捷键创建文件夹_一键创建复杂的文件夹结构

    快捷键创建文件夹 为什么要继续阅读或不继续阅读本文: (Why you should proceed or not proceed reading this article:) Even if the ...

最新文章

  1. 【Quartz】Quartz
  2. CVE-2018-20169漏洞学习
  3. python实战系列之爬取CSDN博客之星2020年度排名情况(附源码)
  4. 2019年, image captioning论文汇总
  5. Redis中的哨兵机制的不足
  6. xxxx must either be declared abstract or implement abstract method ‘map(T)‘ in ‘MapFunction‘
  7. 605. 种花问题003(贪心算法+思路+详解)
  8. Spring学习总结(32)—— 宣布 Spring Native Beta 版!
  9. 手把手教你实现机器学习SVM算法
  10. mysql时间加8小时_劳斯莱斯库里南,超精致1:8模型车,组装时间长达450个小时...
  11. WAP网站源代码--WAP新闻(文章)系统调试实战
  12. java继承动物类_Java之继承
  13. windows 强制关闭程序并强制删除文件
  14. 老式门锁改wifi遥控开门
  15. Python也有对象了哈哈哈哈哈哈嗝
  16. 诠释绿色科技 Laedana荣获2022国际CMF设计奖
  17. Shiro框架基础及搭建
  18. CSS/JS 实现滑动页面,到一定位置,position 定位设置为fixed,否则用absolute;
  19. java applet类开始博饼_中秋博饼demo
  20. Android系统的三种分屏显示模式

热门文章

  1. Developing a blockchain framework for the automotive supply chain: A systematic review 汽车供应链区块链
  2. Hyperledger Fabric 私有数据(2)操作流程
  3. (chap6 Http首部) 其他首部字段
  4. vnctf——cm1
  5. 【Opencv实战】趣味应用 | 用OpenCV自动给图片添加虚拟特效---平淡的生活需要技术的点缀~
  6. CSS之关系选择器、属性选择器、伪类选择器
  7. [问答]-EL1t和EL1h中的后缀t和h分别是什么意思
  8. Android Gatekeeper流程深度解剖
  9. 【CTF大赛】陇剑杯-机密内存-解题过程分析
  10. Windows消息机制学习笔记(三)—— 消息的接收与分发