gpt4 book ai didi

python - 使用文件夹名称重命名文件夹中的所有图像

转载 作者:行者123 更新时间:2023-11-30 22:12:49 27 4
gpt4 key购买 nike

我有很多文件夹。每个文件夹中都有一个图像。我想用其文件夹的名称重命名所有图像。

例如:文件夹“1”有一个图像“273.jpg”,我想将其更改为“1.jpg”并将其保存在另一个目录中。

这是我到目前为止所做的:

import os
import pathlib

root = "Q:/1_Projekte/2980/"

for path, subdirs, files in os.walk(root):
for name in files:
print (pathlib.PurePath(path, name))
os.rename(os.path.join(path, name), os.path.join(path, os.path.basename(path)))
print(os.path.basename(path))

问题是它仅适用于第一个文件夹,然后它会跳出错误:

此文件已可用...

文件夹树和图像如下:

问:/1_Projekte/2980/1/43425.jpg

问:/1_Projekte/2980/2/43465.jpg

问:/1_Projekte/2980/3/43483.jpg

问:/1_Projekte/2980/4/43499.jpg

所以每个目录下只有一个文件!

最佳答案

这些目录中可能有一些隐藏文件。一探究竟。如果这些文件不是 jpg,您可以使用以下代码:

for path, subdirs, files in os.walk(root):
for name in files:
extension = name.split(".")[-1].lower()
if extension != "jpg":
continue
os.rename(os.path.join(path, name), os.path.join(path, os.path.basename(path) + "." + extension))
print(os.path.basename(path))

此代码提取文件的扩展名并检查它是否等于jpg。如果文件扩展名不是jpg,那么将运行 continue 语句并检查下一个文件。如果文件类型是jpg,脚本会重命名它。此代码还将原始文件扩展名添加到新名称中。以前的代码没有处理这个问题。我希望这对您有帮助。

关于python - 使用文件夹名称重命名文件夹中的所有图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50965902/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com