通过更改文件名前面的前缀,重命名文件夹中的文件,从而减少了文件夹中文件的数量

用户名

我已经下载了一些文件,并使用数字作为前缀命名它们,以按顺序排列它们(是视频):

_01_filename
_02_filename
_10_filename
_100_filename
_101_filename
....
_20_filename

如您在上面的示例中看到的,100紧随10之后而不是99之后

所以,我想读它们,并将它们重命名为001020在这种情况下。

实际检查文件数,然后根据文件数确定零个数(在前面)

因此,我正在考虑创建一个包含要扫描的文件夹的列表:

[folder1, folder2, folder3,...]

并获取文件总数。

不,我必须保持其先前的顺序,而不要弄乱顺序。按名称排序不是一种选择,因为10后我会得到100

Maunil Shah |
import os
import re

filenames = os.listdir()


def rename(old_filename,new_filename):
    old_path = os.path.join(os.getcwd(), old_filename)
    new_path = os.path.join(os.getcwd(), new_filename)
    try:
        os.rename(old_path, new_path)
        return True
    except:
        return False

for file in filenames:
    #removing underscores if any in starting of name
    if file[0] == '_':
        length = len(file)
        newfilename = file[1:length]
        #finding integers in string (finidng in starting four letters only)
        digit = re.findall('\d+',newfilename[0:3])
        #formatting numbers with prefix zero
        y = digit[0]
        newdigit = '{:03}'.format(int(y))

        newfiletemp = newfilename.lstrip(y)

        newfile = newdigit + newfiletemp

        rename(file,newfile)

截图之前

截图后

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何重命名文件夹中的文件名?

重命名文件夹中的文件名

从文件名重命名文件夹 [脚本]

重命名文件夹中的文件

重命名文件夹中的文件

尝试重命名文件夹中的文件(基于文件名中的字符串)

重命名文件夹中的文件,忽略当前文件名

无法重命名文件,文件夹名称与Ubuntu 13.10中的文件名冲突

通过日期python重命名文件夹中的文件

python:通过子文件夹名称重命名子文件夹中的文件

通过解析文件夹中的 XML 文件重命名文件夹

重命名多个文件夹中的多个文件名

雷鸟更改Maildir文件夹中的文件名

通过更改顺序重命名文件夹

批处理文件以从 CSV 读取文件名并重命名文件夹中的文件

在文件夹中文件名的开头添加序号

如何重命名(通过添加前缀)从当前文件夹开始的所有文件和文件夹?

在Python中重命名文件夹

bat文件更改文件夹中文件的日期时间,今天的日期时间从文本列表中读取文件名

重命名文件夹中的所有文件也重命名子文件夹

重命名提取文件的文件夹

重命名文件目录文件夹

更改文件夹中文件的路径

重命名文件夹中的文件名时,通配符不适用于重命名

通过 API 重命名 Google Drive 中的文件夹

重命名文件夹中的所有文件以在 Unix/Mac 上的文件名中包含校验和

通过文件夹名称重命名文件

通过子文件夹顺序重命名文件 - .bat

C#代码从文件夹中的现有文件重命名具有今天日期的文件名