遍历文件夹树并将 xmp 数据添加到文件夹中的文件,然后移动
Iterate over a folder tree and add xmp data to files in folders then move
我正在尝试 运行 将 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`
我遇到了一些困难,如有任何帮助,我们将不胜感激。
谢谢!
您必须使函数递归:处理目录中的所有文件,并针对找到的每个文件夹再次调用您的函数,并以该文件夹作为参数。
您还必须调整移动函数中的路径,因为它们会随着每次函数调用而改变。
我正在尝试 运行 将 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`
我遇到了一些困难,如有任何帮助,我们将不胜感激。
谢谢!
您必须使函数递归:处理目录中的所有文件,并针对找到的每个文件夹再次调用您的函数,并以该文件夹作为参数。
您还必须调整移动函数中的路径,因为它们会随着每次函数调用而改变。