I'm using this this bit of code to execute a FME Workbench file through a Python script ...
import os
os.system("fme.exe P:\\Mapping\\Scripts\\FME\\Easements_ROW_Extract_From_CAD.fmw")
However, when I try using it as an ArcGIS script tool, ArcGIS tries to execute it using the Data Interop's fme.exe. I only have the stand alone version of FME. I tried using the full path to the fme.exe i'm trying to use, but that's not working ( the script runs without error, but nothing is produced). Any ideas on how to get this script to work, using the stand alone version of FME, as an ArcGIS script tool?
2 Answers 2
Not sure why the full path isn't working, unless you aren't escaping backslashes maybe? I would think the full path should work just fine. Maybe post that code as well. Another option would be to setup the path to fme.exe as an Environmental Variable, so add the path, something like C:\Program Files\FME\path\to\fme.exe
as a environmental variable.
-
Using this ... "C:\\Program Files\\FME\\fme.exe P:\\Mapping\\Scripts\\FME\\Easements_ROW_Extract_From_CAD.fmw"dchaboya– dchaboya2012年12月10日 17:14:58 +00:00Commented Dec 10, 2012 at 17:14
-
See this as well: gis.stackexchange.com/a/19141/65Chad Cooper– Chad Cooper2012年12月10日 18:25:27 +00:00Commented Dec 10, 2012 at 18:25
This worked for me. Apparently the os.system module is being replaced by the subprocess module. Here is the documentation.
import subprocess
subprocess.Popen(['C:\\Program Files\\FME\\fme.exe', 'P:\\Mapping\\Scripts\\FME\\Easements_ROW_Extract_From_CAD.fmw'])
This now works within an ArcGIS script tool.