尝试使用glob和os模块重命名文件

时间:2012-09-09 04:53:40

标签: python python-3.x

我正在尝试使用glob和os模块重命名一堆文件,但我没有得到任何结果。我找了一些解决方案,但没找到任何解决方案。 “当该文件已存在时,无法创建文件。”

如果我开始工作,我不知道如何重命名多个项目,比如我有三张名为img_1001,img_1002和img_1003的图片。我怎样才能将它们重命名为:picture_1,picture_2和picture_3。

这是我目前的代码。

import os
import glob

x = glob.glob(r"C:\Users\Verzo\Desktop\New folder\*.txt")

for filename in x:
    os.rename(filename, "Picture ")

2 个答案:

答案 0 :(得分:1)

    for filename in x:
        os.rename(filename, "Picture ")

脚本正在尝试将该列表中的每个文件重命名为Picture。正如您所发现的那样,这是行不通的。

以下代码未经测试。

    import os
    from glob import glob

    for number, filename in enumerate(glob(r"C:\Users\Verzo\Desktop\New folder\*.txt")):
        try:
            os.rename(filename, "Picture_{0}".format(number))
        except OSError as e:
            print("Something happened:", e)

答案 1 :(得分:0)

类似的东西(未经测试)

import os
import glob

x = glob.glob(r"C:\Users\Verzo\Desktop\New folder\*.txt")

for filename in x:
    name, num = filename.split('_')
    num = int(num)
    os.rename(filename, 'picture_%d' % num)