python 保存文件 递增_自动递增文件名Python - python

这篇博客探讨了如何在Python中创建一个函数,当文件已存在时,自动为文件名添加递增编号。作者分享了现有代码的问题,并提供了一个改进的解决方案,该方案使用递归和更简洁的代码来检查和生成新的唯一文件名。
摘要由CSDN通过智能技术生成

我试图编写一个函数,该函数将路径名和文件名分配给基于文件名(而不是文件夹中存在)的变量。然后,如果文件名已经存在,则文件名将自动递增。我已经看到了一些使用while循环的帖子,但是我对此一无所知,想将其包装在一个递归函数中。

这是我到目前为止所拥有的。使用打印语句进行测试时,每个方法都可以正常工作。但是它不会将新名称返回给主程序。

def checkfile(ii, new_name,old_name):

if not os.path.exists(new_name):

return new_name

if os.path.exists(new_name):

ii+=1

new_name = os.path.join(os.path.split(old_name)[0],str(ii) + 'snap_'+ os.path.split(old_name)[1])

print new_name

old_name = “D:\Bar\foo”

new_name= os.path.join(os.path.split(old_name)[0],”output_” + os.path.split(old_name)[1])

checkfile(0,new_name,old_name)

python大神给出的解决方案

虽然我不建议为此使用递归(Python的堆栈在大约1000个函数调用处最大),但是您只是缺少递归位的返回:

new_name= os.path.join(os.path.split(old_name)[0],”output_” + os.path.split(old_name)[1])

checkfile(0,new_name,old_n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值