Converting Bash scripts to Python: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
Line 37: | Line 37: | ||
</source> | </source> | ||
== Discard warning/error messages == | |||
In Bash: | |||
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}} | {{Python}} |
Revision as of 18:04, 11 March 2011
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:
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()