Hello,

You try to pass a string as an argument to run_command, which will not work.
If you want to change the input, change that string only:
for m in maps:
    grass.run_command('r.in.gdal', input=m, output=m)

or, as in your example:
grass.run_command('r.in.gdal', input=sys.argv[5], output='your_map')

For command line parsing, I recommend using GRASS parser or argparse.
For string formatting, use .format() instead of %, which is deprecated.
(https://docs.python.org/2/library/stdtypes.html#str.format)

Laurent

2016-08-11 15:04 GMT-05:00 alassane toure <atou...@gmail.com>:
> Group,
> I am running a grass-python script but when i replace a variable argument
> within the command the script does not work....
>
> The following works...
> grass.run_command('r.in.gdal',
> input='/home/alassane/Data/SanbornCD/tile/newconstr_mask.tif',
> output='construction')
>
> But not this...
> command="'r.in.gdal', input='"+sys.argv[5]+"', output='construction'"
> print 'r.in.gdal command argument... = %s\n ' % command
> grass.run_command(command)
>
> print 'r.in.gdal command argument... = %s\n ' % command
> r.in.gdal command argument... = 'r.in.gdal',
> input='/home/alassane/Data/SanbornCD/tile/newconstr_mask.tif',
> output='construction'
>
>
> The following also works...
> command ="/home/alassane/Programs/gdal/demclass1"+" "+infile1+" "+infile2+"
> "+sys.argv[3]+" "+outfile
> os.system(command)
>
> Your help is appreciated.
>
> Regards,
> Alassane
>
>
> _______________________________________________
> grass-user mailing list
> grass-user@lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to