我有一个目录,其中包含大量的图像,同时,我有一个.txt
文件,其中包含的名称,如下面的格式。我想改变名称的图像基于文本文件的标题。有100个名称和100个图像在一个文件夹中。
在文本文件中
Flower Blue
Flower Red
Flower Black
Flower orange
在文件夹内
001.mp4
002.mp4
003.mp4
004.mp4
代码以下代码不更改名称
import os
import shutil
dirpath = "/media/cvpr/CM_22/inst_you/vidoes"
for file in os.listdir(dirpath):
with open('/media/cvpr/CM_22/inst_you/vidoes_name') as f:
lines = [line.rstrip('\n') for line in f]
print(file)
newfile = os.path.join(dirpath, file.split("_", 1)[1])
print(newfile)
os.rename(os.path.join(dirpath, file), newfile)
2条答案
按热度按时间64jmpszr1#
假设
input.txt
包含新的文件名,并且它们是对应文件001.mp4、002.mp4等的名称,那么使用Python中已经提供的pathlib
模块会更简单:vmdwslir2#
我认为你应该把for放在with里面,并且每次使用***zip***生成一个新文件名和一个旧文件名。它应该是这样的: