Unable to redirect the subprocess CMD.exe to txt file. Please help !!!

William Ray Wing wrw at mac.com
Tue Sep 3 10:22:22 EDT 2013


On Sep 3, 2013, at 9:54 AM, Venkatesh <venkatesh.totad at gmail.com> wrote:

> Hello comp.lang.python Group,
> 
> I am trying to invoke a subprocess in Python as below 
> 
> import sys
> import time
> import os
> import subprocess
> DETACHED_PROCESS = 0x00000008
> 
> path = r'C:\Windows\System32\cmd.exe /k ping www.google.com -n 4 >> temp.txt'
> p = subprocess.Popen("%s"%(path), stdout = subprocess.PIPE, stderr = subprocess.STDOUT, creationflags=DETACHED_PROCESS)
> 
> With this code, unable to invoke the subprocess and hence not able to store the Ping statistics in the file.
> 
> Any help on this OR any better way of achieving this??
> 
> 
> -- 
> https://mail.python.org/mailman/listinfo/python-list


I use the following in OS-X, should be very similar in Windows.

       import subprocess
       ping_result = subprocess.Popen(['ping', '-c1', '-t1', self.target_IP], stderr=subprocess.PIPE, stdout = subprocess.PIPE).communicate()[0]

self.target_IP is a string containing the IP address, which is defined elsewhere.
ping_result contains the complete returned string from the ping command.  Note the -c switch (count = 1 ping packet) and the -t switch (force exit after one second).
you will have to parse the returned string to extract the stats.

-Bill


More information about the Python-list mailing list