gpt4 book ai didi

python - 遍历文件夹树并将 xmp 数据添加到文件夹中的文件,然后移动

转载 作者:行者123 更新时间:2023-12-01 02:07:49 30 4
gpt4 key购买 nike

我正在尝试在将 xmp 数据嵌入到图像中的文件夹上运行 python 脚本,修改文件名正则表达式,然后移动文件。

它工作正常,直到您在目录中放置另一个文件夹,我希望能够查看内部并对其中的图像执行相同的操作。

for fileName in os.listdir(xmpDir):
if not fileName.startswith('.'):
print (fileName)
pid = re.findall(r'(_ID\d+_)', fileName)
pid2 = str(pid)
bid = re.sub(r'\D', '', pid2)
bid2 = int(bid)
newFileName = re.sub(r'(_ID\d+_)', '', fileName)

xmpfile = XMPFiles( file_path=fileName, open_forupdate=True )
xmp = xmpfile.get_xmp()
xmp.set_property(consts.XMP_NS_DC, u'ID', bid )
xmpfile.put_xmp(xmp)
xmpfile.close_file()
shutil.move(xmpDir + fileName, newPath1 + newFileName)
finder_colors.set(newPath1 + newFileName, 'purple')

我尝试过 os walk 但它给了我一个错误,我试图在文件夹上查找正则表达式。

`DIR
|
+--- [subdir]
| |
| +--- image1.jpg
| +--- image2.jpg
|
+--- [subdir]
| |
| +--- image3.jpg
| +--- image4.jpg
+--- image5.jpg
+--- image6.jpg`

移至

`new dir with xmp
|
+--- [subdir]
| |
| +--- image1.jpg
| +--- image2.jpg
|
+--- [subdir]
| |
| +--- image3.jpg
| +--- image4.jpg
+--- image5.jpg
+--- image6.jpg`

我遇到了一些困难,任何帮助将不胜感激。

谢谢!

最佳答案

您必须使您的函数递归:处理目录中的所有文件,并针对您找到的每个文件夹,使用该文件夹作为参数再次调用您的函数。

您还必须调整移动函数中的路径,因为它们会随着每次函数调用而改变。

关于python - 遍历文件夹树并将 xmp 数据添加到文件夹中的文件,然后移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48895057/

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