Browse Source

Change Python example script to use os.execvp() instead of os.system()

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@32128 15284696-431f-4ddb-bdfa-cd5b030d7da7
Glynn Clements 17 năm trước cách đây
mục cha
commit
e7e32fa698
1 tập tin đã thay đổi với 4 bổ sung11 xóa
  1. 4 11
      general/g.parser/test.py

+ 4 - 11
general/g.parser/test.py

@@ -53,22 +53,15 @@ def main():
     #end of your code 
     
 if __name__ == "__main__":
-    args = ""
-    for arg in sys.argv:
-        args += arg+" "
-
-    if !os.getenv("GISBASE"):
+    if not os.getenv("GISBASE"):
         print >> sys.stderr, "You must be in GRASS GIS to run this program."
         sys.exit(0)
 
     try:
-        if ( sys.argv[1] != "@ARGS_PARSED@" ):
-            os.system("g.parser %s " % (args))
+        if len(sys.argv) < 2 or sys.argv[1] != "@ARGS_PARSED@":
+            os.execvp("g.parser", ["g.parser"] + sys.argv)
     except IndexError:
-        os.system("g.parser %s" % (args))
+	os.execvp("g.parser", ["g.parser"] + sys.argv)
 
     if sys.argv[1] == "@ARGS_PARSED@":
         main();
-
-
-