[英]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.