popen eating quotes?
Bryan
belred1 at yahoo.com
Sun Aug 3 21:32:50 EDT 2003
"Rob Williscroft" <rtw at freenet.REMOVE.co.uk> wrote in message
news:Xns93CDD4975617ukcoREMOVEfreenetrtw at 195.129.110.201...
> Bryan wrote in news:LOgXa.57808$o%2.28737 at sccrnsc02:
>
> >>>> import os
> >>>> def run_args(arg):
> > ... i, o = os.popen4('"c:/program files/test/args.bat" -vv %s' % arg)
> > ... print o.read()
> > ...
> >>>> run_args('"this is a very long path with spaces"')
> > 'c:/program' is not recognized as an internal or external command,
> > operable program or batch file.
> >
> >
>
> I just got the following working where os.getcwd() is returning:
> 'C:\\Documents and Settings\\Rob\\Desktop'
>
>
> >>> def f():
> ... i, o = os.popen4( "\"" + os.getcwd() + "\\aaa.bat\"" )
> ... print o.read()
> ... i.close()
> ... o.close()
> ...
>
>
> If this dosen't help, then (sound of large hammer being removed
> from a tool box) maybe this will:
>
> def g(arg):
> x = os.getcwd()
> os.chdir( "c:/program files/test/" )
> i, o = os.popen4( 'args.bat -vv %s' % arg )
> os.chdir( x )
> print o.read()
>
>
> Rob.
> --
> http://www.victim-prime.dsl.pipex.com/
rob,
thanks... this is exactly the solution i came up with too. it does remove
the path, but not the spaces in the file name. i _might_ be able to live
with this hack though.
the code i'm porting to python is from perl, and the perl code doesn't have
the popen issue.
@xxxoutput=`xxx -vv "$file"`;
now i won't be able show how cool python is :(
bryan
More information about the Python-list
mailing list