【发布时间】:2020-10-04 17:42:24
【问题描述】:
我有两个目录:资产和元数据。 assets 目录有一堆视频文件,而 metadata 目录有一堆现有的 xml 文件。
我想计算校验和并获取所有资产的文件大小,并将它们放入与其匹配的元数据中。这些字段已经存在,但为空。
我正在使用元素树进行解析,并且已经能够获取文件大小和校验和,但我不确定如何将它们放入正确的元数据中。视频文件使用一个 ID 命名,该 ID 也存在于元数据中,并且已经分配给变量“id”,所以我想我可以像这样关联它们:
for file in glob.glob("*.mov"):
if file == (id + '.mov'):
video_filename = file
elif video_filename != (id + '.mov'):
print(id, 'There is no video file associated with that ID!!!')
当我运行脚本时,它首先看到了其他文件之一,我得到了上面的 else if 条件。
如何检查我有正确的 xml 视频文件以及数据是否进入正确的 xml 文件?
【问题讨论】:
-
如果您正在寻找名称与
(id + '.mov')匹配的文件,那么您正在寻找具有特定名称的文件,对吧?那么,当您可以直接按名称引用一个文件时,为什么要遍历目录中的所有文件呢? -
因为我有多个 .xml 和多个 .mov。我希望能够运行一次脚本并处理目录中的所有文件。
-
那你需要不同的逻辑。您应该从文件名中提取
id。您不必为每个id浏览目录中的所有文件。但你可以这样做。如果其中一个文件匹配,那么您的代码将照常工作。因此,如果文件名不匹配,则不要执行任何操作...只需删除您的elif案例(顺便说一句,可能只是else:。
标签: python elementtree