将文件重命名为自定义名称时遇到问题

Trouble renaming files to customized names

无法重命名位于桌面文件夹中的旧文件。那里有三个文件 item.pdfitem1.pdfitem2.pdf。我现在想做的是将这些文件重命名为 new_item.pdfnew_item1.pdfnew_item2.pdf.

我尝试使用以下脚本:

import os

filepath = "/Users/WCS/Desktop/all_files/"

for item in os.listdir(filepath):
    os.rename(item,"new_name"+".pdf")

执行上述脚本会抛出以下错误。而文件夹地址是准确的:

FileNotFoundError: [WinError 2] The system cannot find the file specified: 'item.pdf' -> 'new_name.pdf'

如何将item.pdfitem1.pdfitem2.pdf这三个文件重命名为new_item.pdfnew_item1.pdfnew_item2.pdf 来自文件夹?

试试这个:

import os
import re

filepath = "/Users/WCS/Desktop/all_files/"

for item in os.listdir(filepath):
    match = re.search(r'\d+$', item)
    endnum = ""
    if match:
      endnum = match.group()
    os.rename(os.path.join(filepath, item), os.path.join(filepath, "new_name{}.pdf".format(endnum)))

或者,如果您不想使用 re

import os

filepath = "/Users/WCS/Desktop/all_files/"

for item in os.listdir(filepath):
    new_name = item.replace('item', 'new_item')
    os.rename(os.path.join(filepath, item), os.path.join(filepath, "new_name{}.pdf".format(new_name)))

您需要在 os.rename 中指定文件的完整路径。

类似于:

for item in filepath:
    os.rename(os.path.join(filepath, item), os.path.join(filepath, "new_item.pdf"))

或者将您当前的工作目录更改为文件所在的目录:

os.chdir("/your/file/path")

然后 运行 你的代码。

另见 https://docs.python.org/2/library/os.html#os.rename