利用FME PythonCaller调用7z解压压缩包
一、概述
在一些项目中有时候需要对文件目录完整性进行检查,而需要检查的数据又是压缩包的形式。我们都知道FME可以直接读取压缩包里的文件,当通过FME FeatureReader转换器去读取路径时,发现压缩包里面的空文件夹读取不出来,就想着去解压,但又不想去解压多个压缩文件,就想通过FME在模板中调用系统命令实现批量解压缩。然后就各种查找网上的资源来实现,比较悲哀的是,我使用的2021(beta21816)版本一直无法实现且不报错(其他版本可以实现Systemcaller)。最后采用PythonCaller调用本地的7z解压缩软件实现批处理的操作。
二、总体思路
利用FME强大的数据转换功能,借助不同转换器之间的紧密衔接和优化配合,达到将文件夹下不同路径的压缩包批量解压缩的操作,并且提供给模板解压缩后的调用路径。
此次是在FME PythonCaller中调用的os命令,主要实现代码(需要本机安装有7z解压缩软件)如下:
<