我该如何重命名文件夹中的多个文件,这些文件按数字顺序排列,我有一个文本文件,其名称也要按顺序重命名。
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)
错误目标应该是字符串
答案 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)