搜索到与相关的文章
Python

Python 命令行之旅:使用 argparse 实现 git 命令

作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介绍argparse的文章中,我们全面了解了argparse的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。本文将以我们日常工作中最常见的git命令为例,讲解如何使用argparse库来实现一个真正可用的命令行程序。本系列文章默认

系统 2019-09-27 17:52:35 2175

Python

python实现动态数组的示例代码

实现一个支持动态扩容的数组并完成其增删改查#通过python实现动态数组"""数组特点:占用一段连续的内存空间,支持随机(索引)访问,且时间复杂度为O(1)添加元素时间复杂度:O(n)删除元素时间复杂度:O(n)"""classArr:def__init__(self,capacity=10):"""构造函数:paramcapacity:数组最大容量,不指定的话默认为10"""self._capacity=capacityself._size=0#数组有效

系统 2019-09-27 17:52:16 2175

Python

Python设计模式4--原型模式

原型模式,也是用于创建对象时的一种设计方法。主要应用场景是:每次初始化某个对象时,需要传递大量的参数,很不方便,此时,可以使用原型模式,在已经创建并初始化的对象基础上,可以快速而又方便创建新的不同对象。主要原理:使用深拷贝,复制一个已创建的对象,然后使用__dict__.update()方法更新已创建对象中的参数值方式创建新对象。背景知识:在python中的类中,__dict__是一个字典,保存了所有该类中的变量,函数等参数。#coding=utf-8im

系统 2019-09-27 17:52:15 2175

Python

浅析python继承与多重继承

记住以下几点:直接子类化内置类型(如dict,list或str)容易出错,因为内置类型的方法通常会忽略用户覆盖的方法,不要子类化内置类型,用户自定义的类应该继承collections模块。def__setitem__(self,key,value):super().__setitem__(key,[value]*2)#错误案例classAnswerDict(dict):def__getitem__(self,item):#错误案例return42impor

系统 2019-09-27 17:50:43 2175

Python

基本图像操作和处理(python)

PIL提供了通用的图像处理功能,以及大量的基本图像操作,如图像缩放、裁剪、旋转、颜色转换等。Matplotlib提供了强大的绘图功能,其下的pylab/pyplot接口包含很多方便用户创建图像的函数。为了观察和进一步处理图像数据,首先需要加载图像文件,并且为了查看图像数据,我们需要将其绘制出来。fromPILimportImageimportmatplotlib.pyplotaspltimportnumpyasnp#加载图像img=Image.open("

系统 2019-09-27 17:50:40 2175

Python

Python 实现数据结构-堆栈和队列的操作方法

队、栈和链表一样,在数据结构中非常基础一种数据结构,同样他们也有各种各样、五花八门的变形和实现方式。但不管他们形式上怎么变,队和栈都有其不变的最基本的特征,我们今天就从最基本,最简单的实现来看看队列和堆栈。不管什么形式的队列,它总有的一个共同的特点就是“先进先出”。怎么理解呢?就像是超市排队结账,先排队的人排在队的前面,先结账出队。这是队列的特征。而堆栈则和队列相反,它是“先进后出”,怎么理解呢?基本所有的编辑器都有一个撤销功能,就是按Ctrl+Z。当你写

系统 2019-09-27 17:50:25 2175

Python

python生成requirements.txt方法

python项目如何在另一个环境上重新构建项目所需要的运行环境依赖包?使用的时候边记载是个很麻烦的事情,总会出现遗漏的包的问题,这个时候手动安装也很麻烦,不能确定代码报错的需要安装的包是什么版本。这些问题,requirements.txt都可以解决!生成requirements.txt,有两种方式:第一种适用于单虚拟环境的情况::pipfreeze>requirements.txt为什么只适用于单虚拟环境?因为这种方式,会将环境中的依赖包全都加入,如果使用

系统 2019-09-27 17:50:13 2175

Python

对python中的装包与解包实例详解

*args和**kwargs是常用的两个参数*args:用于接受多余的未命名的参数,元组类型。**kwargs:用于接受形参的命名参数,字典类型的数据。可变参数args:deffun(n,*args):print(n)print(args)#未拆包print(*args)#进行拆包fun(1,2,3,4)结果:1(2,3,4)234形参中的*args是接受数据的args,它是一个元组,把传入的数据放进args元组中。函数中的args仍然是元组,*args就

系统 2019-09-27 17:48:57 2175

Python

python字符串类型介绍

一.字符串的写法1.单引号或双引号二.字符串是不会变的1.字符串不会变,只会新增后再赋值a='ABC'b=aa='XYZ'print(b)结果还是ABC三.字符串的拼接1.用加号+2.字符串不能与数字类型相加,需要使用内置函数str()将数字类型转换成字符串类型再拼接四.字符串的常用方法1.title()将字符串里面的英文单词(空格隔开的叫一个单词)首字母变大写,其他字符不变2.upper()将字符串里面的所有英文字符变大写,其他字符不变3.lower()

系统 2019-09-27 17:48:26 2175

Python

使用Python脚本来获取Cisco设备信息的示例

今天发现一个使用python写的管理cisco设备的小框架tratto,可以用来批量执行命令。下载后主要有3个文件:Systems.py定义了一些不同设备的操作系统及其常见命令。Connectivity.py是主要实现功能的代码,其实主要就是使用了python的pexpect模块。Driver.py是一个示例文件。[root@safetratto-master]#catdriver.py#!/usr/bin/envpythonimportConnectiv

系统 2019-09-27 17:48:20 2175