I am wanting to translate a list of files in a directory from one raster format to another by calling an FME workspace using the Python fmeobjects API.
import os
import sys
sys.path.append(r'C:\Program Files\FME\fmeobjects\python27')
import fmeobjects
workbench = r'D:\ESRIGrid2GeoTiff.fmw'
directory = r'D:\Test\A Folder'
raster_files = Âos.path.join(directory, raster) for raster in os.listdir(directory)
                if raster.endswith('.asc')]
parameters = {'SourceDataset': '\"' + '\" \"'.join(raster_files) + '\"',
              'DestinationFolder': directory,
              'InputCoordinateSystem': 'MGA94-54'}
fme_runner = fmeobjects.FMEWorkspaceRunner()
fme_runner.runWithParameters(workbench, parameters)
From the log file its seems the issue is that the FME reader splits the paths where there is a space in a folder/file name, even though each path should be enclosed in double quotation marks. I can run the workbench successfully from Python if I input a single file and through FME directly without any issues.
I am wanting to keep the script as flexible as possible so I'd prefer to avoid having users always ensure their directory paths do not contain any spaces.