使用python重命名文件夹中的多个文件以及文本文件中的新名称列表

时间:2019-06-15 20:17:49

标签: python

我该如何重命名文件夹中的多个文件,这些文件按数字顺序排列,我有一个文本文件,其名称也要按顺序重命名。

import os
os.chdir('C:\\Users\\xyz\\Desktop\\abc')
with open('new_names') as f:
    new_list = f.read()
    for file in os.listdir():
    src = file
    dst = new_list
    os.rename(src, dst)
  

错误目标应该是字符串

2 个答案:

答案 0 :(得分:0)

在代码中,您将文件类型作为目标传递,而您需要为新目标提供字符串类型。

请找到以下代码段供您参考。

import os
with open('new_names') as f:           
    new_list = f.read().split()  // read file and split dest names
    i=0                          // for assigning specific dest name in os.rename command
    for file in os.listdir('/temp/'):
        src = file
        dst = new_list[i]
        os.rename('/temp/'+src, '/temp/'+dst)
        i+=1

答案 1 :(得分:0)

您可以使用zip遍历文件夹的内容和新文件名列表:

import os
os.chdir('C:\\Users\\xyz\\Desktop\\abc')
with open('new_names', 'r') as f:
    for src, dst in zip(os.listdir(), f):
        os.rename(src, dst)