在Python中重命名文件[重复]

tcbh2hod  于 2022-12-17  发布在  Python
关注(0)|答案(1)|浏览(135)

此问题在此处已有答案

Python raising FileNotFoundError for file name returned by os.listdir(3个答案)
4分钟前关门了。
我试图重命名文件夹中的文件,但我不能。这是我的代码:

import os

directory = r"C:\Users\jhonatta-silva\Downloads"

for file in os.listdir(directory):
    if file.startswith("PBI"):
        os.rename(file, file.strip("0123456789 "))

我收到了这样的错误:

[WinError 2] The system cannot find the file specified: 'PBIItemsResults132.csv' -> 'PBIItemsResults132.csv'
qoefvg9y

qoefvg9y1#

您必须将目录添加到os.rename()调用中的名称中。

import os

directory = r"C:\Users\jhonatta-silva\Downloads"

for file in os.listdir(directory):
    if file.startswith("PBI"):
        os.rename(os.path.join(directory, file), os.path.join(file.strip("0123456789 ")))

可以使用glob.glob()来处理以该前缀开头的文件,而不是先使用os.listdir()再使用file.startswith()。当参数是完整路径时,glob.glob()返回完整路径。

import os, glob

directory = r"C:\Users\jhonatta-silva\Downloads"

for file in glob.glob(os.path.join(directory, "PBI*")):
    os.rename(file, file.rstrip("0123456789 "))

相关问题