DESCRIPTION

g.findfile is designed for Bourne shell or Python scripts that need to search for mapset elements, including: raster, vector maps, region definitions and imagery groups.

The list of element names to search for is not fixed; any subdirectory of the mapset directory is a valid element name.

However, the user can find the list of standard GRASS element names in the file $GISBASE/etc/element_list. This is the file which g.remove, g.rename and g.copy use to determine which files need to be deleted/renamed/copied for a given entity type.

NOTES

g.findfile writes four lines to standard output:
name='file_name'
mapset='mapset_name'
file='unix_filename'
fullname='grass_fullname'
The output is Bash commands to set the variable name to the GRASS data base file name, mapset to the mapset in which the file resides, and file to the full UNIX path name for the named file. These variables may be set in the Bash as follows:
eval `g.findfile element=name mapset=name file=name`

For example (raster map):

eval `g.findfile element=cell file=elevation`
If the specified file does not exist, the variables will be set as follows:
name=
mapset=
fullname=
file=
The following is a way to test for this case:
if [ ! "$file" ]
then
	exit
fi

PYTHON

See Python Scripting Library for more info.
import grass.script as grass
    
grass.find_file('elevation', element = 'cell')

SEE ALSO

g.filename, g.gisenv, g.mapsets, g.parser

AUTHOR

Michael Shapiro, U.S.Army Construction Engineering Research Laboratory

Last changed: $Date$