如何使用Python基于现有的名称数组重命名目录中的文件

时间:2017-11-17 22:02:37

标签: python

我在文件夹中有一些视频文件(E://数据/视频),虚拟名称为

vid-dummyName.mp4
vid-dummyName (1).mp4
vid-dummyName (2).mp4
vid-dummyName (3).mp4
vid-dummyName (4).mp4
vid-dummyName (5).mp4

请告诉我如何使用Python根据

等现有数组重命名它们
import os

path = 'E:/Data/Video'
files = os.listdir(path)
i = 1

names=['Not Dummy Video','Another Not Dummy Video','May be Dummy','Still Thinking','Give it a Name','Tomorrow']

for file in files:
    os.rename(os.path.join(path, file), os.path.join(path, str(i)+'.mp4'))

2 个答案:

答案 0 :(得分:0)

如果您需要在2个或更多列表之间进行1-1对应,zip将是实现此目的的方法。

a = [1, 2, 3]
b = ['a', 'b', 'c']

for i, j in zip(a, b):
 print(i, j)

1 a
2 b
3 c

对于您的示例,您需要同时zip filesnames,以便将files[i]重命名为names[i] {1}}。

i

您还可以使用for i, j in zip(files, names): os.rename(os.path.join(path, i), os.path.join(path, '{}.mp4'.format(j))) 跟踪enumerate中文件名的索引,并在迭代时将这些索引提供给os.listdir列表:

names

答案 1 :(得分:0)

import os
path = "E:/Data/Video"
files = os.listdir(path)
saved_path = os.getcwd()
for file_ in files:
  os.rename(file_, file_+".mp4")