python 批量ping同一网段(多线程)

 #coding=utf-8

import thread
import time
from subprocess import Popen,PIPE

'''
def fun1():
    print 'Hello World %s' %time.ctime()

def main():
    thread.start_new_thread(fun1,())
    thread.start_new_thread(fun1,())
    time.sleep(2)
'''

def ping_check(ip):
#    check=Popen(['/bin/bash','-c','ping -c 2'+ip],stdin=PIPE,stdout=PIPE)
    check=Popen(['ping -c 2'+ip],stdin=PIPE,stdout=PIPE,shell=True)
    data=check.stdout.read()
    if 'ttl' in data:
        print '%s is UP'%ip

def main():
    for i in range(1,255):
        ip='106.42.25'+str(i)
        thread.start_new_thread(ping_check,(ip,))
        time.sleep(0.1)

if __name__=='__main__':
    main()

哪里有问题,结果提示ping参数问题(Usage:ping...)

2和ip之间缺少一个空格

#coding=utf-8

import thread
import time
from subprocess import Popen,PIPE

'''
def fun1():
print 'Hello World %s' %time.ctime()

def main():
thread.start_new_thread(fun1,())
thread.start_new_thread(fun1,())
time.sleep(2)
'''

def ping_check(ip):

check=Popen(['/bin/bash','-c','ping -c 2'+ip],stdin=PIPE,stdout=PIPE)

check=Popen(['ping -c 2'+ip],stdin=PIPE,stdout=PIPE,shell=True)
data=check.stdout.read()
if 'ttl' in data:
    print '%s is UP'%ip

def main():
for i in range(1,255):
ip='106.42.25'+str(i)
thread.start_new_thread(ping_check,(ip,))
time.sleep(0.1)

if name=='__main__':
main()