您的位置:首页 > 其它

批量获取域名解析地址socket&&thread

2013-05-06 15:58 351 查看
import thread
import socket
def getIP(name,lock):
print '[%s]:%s\n'%(name,socket.gethostbyname(name))
lock.release() #释放线程锁

def main():
#读取存放域名的文件,文件是按一行一个域名的方式记录的
files = open(r'C:\Users\Administrator\Desktop\python_script\name.txt','r')
line = files.readlines()
#定义一个域名的空列表
hostname = []
#定义线程锁的空列表
locks = []
for i in line:
#按行读取文件,由于每行结尾都有一个换行符'\n',需要把'\n'去掉,否则域名不能被识别
if i.endswith('\n'):
i = i.split('\n')[0]
#print i
hostname.append(i)
else:
hostname.append(i)
#获取域名的数量,添加线程锁
allhostname = len(hostname)
for a in range(allhostname):
#分配线程锁
lock = thread.allocate_lock()
#获取线程锁的对象
lock.acquire()
#添加进空列表
locks.append(lock)

for b in range(allhostname):
#启动线程
thread.start_new_thread(getIP,(hostname[b],locks[b]))

for c in range(allhostname):
while locks[c].locked():
pass

main()本来没必要用上线程模块的,最近刚刚好学到这了,所以就用上了,写这脚本一是工作上需要,另一个是纯粹为了练手
本文出自 “师父领进门,修行靠个人!” 博客,请务必保留此出处http://zeping.blog.51cto.com/6140112/1194111
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: