WEB开发网
开发学院软件开发Python 一个用于 Python 的 CMIS API 库,第 2 部分: 使用... 阅读

一个用于 Python 的 CMIS API 库,第 2 部分: 使用 Python 和 cmislib 构建真正的 ECM 工具

 2010-05-05 00:00:00 来源:WEB开发网   
核心提示: 步骤 3:实现基本的 xcopy 逻辑在这个步骤中,您将遍历源文件系统树,一个用于 Python 的 CMIS API 库,第 2 部分: 使用 Python 和 cmislib 构建真正的 ECM 工具(8),您将寻找需要复制的文件,在目标文件系统中创建任何必要的子目录,您也可以轻松地将它们调

步骤 3:实现基本的 xcopy 逻辑

在这个步骤中,您将遍历源文件系统树。您将寻找需要复制的文件,在目标文件系统中创建任何必要的子目录,以便复制后的层次结构能够匹配。要遍历源目录结构,需要使用 Python 模块 os 中的 walk() 方法。这将为源文件系统树中的每个目录返回一个 “三元组”(dirname、dirs 和 files),您将使用这个三元组来供给您的 processDirectory 方法(参见 下载 中的完整清单)。然后,processDirectory() 函数继续创建目标目录(如果还不存在)并传递到 copyFilesToCmis() 方法,以将这些文件实际复制到新创建的目标文件夹中。这个方法将迭代接收到的每个文件,过滤出没有请求的文件,并获取 .jpg 文件的 Exif 数据。我们还将在稍后讨论元数据时深入介绍 copyFilesToCmis() 方法。

步骤 4:读取 Exif 数据

对于遇到的每个类型为 JPG 的文件,您需要提取所有的 Exif 值,以便它们可以保留在目标对象中。因此,当您需要读取 JPG 头部(Exif)数据时,有很多方法可以解决这个问题。这里我不想自己编写一个方法,因为已经有几个现成的库。我选择使用 exif-py,因为它以一种非常常见的方式返回标记:一个 “键/值” 对字典,其中所有的值都是字符串。我认为,如果您想在这里使用一些更 “洋气”(或更自定义)的库来替换 exif-py,您可以轻易做到这一点,因为我料想大多数库都使用一个字典来表示属性集合,即便不是,您也可以轻松地将它们调整为这样做。完成这个任务的实际代码非常简单,如 清单 5 所示。

清单 5. 从一个 JPG 文件读取 Exif 数据

import EXIF 
def getExifTagsForFile(filename): 
  f = open(filename, 'rb') 
  tags = EXIF.process_file(f) 
  return tags 

上一页  3 4 5 6 7 8 9 10  下一页

Tags:一个 用于 Python

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接