如何按照lis的顺序重命名文件夹中的多个文件

2024-10-03 02:43:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有几个文件夹,其中包含许多文件:

Folder
|---Folder1
|      |------File1, File2,...
|
|---Folder2
       |------File3, File4,...

我还有my_list = [rename1, rename2, rename3, rename4]

我试图完全按照my_list的顺序和名称重命名[File1, File2, File3, File4]

我试过这个:

list_of_dirs = [path_to_file1, path_to_file2, path_to_file3, path_to_file4]
my_list = [rename1, rename2, rename3, rename4]
for i in list_of_dirs:
    os.rename(i, 'path_to_saving_directory' + str(j for j in my_list))

但这会创建一个生成器对象,并包含与所需的[rename1, rename2, rename3, rename4]不匹配的文件


Tags: 文件oftopathmyfile1listfile2
2条回答

您可以使用内置函数

for i, j in zip(list_of_dirs, my_list):
    os.rename(i, j)

您正在尝试迭代两个列表

以下是一个相当标准的模式。您可能希望使用os.rename still来实际重命名文件,而不是打印

>>> list_of_paths = ['path1', 'path2', 'path3', 'path4']
>>> new_names = ['rename1', 'rename2', 'rename3', 'rename4']
>>> 
>>> 
>>> for original_path, new_name in zip(list_of_paths, new_names):
...   print(f"need to rename file at {original_path} to {new_name}")
... 
need to rename file at path1 to rename1
need to rename file at path2 to rename2
need to rename file at path3 to rename3
need to rename file at path4 to rename4
>>> 

相关问题 更多 >