作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介绍argparse的文章中,我们全面了解了argparse的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。本文将以我们日常工作中最常见的git命令为例,讲解如何使用argparse库来实现一个真正可用的命令行程序。本系列文章默认
系统 2019-09-27 17:52:35 2140
一:什么是魔法函数看一个简单的例子:classCompany:def__init__(self,employee__list):self.employee=employee__listcompany=Company(['tom','jack','jane'])employee=company.employeeforiteminemployee:print(item)打印结果无疑是tom,jack,jane。那么换一种方式,使用Python的魔法函数:cla
系统 2019-09-27 17:52:26 2140
简介这篇博文和分类看似没有多大关系,但是也是从上一篇衍生出来的产物,因为涉及到FQ工具Lantern,就算是给关注和支持的小伙伴们拓展一下眼界和知识面。而且好多人都阅读了上一篇没发现那个参考博客点不开吗?那是因为还没来的急,整理和编写,今天再试一下就可以。一个软件可能占用多个端口拥有多个目标IP,下面以FQ工具Lantern为例,说明端口查看方法:1.借助第三方软件查看如果你电脑上安装了360等优化工具,可能会自带查看网络状况的插件如下图:2.命令行窗口查
系统 2019-09-27 17:51:27 2140
生成器就是自己用python代码写的迭代器,生成器的本质就是迭代器。通过以下两种方式构建一个生成器:1、通过生成器函数2、生成器表达式生成器函数:函数deffunc1(x):x+=1returnxprint(func1(5))生成器函数deffunc1(x):x+=1yieldxg_obj=func1(5)print(g_obj.__next__())一个next对应一个yield。yieldVSreturnreturn结束函数,给函数的执行者返回值yie
系统 2019-09-27 17:50:36 2140
迭代器和可迭代对象由for循环的内部原理说起list01=[2,434,5,6,8]foriteminlist01:print(item)大家有没有想过list类型对象为什么可以被for循环呢?能够被for循环的条件是:它是可迭代对象(iterable)。那么什么是可迭代对象呢?参考一下内置函数item()的官方说明文档:iter(object[,sentinel])返回一个iterator对象。根据是否存在第二个实参,第一个实参的解释是非常不同的。如果没
系统 2019-09-27 17:50:22 2140
Python的特点简单Python是一种代表简单思想的语言。易学Python有极其简单的语法。免费、开源Python是FLOSS(自由/开放源码软件)之一。4.高层语言使用Python编写程序时无需考虑如何管理程序使用的内存一类的底层细节。5.可移植性Python已被移植到很多平台,这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、P
系统 2019-09-27 17:48:18 2140
Python3使用pillow库生成随机验证码的代码如下所示:importrandom#pillow包的使用fromPILimportImage,ImageDraw,ImageFont,ImageFilter#Image负责处理图片#ImageDraw负责处理画笔#ImageFont负责处理文字#ImageFilter负责处理路径img=Image.new('RGB',(150,50),(255,255,255))#建立一个图片'''RGB:表示采用RGB
系统 2019-09-27 17:47:55 2140
python调用短信猫控件实现发短信功能实例代码如下所示:#!/usr/bin/envpython#coding=gbkimportsysimportwin32com.clientocxname='ShouYan_SmsGate61.Smsgate'axocx=win32com.client.Dispatch(ocxname)axocx.CommPort=8#设置COM端口号axocx.SmsService='+8613800100500'#设置短信服务号
系统 2019-09-27 17:47:54 2140
项目目录结构:按照下图所示创建build文件夹及内容Dockerfile:FROMubuntu:16.04FROMpython:3.6ENVhttp_proxy=http://172.16.6.67:3128ENVhttps_proxy=http://172.16.6.67:3128RUNapt-get-yupdate&&\apt-get-yupgrade&&\apt-getinstall-y\vim\git\python3-dev\python3-set
系统 2019-09-27 17:46:45 2140
1.字典键-值对中,值元素的便捷创建增减主要是利用collections中的defaultdict普通复杂过程:pairs=[('a',1),('a',2),('b',2)]d={}forkey,valueinpairs:ifkeynotind:d[key]=[]d[key].append(value)或d={}#普通字典d.setdefault('a',[]).append(1)d.setdefault('a',[]).append(2)d.setdef
系统 2019-09-27 17:46:19 2140