Difference between revisions of "Converting Bash scripts to Python"
Jump to navigation
Jump to search
(Created page with "This page contains note for users who convert their Bash script to Python. == User break == In Bash: <source lang=bash> # what to do in case of user break: exitprocedure() { ...") |
|||
(8 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
This page contains | This page contains some notes for the users who are converting their Bash script to [[GRASS and Python|Python]]. | ||
__TOC__ | |||
== User break == | == User break == | ||
Line 37: | Line 37: | ||
</source> | </source> | ||
[[Category: | == Discard warning/error messages == | ||
In Bash: | |||
<source lang=bash> | |||
g.remove rast='map' 2>/dev/null | |||
</source> | |||
In Python: | |||
<source lang=python> | |||
import os | |||
import grass.script as grass | |||
nuldev = file(os.devnull, 'w+') | |||
grass.run_command('g.remove', rast = 'map', stderr = nuldev) | |||
nuldev.close() | |||
</source> | |||
{{Python}} | |||
Note: In GRASS 6.5+ set | |||
export GRASS_MESSAGE_FORMAT=silent (in Bash) | |||
os.environ['GRASS_MESSAGE_FORMAT'] = 'silent' (in Python) | |||
[[Category:Scripting]] |
Latest revision as of 17:44, 2 February 2013
This page contains some notes for the users who are converting their Bash script to Python.
User break
In Bash:
# what to do in case of user break:
exitprocedure()
{
g.remove rast=$TMP1 > /dev/null
}
# shell check for user break (signal list: trap -l)
trap "exitprocedure" 2 3 15
In Python:
import sys
import atexit
import grass.script as grass
def cleanup():
grass.run_command('g.remove',
rast = tmp1)
def main():
...
return 0
if __name__ == "__main__":
options, flags = grass.parser()
atexit.register(cleanup)
sys.exit(main())
Discard warning/error messages
In Bash:
g.remove rast='map' 2>/dev/null
In Python:
import os
import grass.script as grass
nuldev = file(os.devnull, 'w+')
grass.run_command('g.remove', rast = 'map', stderr = nuldev)
nuldev.close()
Note: In GRASS 6.5+ set
export GRASS_MESSAGE_FORMAT=silent (in Bash) os.environ['GRASS_MESSAGE_FORMAT'] = 'silent' (in Python)