
Python
文章平均质量分 65
易生一世
spring-petclinic-graphql开源项目的贡献者
展开
-
CPython的命令行与python文件的执行
在Windows系统中,下载并安装了Python解析器后,就可以运行Python文件了。可以使用任何编辑器,编写并保存Python文件。Python运行时提供了多种执行Python文件的方法。1. 编写并保存Python文件myfoo.py如下(没有入口__main__函数):def hello(): print("Xiangbin HAN")打开cmd,cd到文件所在目...原创 2019-10-24 23:30:26 · 1655 阅读 · 0 评论 -
Python的logging模块详解之二基本类
Python的logging模块中的类Logger类,暴露接口供直接调用Handler类,将日志记录交给对应的目标Filter类,设置只输出符合过滤条件的日志记录Formatter类,设置日志记录的输出格式原创 2017-11-05 22:05:51 · 560 阅读 · 0 评论 -
Python的pickle模块详解
Python的pickle模块实现了Python对象与字节流之间的二进制转换协议。即Python的pickle模块提供了Python对象的序列化/反序列化功能。Pickling,即序列化,特指将Python对象转换为字节流的过程。Unpickling,即反序列化,特指将字节流转换为Python对象的过程。1. Python的pickle模块的组成class Pick原创 2017-11-01 20:47:00 · 2406 阅读 · 0 评论 -
Python的计时timeit模块概述
Python的timeit模块用于计数代码片段执行的时长。1.timeit模块的组成class Timer(stmt="pass", setup="pass", timer=time.perf_counter, globals=None)其中time.perf_counter返回的是performance counter的值设置globals=globals(),Pytho原创 2017-10-25 23:08:40 · 1121 阅读 · 0 评论 -
Python的Pexpect模块详解
对于存在交互过程的远程访问,如ssh, ftp, mencoder, passwd等,通过Pexpect模块可以根据应用的输出控制交互过程,从而提高容错性。Pexpect模块首先通过生成子应用以代理交互应用,这样就可以通过检测子应用的模式匹配情况以响应交互应用的输出。作为Don Libes的Expect实现之一,Pexpect模块是一个纯Python实现。Python也有其他的类E原创 2017-06-23 23:35:11 · 14995 阅读 · 0 评论 -
Windows系统中的Python开发环境
在Windows系统中建立的Python开发环境包含两个部分,一个是Python解析器的安装,另一个是IDE的安装。1.Python解析器的安装Python解析器的最新版本是2017.3发布的Python 3.6.1。Windows系统下的安装包有如下几种:完整的直接安装包 基于Web的在线安装包 可嵌入的压缩包安装过程很简单,需要注意的是,直接双击“完整的直接安装包”的ex...原创 2017-04-12 13:42:55 · 7318 阅读 · 0 评论 -
Python的io模块详解
Python的io模块提供了多个流式处理接口,具体的处理函数实现位于_pyio.py模块中。在_io.py模块中,提供了唯一的模块方法open(name, mode=None, buffering=None),但是没有read()方法。1. io模块的类图IOBase-RawIOBase,无缓存的字节流-+FileIO,操作系统文件流-BufferedIOBase,缓存的字原创 2018-01-24 22:48:24 · 20871 阅读 · 0 评论 -
Python中的JSON模块详解
JSON是一种轻量级的数据交换格式。Python中的json模块是JSON格式的编解码器实现。在编解码过程中,Python对象的类型与JSON类型的对应关系如下图所示:1. json模块的组成,如下图所示:其中,encoder.py和decoder.py是实际的编解码实现。scanner.py辅助编解码的帮助模块。下面我们详细介绍一下json模块的代码调用接原创 2017-10-26 23:24:55 · 2590 阅读 · 1 评论 -
Python的requests软件包详解
requests是一款Python的第三方HTTP类库,便于进行HTTP访问。1.requests的特性能够发送HTTP 1.1请求 无需手工为GET方法设置URL的请求参数,无需手工为POST方法组编码表单形式 借助于urllib3实现HTTP请求的连接会话缓存 支持Python 2.6, 2.7, 3.3-3.72.requests的安装requests不是Python...原创 2017-06-04 22:24:35 · 2074 阅读 · 0 评论 -
Python中的encode与decode,详解字符串与字节对象之间的转换
1.相关异常我们在处理交换的数据时经常遇到这样的异常:TypeError: can't use a string pattern on a bytes-like objectTypeError: a bytes-like object is required, not 'str'...很显然,我们要处理的数据是一个字节对象,即Python中的bytes或bytearray类型,但是我们却使用了处理...原创 2018-02-09 15:21:23 · 6973 阅读 · 0 评论 -
Python的标准库ipaddress详解
标准库ipaddress从Python 3.3开始出现,其中提供的方法和类可以用于创建操作IPv4和IPv6的地址和网络。1.统一的创建IP地址、网络和接口的方法ipaddress.ip_address('myaddress')ipaddress.ip_network('myaddress', strict=True)ipaddress.ip_interface('myaddress')2.IP地...原创 2018-03-09 12:18:51 · 12761 阅读 · 0 评论 -
Python的logging模块详解之一基本用法
Python的logging模块提供了灵活的事件日志系统。1. 模块组成__init__.py config.py handlers.py2. 常见的输出日志的调用函数内置函数print() logging.debug() logging.info() logging.warning() ,另一个warnings模块的warnings.warn()具有相似功能 logg...原创 2017-11-03 16:42:57 · 878 阅读 · 0 评论 -
Python的marshal模块简介
Python的marshal模块,顾名思义也是负责在Python数值与二进制字节对象之间进行转换的。但是,marshal模块仅供Python解析器内部用作对象的序列化,不推荐开发人员使用该模块处理Python对象的序列化和反序列化。marshal模块不是通用的序列化/反序列化模块,而是以读写.pyc文件中的Python代码为目的设计的。marshal模块提供的函数可以读写二进制对象为Pytho原创 2017-10-31 23:15:27 · 5356 阅读 · 0 评论 -
Apache mod_wsgi模块简介
Apache HTTP服务器的mod_wsgi扩展模块,实现了Python WSGI标准,可以支持任何兼容Python WSGI标准的Python应用。出于安全的考虑,建议使用mod_wsgi 3.5及以后的版本,最新版本是2017年1月发布的4.5.14。1. WSGI(Web Server Gateway Interface)是一个统一的Python接口标准(PEP 333原创 2017-02-20 23:49:06 · 13787 阅读 · 0 评论 -
Infoblox Grid Manager简介
1.Infoblox公司Infoblox是DDI(DNS, DHCP和IPAM)相关产品和服务的提供商。IPAM即IP address management。官网https://www.infoblox.com/2.Infoblox Grid产品Infoblox Grid是一个统一的核心网服务平台,提供跨数据中心的网络设备管理和自动化配置,包括DNS, DHCP和IPAM服原创 2017-03-23 00:03:12 · 2497 阅读 · 0 评论 -
Python的urllib3软件包详解
urllib3是一款Python 3的HTTP客户端。Python标准库提供了urllib。在Python 2中,另外提供了urllib2;而在Python 3中,重构了urllib和urllib2到标准库urllib,并另外提供了urllib3。1.urllib3的特性线程安全 连接缓冲池 客户端SSL/TLS验证 文件上传 请求重试 HTTP重定向 支持gzip和de...原创 2017-05-31 23:38:32 · 6100 阅读 · 0 评论 -
Python的urllib3软件包的证书认证及警告的禁用
1. urllib3软件包的证书验证(Certificate verification)默认,urllib3不进行HTTPS请求验证,即不认证服务器的证书。要在HTTPS请求之前进行服务器验证,还需要在客户端安装根证书。安装Python的certifi软件包就可以使用Mozilla的根证书。1) certifi软件包的安装pip install certifi或pip原创 2017-06-01 00:19:01 · 11328 阅读 · 1 评论 -
Python的functools模块详解
Python的functools模块用以为可调用对象(callable objects)定义高阶函数或操作。简单地说,就是基于已有的函数定义新的函数。所谓高阶函数,就是以函数作为输入参数,返回也是函数。1. functools模块的引用from functools import partial2. partial()函数partial(func, *args, **原创 2017-06-22 14:25:03 · 5752 阅读 · 0 评论 -
Pexpect模块的pxssh扩展子模块详解
在Pexpect模块中,pexpect.pxssh.pxssh类扩展自pexpect.spawn类,专用于SSH连接的设置。通过pxssh类的login()方法,在第一次连接远程SSH服务器的时候,能够将服务器的证书保存在known_hosts中。pxssh类支持通过密钥认证,而无需输入密码。pxssh类使用的Shell提示符能够兼容大多数Borne/Bash或Csh。基本使用示例原创 2017-07-03 23:31:18 · 4706 阅读 · 0 评论 -
基于Selenium的Python Web应用自动化测试入门
Selenium是一款进行Web应用自动化测试的工具。Selenium支持多种浏览器,下面分别以Chrome和Firefox浏览器为例介绍。1. 安装浏览器安装Chrome或Firefox浏览器的过程略。2. 下载并安装WebDrivers1) 安装Chrome浏览器的ChromeDriver下载地址https://sites.google.com/a/chromium....原创 2017-09-15 12:20:23 · 571 阅读 · 0 评论 -
Django应用的设置对象django.conf.settings详解
Django应用的各种配置参数往往位于一个设置文件中。与Java应用不同,设置文件往往是xml或properties文件,与Java类文件完全不同。但是,在Django应用中的设置文件,等同于一个Python模块,遵守Python的语法规范。Django的设置文件,事实上就是在配置Django的django.conf.settings对象。对于一个Django应用,如果未进行任何设置,...原创 2017-09-18 18:14:47 · 11975 阅读 · 0 评论 -
Django的django-admin工具详解
django-admin是Django的一个命令行管理工具,用以对Django项目执行某些命令操作。1. django-admin安装安装Django后,默认即安装了django-admin。Linux系统默认安装在$PATH_HOME/dist-packages/django/bin/django-admin.pyWindows系统默认还在$PAT原创 2017-09-19 13:22:09 · 8351 阅读 · 1 评论 -
Django项目中的Admin应用详解
所谓一个Django项目,可以理解为部署在一个Web服务器上的Django应用的集合。即,一个Django项目中包含多个Django应用。打开Django项目的myproject/settings.py文件,可以看到变量INSTALLED_APPS的默认定义如下:INSTALLED_APPS = [ 'django.contrib.admin', 站点管理系统 ...原创 2017-09-26 17:43:16 · 1365 阅读 · 0 评论 -
Django项目与Django应用的关系及django.apps模块
1. Django项目与Django应用一个Django项目就是一个基于Django的Web应用。一个Django项目中包含一组配置和若干个Django应用。一个Django应用就是一个可重用的Python软件包,提供一定的功能。一个Django应用中可以包含models, views, templates, template tags, static files, URLs等。一个D原创 2017-09-26 18:51:10 · 9604 阅读 · 1 评论 -
Django的migrations机制概述
Django框架提供的migrations是一个独立的机制,主要用以在Django应用中的model类和数据库结构的schema之间进行同步。1. Django应用中的model类model是业务逻辑的数据对象,包含fields和behaviors。一种model类就是django.db.models.Model类的扩展。一种model对应数据库中的一张表。在myFirstDj原创 2017-09-28 12:50:36 · 5643 阅读 · 0 评论 -
Shell终端输出字符的颜色总结
Shell终端输出的字符默认为黑底灰字。如何能够通过Shell的属性改变其颜色呢?这就需要使用颜色相关的控制串(control sequences)。Shell的control sequences位于\[\033[与\]之间,而与颜色相关的control sequences位于\[\033[与m\]之间。在Python中,直接以'\033[字体风格;前景色;背景色m'的形式设置终端输出原创 2017-09-29 13:15:04 · 1699 阅读 · 0 评论 -
Python中的抽象基类与标准库中的abc模块
默认情况下,Python解析器不强制检查对抽象类的继承,即抽象类的子类可能没有实现其中的抽象方法,但是Python并不会报错。为了避免这种情况,从Python 3.4/2.6开始,Python标准库中提供了abc模块(Abstract Base Classes),为定义Python的抽象基类提供了公共基础。事实上,Python标准库中的numbers模块和collections模块都是ab原创 2017-10-11 08:57:06 · 5477 阅读 · 0 评论 -
Python的调试框架bdb及调试器Pdb
1. Python标准库中的Debugger框架bdb模块提供基本的调试功能,如设置断点、管理Debugger的执行等。bdb模块的组成:异常bdb.BdbQuit(Exception)类class bdb.Breakpoint类class bdb.Bdb(skip=None)Python Debugger的基类,实际使用的Python Debugger是其子类Pdb原创 2017-10-19 17:27:57 · 4260 阅读 · 0 评论 -
Python的Profile概述
Python的profile是一组统计功能,用以描述Python应用的各个部分的执行状态、频率和时长等。根据统计的采样,可以将profile分为如下两大类:deterministic profiling,通过采集全部数据,给出的确定数据statistical profiling,通过随机采样,给出的推理数据在Python中只支持deterministic profile。原创 2017-10-20 17:05:54 · 5394 阅读 · 0 评论 -
virtualenvwrapper详解
virtualenvwrapper,是一个命令集合,便于操作Python虚拟环境。1.通过pip安装virtualenvwrapper的命令(必须先安装virtualenv):pip install virtualenvwrapper2.设置环境变量:export WORKON_HOME=~/Envs3.激活virtualenvwrapper:source /usr/loc原创 2016-12-26 23:23:14 · 11334 阅读 · 0 评论