Re: [Tutor] Runnig a windows.exe from python
On Fri, 1 Oct 2010 04:05:08 am Susana Iraiis Delgado Rodriguez wrote: > Hello ! > > I apoligize for the format of my last message, I didn't realize that > putting my text in bold format will show those asterisks. > By the way you're Alan, for the pythom module I first had to read my > arguments and passed them to the os.system(), it worked. Now when I > execute this command, in my normal DOS Windows, I must change to > another path before I run the .exe, I don't know how to tell this to > my python module. os.chrdir(path) changes to a new path. -- Steven D'Aprano ___ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor
Re: [Tutor] Runnig a windows.exe from python
Hello ! I apoligize for the format of my last message, I didn't realize that putting my text in bold format will show those asterisks. By the way you're Alan, for the pythom module I first had to read my arguments and passed them to the os.system(), it worked. Now when I execute this command, in my normal DOS Windows, I must change to another path before I run the .exe, I don't know how to tell this to my python module. This is my code: from dbf import * from osgeo import ogr import os import sys def call(): os.chdir('C:\Python26') arg1 = "R1G-GEODESIA2.shp" arg2 = "LAYER = 'R1G-GEODESIA'" arg4 = "tapalpa_05_plani_point.shp" os.system('"C:/Archivos de programa/FWTools2.4.7/setfw"') os.system('"C:/Archivos de programa/FWTools2.4.7/bin/ogr2ogr.exe"'+" " +"arg1" +" "+ "-where" +" "+ "arg3" +" " +"arg4") call() If I run it, it shows me the following error: Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import fw Ingresa el nombre para el nuevo mapa R1G-GEODESIA2.shp Ingresa la condicion LAYER = 'R1G-GEODESIA' Ingresa el nombre del mapa original tapalpa_05_plani_point.shp FAILURE: Unable to open datasource `arg3' with the following drivers. -> ESRI Shapefile -> MapInfo File -> UK .NTF -> SDTS -> TIGER -> S57 -> DGN -> VRT -> REC -> Memory -> BNA -> CSV -> NAS -> GML -> GPX -> KML -> GeoJSON -> Interlis 1 -> Interlis 2 -> GMT -> SQLite -> ODBC -> PGeo -> OGDI -> PostgreSQL -> MySQL -> XPlane -> AVCBin -> AVCE00 -> DXF -> Geoconcept -> GeoRSS -> GPSTrackMaker -> VFK >>> ___ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor
Re: [Tutor] Runnig a windows.exe from python
"Susana Iraiis Delgado Rodriguez" wrote I'm working in a simple python module to run a external command, this command is named "ogr2ogr.exe" . When I execute my python script : *import os def call(): os.system(' "C:\\Archivos de programa\\FWTools2.4.7\\bin\\ogr2ogr.exe" ')* * raw_input()* *call()* It runs, but if I want to enter arguments: *ogr2ogr* to test my .exe, it shows me an error *"ogr2ogr is not define", *any suggestion? You need to read the arfguments before calling the exe. Then create the full command string and pass that tro os.system. However os.system is a blunt instrument, you will find you have much more control using the subprocess module which supercedes os.system and various others ways of executing external programs. It take a wee bit more effort but the extra control is worth it. The documentation has numerous examples and the "Using the OS" topic of my tutorial has some info too. HTH -- Alan Gauld Author of the Learn to Program web site http://www.alan-g.me.uk/ ___ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor
Re: [Tutor] Runnig a windows.exe from python
On Thu, 30 Sep 2010 05:49:53 am Susana Iraiis Delgado Rodriguez wrote: > Hello everyone: > > I'm working in a simple python module to run a external command, this > command is named "ogr2ogr.exe" . When I execute my python script : > > *import os > def call(): > os.system(' "C:\\Archivos de > programa\\FWTools2.4.7\\bin\\ogr2ogr.exe" ')* > * raw_input()* > *call()* > It runs, but if I want to enter arguments: *ogr2ogr* to test my > .exe, it shows me an error *"ogr2ogr is not define", *any suggestion? Please don't add extra "bits" around the code you use -- there's no need to add asterisks * around the code. Just copy and paste it it into the email. Can you please copy and paste the exact error message you get? Include the full traceback, not just the last line. Also, it is a little-known thing that Windows accepts forward slashes as well as back-slashes in pathnames. So it is easier to write: "C:/Archivos de programa/FWTools2.4.7/bin/ogr2ogr.exe" than: "C:\\Archivos de programa\\FWTools2.4.7\\bin\\ogr2ogr.exe" -- Steven D'Aprano ___ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor