簡體   English   中英

使用python列表中的名稱重命名文件

[英]Rename files with names from a list in python

我有一堆進入python的文件:

def list_files(path):
    # returns a list of names (with extension, without full path) of all files 
    # in folder path
    files = []
    for name in os.listdir(path):
        if os.path.isfile(os.path.join(path, name)):
            files.append(name)
    return files 

images = list_files('.')

>>> images
['file1.jpg', 'file2.jpg', 'file3.jpg']

我也有類似的清單:

>>> b
['ren', 'sans', 'ren']

我不想重命名圖像並將相應的字符串附加在b中,因此得到:

文件1,ren.jpg
文件2,sans.jpg
文件3-ren.jpg

for imgs in images :
    os.rename(imgs,''.join(imgs + b for f in b))

TypeError: cannot concatenate 'str' and 'numpy.ndarray' objects

我在想這個好嗎? 謝謝

這個想法更像是:

for img, extra in zip(images, b) :
    os.rename(img, ''.join([img, '-', extra, '.jpg'])

但是,這意味着您已經從img中刪除了擴展名。

如果不是,則:

for img, extra in zip(images, b) :
    filename, extension = os.path.splitext(img)
    os.rename(img, ''.join([filename, '-', extra, extension])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM