一.正向解析:域名解析IP地址 import asyncio import socket domains = [ ('www.baidu.com', 'https'), ('cn.bing.com', 'https'), ('www.2345.com', 'https'), ] async def main(loop, domains): domain_ip = {} for domain in domains: info = await loop.getaddrinfo( *domain, p…
asyncio模块作用:构建协程并发应用的工具 python并发的三大内置模块,简单认识: .multiprocessing:多进程并发处理 .threading模块:多线程并发处理 .asyncio模块:协程并发处理  1.启动一个协程,任务无返回值,需要注意:async的使用 #!/usr/bin/env python # -*- coding: utf-8 -*- import asyncio # 开头定义async,表示要在协程运行,不定义的话,循环监听增加不了 async def co…
python模块Asynico提供了管理事件.携程.任务和线程的功能已经编写并发代码的同步原语. 组成模块: 事件循,Asyncio 每个进程都有一个事件循环. 协程,子例程概念的泛化,可以暂停任务,等待哇爱不处理程序完成再从暂停之处返回. Futures:定义了futures对象. 任务tasks:是Asyncio的一个子类,用于封装并管理并行模式下的协程. 管理事件循环的方法: loop = asyncio.get_event_loop() 获得当前上下文事件循环loop.call_late…
目录 1 前言  2 datetime.pyi源码分步解析 2.1 头部定义源码分析 2.2 tzinfo类源码分析 2.3 date类源码分析 2.4 time类源码分析 2.5 timedelta类源码分析 2.6 datetime类源码分析 2.7 格式化字符串 3 time模块time.pyi源码解析 1 前言 最近工作需求上对于datetime模块中的方法调用比较多,有时还要返回指定的格式,以及大小比较等情况.发现使用Python自带的datetime模块可以很好地实现相关需求,但是对…
python asyncio 网络模型有很多中,为了实现高并发也有很多方案,多线程,多进程.无论多线程和多进程,IO的调度更多取决于系统,而协程的方式,调度来自用户,用户可以在函数中yield一个状态.使用协程可以实现高效的并发任务.Python的在3.4中引入了协程的概念,可是这个还是以生成器对象为基础,3.5则确定了协程的语法.下面将简单介绍asyncio的使用.实现协程的不仅仅是asyncio,tornado和gevent都实现了类似的功能. event_loop 事件循环:程序开启一个无…
步入正题前,先准备下基本知识,线程与进程的概念. 相信作为一个测试人员,如果从理论概念上来说其两者的概念或者区别,估计只会一脸蒙蔽,这里就举个例子来说明下其中的相关概念. 平安夜刚过,你是吃到了苹果还是香蕉呢...其实当你用手去接下对方苹果的时候,你的手臂就可以比喻成进程,你的五个手指就可以比喻成线程,所以很明显,线程可以说是进程的细化,没有进程就不会有线程.  这里还是说下必要的概念:   进程 是操作系统中当前程序的一次执行.要知道拥有单个CPU的电脑,在严格意义上,一个时间点上操作系统只能…
笔者保存了一些outlook邮箱中保存的一些msg格式的邮件文件,现需要将其中的附件提取出来, 当然直接在outlook中就可以另存附件,但outlook默认是不支持批量提取邮件中的附件的 思考过几种方案,其中之一就是使用python编程语言下的extract_msg模块,记录如下 1.安装extract_msg模块 pip install extract-msg ,笔者写此随笔时,最新版本为extract-msg 0.27.4 发布于Released: Sep 3, 2020,项目说明:htt…
使用requests模块构造的下载器,首先安装第三方库requests pip install requests 1 class StrongDownload(object): def __init__(self): #拿到代理iplist self.iplist = ['自己想办法搞'] # self.UserAgent = ['自己想办法搞'] def get(self,url,timeout,proxy=False,num_retries=3): '''url timeout,proxy,…
一.准备工作 1.安装nodejs 首先你需要安装nodeJs 那么nodejs官网:http://nodejs.cn/,下载相应版本,一步一步安装. 二.使用nodejs开发服务器后台应用 1.创建nodejs应用 直接上代码 var http = require('http'); var fs = require('fs'); var url = require('url'); var path = require('path'); var queryString = require('qu…
一.DNS的正向解析 也就是域名解析为IP地址进行访问! 1)vim  /etc/named.conf   ---->  删除forwarders所在行 2)vim  /etc/named.rfc1912.zones   ----> 复制第19-24行,粘贴在下面,并修改自己的域名 3)进行westos.com.zone的生成和修改 cd   /vat/named/ cp -p  named.localhost westos.com.zone    ##-p复制的时候文件权限和属性不变 vim…