python重复字符串重命名_Python重命名重复项

这看起来很简单。从文件名列表开始:l = ["hello1","hello2","hello3",

"hello","hello","hello"]

然后迭代这些文件名,如果找到重复的文件名,则后面的数字递增1。在

^{pr2}$

这会给你留下一本字典,比如:{"hello1": "hello1",

"hello2": "hello2",

"hello3": "hello3",

"hello": "hello",

"hello4": "hello",

"hello5": "hello"}

当然,如果您不关心将原始名称映射到重复名称,您可以删除该部分。在result = set()

for fname in l:

orig = fname

i=1

while fname in result:

fname = orig + str(i)

i += 1

result.add(fname)

如果你以后想要一张单子,那就把它投下去。在final = list(result)

请注意,如果您要创建文件,这正是tempfile模块的设计目的。在import tempfile

l = ["hello1","hello2","hello3",

"hello","hello","hello"]

fs = [tempfile.NamedTemporaryFile(prefix=fname, delete=False, dir="/some/directory/") for fname in l]

这不会创建很好地递增的文件名,但保证它们是唯一的,fs将是(打开)文件对象的列表,而不是名称列表,尽管{}将为您提供文件名。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值