Python 重命名文件(计数时)

Python 重命名文件(计数时),python,rename,Python,Rename,我目前正试图编写一个python脚本来重命名一堆文件。文件的名称如下:[Name][Number]-[Number]。举一个具体的例子:milk-00-00。下一个文件是milk-00-01,然后是02,03,直到X。之后,milk-01-00以相同的模式开始 我需要做的是将“milk”转换成一个数字,并将“-XX-XX”替换为“-01”、“02” 我希望你们能明白。我的代码的当前状态非常糟糕,但要达到这一程度已经够难了。看起来像这样,用这个我至少可以替换一些东西。在谷歌的帮助下,我还将设法摆脱

我目前正试图编写一个python脚本来重命名一堆文件。文件的名称如下:[Name][Number]-[Number]。举一个具体的例子:milk-00-00。下一个文件是milk-00-01,然后是02,03,直到X。之后,milk-01-00以相同的模式开始

我需要做的是将“milk”转换成一个数字,并将“-XX-XX”替换为“-01”、“02”

我希望你们能明白。我的代码的当前状态非常糟糕,但要达到这一程度已经够难了。看起来像这样,用这个我至少可以替换一些东西。在谷歌的帮助下,我还将设法摆脱“牛奶”。然而,如果有一个更简单的方法,我真的很感激在正确的方向推动

import os
import sys
path = 'C:/Users/milk/Desktop/asd'
i=00

for filename in os.listdir(path):
if filename.endswith('.tiff'):
    newname = filename.replace('00', 'i')
    os.rename(filename,newname)
    i=i+1

您可以使用
格式
功能

temp = (' ').join(filename.split('.')[:-1])
os.rename(filename, '10{}-{}.tiff'.format(temp.split('-')[-2],temp.split('-')[-1]))

由于
filename
具有
.tiff
扩展名,因此该程序首先创建一个不带扩展名的
filename
版本-
temp
,然后从中创建新名称

因此,您有一系列文件的名称,如“milk-01-03”,您希望将它们切换为一个不带字母数字部分的数字,即在本例中为“N”,其中N是X+1+3?嘿,谢谢您的回答!文件名为(抱歉,没有找到列表…)-milk-00-01-milk-00-02-milk-00-03-milk-01-01-milk-01-02很高兴,我只需要确认输出:)-所以你希望它们是'01','02','03','04','05',实际上我希望它们是例如'1000-01','1000-02','05'1002-01', '1002-02'... (例如,将“1000”-文件放入文件夹中重命名并不成问题!)所以“00-01”变成“1000-01”,而“01-01”变成“1002-01”?还是“1001-01”?嘿!到目前为止谢谢:)事实上我想保留tiff扩展。我将再次尝试澄清我的命名约定:因此我有milk-00-01.tiff,我需要1000-01.tiff。对于milk-00-02.tiff,我需要1000-02.tiff;对于milk-01-00.tiff,我需要1001-00.tiff。我希望这有帮助。尽管如此,我还是会尝试你建议的代码。谢谢:)@awake-这应该可以用了!:)i、 e.这个应该会产生您实际想要的结果(我假设
i
只是用于计数,并在我的答案中删除了它)。实际上,由于您的
文件名
有一个
tiff
扩展名,所以它会稍微长一点,请检查它。
temp = (' ').join(filename.split('.')[:-1])
os.rename(filename, '10{}-{}.tiff'.format(temp.split('-')[-2],temp.split('-')[-1]))