在这种情况下如何重命名多个文件 .jpg?

How to rename multiple files in this case .jpg?

我正在尝试将几个“.jpg”的文件名更改为自定义名称后跟数字。所以它看起来像这样:Name1.jpg; Name2.jpg; Name3.jpg

它没有将当前名称更改为新名称的问题。目录是正确的。

图片:https://imgur.com/a/qBgQOga

教程来源:https://www.geeksforgeeks.org/rename-multiple-files-using-python/

我在 Windows 10 64 位

上使用 Python3

我以四种不同的方式尝试了 dir

1. os.listdir('C:/Users/Inty/Desktop/test'):
2. os.listdir('C://Users//Inty//Desktop//test'):
3. os.listdir('C:\Users\Inty\Desktop\test'):
4. os.listdir('C:\Users\Inty\Desktop\test'):
5. os.listdir('C:/Users/Inty/Desktop/test/'):

也玩过dst = '.jpg' to '.JPG',不过好像没什么区别。

# Imports
import os


# Functions
def main():
    i = 0

    for filename in os.listdir('C:/Users/Inty/Desktop/test'):
        dst = 'Name' + str(i) + '.JPG'
        src = 'C:/Users/Inty/Desktop/test' + filename
        dst = 'C:/Users/Inty/Desktop/test' + dst

        os.rename(src, dst)
        i += 1

    if __name__ == '__main__':
        main()


Process finished with exit code 0

你少了一个斜杠。也许你想要:

src = 'C:/Users/Inty/Desktop/test/' + filename
dst = 'C:/Users/Inty/Desktop/test/' + dst

更好的方法是使用 os.path.join:

src = os.path.join('C:/Users/Inty/Desktop/test', filename)

已解决

我稍微修改了代码。主要原因是因为我在 for 循环中有 if __name__ == '__main__':

这使得 if 在函数内部。

import os

# Functions

PATH = 'C:\Users\Inty\Desktop\test'


def main():
    i = 0

    for filename in os.listdir(PATH):
        dst = 'Name' + str(i) + '.JPG'
        src = os.path.join(PATH, filename)
        dst = os.path.join(PATH, dst)

        os.rename(src, dst)
        i += 1

if __name__ == '__main__':
    main()