Python Forum
Send the output from a running script
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Send the output from a running script
#1
Hello Guyz,
Here i am writing a script by pinging an ip continously.



def ip_ping():
    import subprocess
    b= "172.30.36.136"
    a = subprocess.Popen(["ping","-t", b], stdout=subprocess.PIPE).stdout.read()
    if a.count("Destination host unreachable.")>5:
        print a
ip_ping()    
when the condition satisfies, it doesn't print the output to the idle shell while the script is running.
when i close the running script it gets printed in the Idle shell.
How to print the output while the script is running?

Thanks in Advance.
Reply
#2
You need to read output repeatedly, example code with line reading:
import subprocess

def ip_ping(target):
    proc = subprocess.Popen(["ping", target], stdout=subprocess.PIPE)
    while True:
        line = proc.stdout.readline()
        print line

ip_ping("www.google.com")
Output:
PING www.google.com (216.58.212.228) 56(84) bytes of data. 64 bytes from ams16s22-in-f228.1e100.net (216.58.212.228): icmp_seq=1 ttl=58 time=0.995 ms   64 bytes from ams16s22-in-f228.1e100.net (216.58.212.228): icmp_seq=2 ttl=58 time=1.15 ms 64 bytes from ams16s22-in-f228.1e100.net (216.58.212.228): icmp_seq=3 ttl=58 time=0.642 ms
This is on linux, perhaps on windows it will work too. You can add your logic for counting into while block.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Fixing arrays output in Python WLST script pkbash 2 3,947 Feb-28-2019, 06:20 PM
Last Post: pkbash
  Running another python script from a python script buddy23 1 2,648 Dec-29-2018, 11:25 PM
Last Post: Larz60+

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020