g.findfile
Searches for GRASS data base files and sets variables for the shell.
g.findfile [-nl] element=string file=string [mapset=string] [--verbose] [--quiet] [--qq] [--ui]
Example:
g.findfile element=string file=string
grass.script.run_command("g.findfile", element, file, mapset=None, flags=None, verbose=False, quiet=False, superquiet=False)
Example:
gs.run_command("g.findfile", element="string", file="string")
Parameters
element=string [required]
Name of an element
file=string [required]
Name of an existing map
mapset=string
Name of a mapset (default: search path)
'.' for current mapset
-n
Do not add quotes
-l
List available elements and exit
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--qq
Very quiet module output
--ui
Force launching GUI dialog
element : str, required
Name of an element
file : str, required
Name of an existing map
mapset : str, optional
Name of a mapset (default: search path)
'.' for current mapset
flags : str, optional
Allowed values: n, l
n
Do not add quotes
l
List available elements and exit
verbose: bool, optional
Verbose module output
Default: False
quiet: bool, optional
Quiet module output
Default: False
superquiet: bool, optional
Very quiet module output
Default: False
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`
EXAMPLES
SHELL
Raster map example:
eval `g.findfile element=cell file=elevation`
If the specified file (here: raster map) 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 1
fi
Vector map example (including error message):
eval `g.findfile element=vector file="$G_OPT_V_INPUT"`
if [ ! "$file" ] ; then
g.message -e "Vector map <$G_OPT_V_INPUT> not found"
exit 1
fi
PYTHON
See Python Scripting Library for more info.
Note: The Python tab in the wxGUI can be used for entering the following code:
import grass.script as gs
gs.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
SOURCE CODE
Available at: g.findfile source code
(history)
Latest change: Wednesday Feb 12 13:18:24 2025 in commit b624fc2