0

我无法使用搜索选项很好地解决这个问题,所以我的问题是:我有一个脚本可以完成这项工作,但仅适用于一个文件。只是为了解释这里发生了什么:

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

此脚本执行从 AutoCAD DWG (C:\AutoCAD) 转换为 KMZ 文件的 FMW 文件,并将其存储在 C:\Maps_KMZ 文件夹中。现在,我需要对同一源文件夹中的大约 20 个 FME 文件执行相同的操作。是否可以同时执行每个文件并在两次执行之间添加特定的时间范围,比如说它们之间的 2 分钟暂停,因为我不能同时运行 2 个或更多转换,它会使 Windows 崩溃。

非常感谢您的帮助!

4

1 回答 1

0

我建议您修改脚本以使用命令行参数。您可以sys.argv直接将其用于非常简单的界面,也可以将parseargs模块用于更复杂的选项。

您可以编写接口以接受单个文件名或目录名。要遍历目录的文件,请查看os.walk().

于 2017-12-11T18:38:27.737 回答