我无法使用搜索选项解决此问题,所以我的问题是: 我有一个脚本可以完成这项工作,但仅限于一个文件。只是为了解释这里发生了什么:
import sys
sys.path.append('C:\Program Files\FME\fmeobjects\python27')
import fmeobjects
runner = fmeobjects.FMEWorkspaceRunner()
workspace = 'C:\FME\Project_1.fmw'
parameters = {}
parameters['SourceDataset_ACAD'] ='C:\AutoCAD\Project_1.dwg'
parameters['DestDataset_OGCKML'] ='C:\Maps_KMZ\Project_1.kmz'
runner.runWithParameters(workspace, parameters)
try:
# Run Workspace with parameters set in above directory
runner.runWithParameters(workspace, parameters)
# or use promptRun to prompt for published parameters
#runner.promptRun(workspace)
except fmeobjects.FMEException as ex:
# Print out FME Exception if workspace failed
print ex.message
else:
#Tell user the workspace ran
print('The Workspace is ran successfully'.format(workspace))
runner = None
此脚本执行FMW文件,该文件从AutoCAD DWG(C:\ AutoCAD)转换为KMZ文件并将其存储在C:\ Maps_KMZ文件夹中。现在,我需要为同一源文件夹中的大约20个FME文件做同样的事情。 是否有可能在当时执行每个文件并在两次执行之间添加特定的时间框架,让它们之间有2分钟的暂停,因为我无法同时运行2次或更多次转换,这会使Windows崩溃。
非常感谢你的帮助!
答案 0 :(得分:0)
我建议您修改脚本以使用命令行参数。您可以直接使用sys.argv
获取非常简单的界面,也可以使用parseargs
模块获取更复杂的选项。
您可以编写接口以接受单个文件名或目录名。要遍历目录的文件,请查看os.walk()
。