使用 python 重命名多个子文件夹中的多个文件

Rename multiple files in multiple sub folders using python

这里是初学者 python 编码员。

这几天一直在为这个问题苦苦挣扎,终于放弃并寻求帮助。

说明的问题:

All Student folders:
Student a: 
    Work.pdf
    Work2.pdf
Student b:
    Work.pdf
    Work2.pdf 

文件夹 Student astudent b 各包含两个文件。 我需要将这些文件重命名为 homework1.pdf 和 homework2.pdf

当然在现实生活中我有两个以上的文件夹。 我认为使用 os.rename() 的 for 循环会起作用,但我无法让它更改多个文件。

这是我试过的

import os

# assign directory
directory = 'all Student folders'

# iterate over files 

for root, dirs, files in os.walk(directory):
  for filename in files:
    if filename =='work.pdf':
      os.rename('work.pdf', homework1.pdf')
 

非常感谢...

您需要在文件所在的目录中使用该文件。

import os

# assign directory
directory = "all Student folders"

# iterate over files

for root, _, files in os.walk(directory):
    for file_name in files:
        if file_name == "Work.pdf":
            os.rename(f"{root}/{file_name}", f"{root}/homework1.pdf")
        else:
            new_name = file_name.replace(f"Work", "homework")
            os.rename(f"{root}/{file_name}", f"{root}/{new_name}")