[Tutor] Popen4 and Paths Containing Spaces
Hugo González Monteverde
hugonz-lists at h-lab.net
Wed Jun 15 20:20:37 CEST 2005
Hi John,
Read the Python gotchas page at:
http://www.ferg.org/projects/python_gotchas.html
This problem is explained there. Also, why are you using those forward
slashes in your Windows paths???? Meaning: d:/program
files/winzip/wzzip.exe
Hugo
Gooch, John wrote:
> I am having problems with using the Winzip command line tools and Python.
>
> Here is an example of the several dozen different ways I have tried to
> execute the Wzzip.exe utility with arguments using
> popen2 -
>
> This works (just runs the utility with not arguments ):
> cmd = "\"d:/program files/winzip/wzzip.exe\""
> results = popen2.popen4( cmd )
>
> However this fails miserably:
> testpath = "D:/Program Files/WebTrends/SmartSource Data
> Collector/weblog/*.log"
> cmd = "\"d:/program files/winzip/wzzip.exe\" -ma test.zip \"" + testpath
> + "\""
> results = popen2.popen4( cmd )
>
> If I set the script to print out the value stored in the variable "cmd" it
> says this:
> "d:/program files/winzip/wzzip.exe\" -ma test.zip "D:/Program
> Files/WebTrends/SmartSource Data Collector/weblog/*.log"
>
> Which if I paste it onto the command line, does exactly what I intend it to
> do. But for some reason, popen2.popen4(cmd) gives this as output ( from
> stderr ):
> 'd:/program' is not a file or command
>
> My only guess is that popen2.popen4 is parsing the string differently than
> the "print" command does, because print recognizes that the backslash is
> escaping the double quotes ( e.g. "\"" ) in the string, and popen does not.
> On the other hand, it appears to be recognizing it in my first example, so
> that is what is really confusing me. It isn't consistent at all.
>
> Any ideas?
>
>
>
> John A. Gooch
> "May the Python-force be with you...always."
> Systems Administrator
> EchoStar Satellite L.L.C.
> Desk: 720-514-5708
>
>
>
> -----Original Message-----
> From: tutor-bounces at python.org [mailto:tutor-bounces at python.org] On Behalf
> Of Danny Yoo
> Sent: Tuesday, June 14, 2005 4:21 PM
> To: Pujo Aji
> Cc: Tutor
> Subject: Re: [Tutor] can't see emacs timer in action
>
>
>
>
> On Tue, 14 Jun 2005, Pujo Aji wrote:
>
>
>>I tried this code in emacs.
>>for i in range(3):
>> time.sleep(1)
>> print i
>>
>>It shows the result but total result not second per second.
>
>
> Hi Pujo,
>
>
> In Emacs, you may want to first start up a Python subprocess by using the
> keystroke:
>
> C-c !
>
> and then run Python buffers with:
>
> C-c C-c
>
> Best of wishes!
>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
>
More information about the Tutor
mailing list