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

2024-09-29 17:13:59 发布

您现在位置:Python中文网/ 问答频道 /正文

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

问题是它不会将当前名称更改为新名称。目录是正确的。你知道吗

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

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

我在Windows1064位上使用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

Tags: httpstestsrc名称osmainfilenameusers
2条回答

你少了一条斜线。也许你想要:

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()

相关问题 更多 >

    热门问题