【发布时间】:2017-11-02 17:06:36
【问题描述】:
我想在多线程中转换我的程序,但我没有说该怎么做。确实,我想到了 2 个解决方案,但我认为这不是最理想的: 在 python 中进行选择并将结果存储在数组中,然后按线程范围过滤。 或带有子句 id 的多线程,选择只有一个 Domain by thread 有没有更好的方法可以直接在循环中进行?
#!/usr/bin/python
import mysql.connector as mariadb
from subprocess import Popen, PIPE, STDOUT
import re
import os
mariadb_connection = mariadb.connect(user='root', password='xxxx', database='xxxx');
cursor = mariadb_connection.cursor(buffered=True)
#retrieving information
cursor.execute("SELECT Domain,Id FROM classement where Domain like '%com';")
for Domain,Id in cursor:
counter=0
for character in Domain:
if (character == "."):
counter = counter + 1
if (counter==1):
print(Domain)
pingresult = Popen(['ping','-c','3', Domain], stdout=PIPE, stderr=STDOUT).communicate()[0]
pingresult=str(pingresult)
ping = pingresult.find('min/avg/max/mdev')
ping=pingresult[ping+19:-6]
print(ping)
cursor.execute('update classement set Ping = "%s" where Domain = "%s";' % (ping,Domain))
mariadb_connection.commit()
mariadb_connection.close()
【问题讨论】:
标签: python multithreading python-multiprocessing