如何在python中使用pathlib重命名文件夹中的文件?



我需要帮助重命名。jpg文件在我的文件夹相同的前缀,'cat_'。例如,070.jpg应该重命名为cat_070.jpg。

文件位于Cat文件夹中:

from pathlib import Path
p = Path('C:\Users\me\Jupiter_Notebooks\Dataset\Train\Cat\')

所以我不太明白怎么做?下面的命令是错误的,因为它没有"查看"这个目录下的文件。

p.rename(Path(p.parent, 'cat_' + p.suffix))

我也没有成功地尝试这个:


import os
from os import rename
from os import listdir
# Get path 
cwd = "C:\Users\me\Jupiter_Notebooks\Dataset\Train\Cat"
# Get all files in dir
onlyfiles = [f for f in listdir(cwd) if isfile(join(cwd, f))]

for file in onlyfiles:
# Get the current format
if file[-4:]==(".jpg"):
s = file[1]  
# Change format and get new filename
s[1] = 'cat'
s = '_'.join(s)
# Rename file
os.rename(file, s)
print(f"Renamed {file} to {s}")

FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\Users\me\Jupiter_Notebooks\Dataset\Train\Cat\'

我该怎么做?对不起,我真是个新手。

如何:

from pathlib import Path
img_dir = Path('C:\Users\me\Jupiter_Notebooks\Dataset\Train\Cat\')  # path to folder with images
for img_path in img_dir.glob('*.jpg'):  # iterate over all .jpg images in img_dir
new_name = f'cat_{img_path.stem}{img_path.suffix}'  # or directly: f'cat_{img_path.name}'
img_path.rename(img_dir / new_name)
print(f'Renamed `{img_path.name}` to `{new_name}`')

pathlib还支持重命名文件,因此这里甚至不需要os模块。

使用pathlib。路径。Iterdir()重命名目录

中的所有文件
1) for path in pathlib. Path("a_directory"). iterdir():
2) if path. is_file():
3) old_name = path. stem. original filename.
4) old_extension = path. suffix. original file extension.
5) directory = path. parent. ...
6) new_name = "text" + old_name + old_extension.
7) path. rename(pathlib.

相关内容

最新更新