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 1896

Python

Python:logging 的巧妙设计

引言logging的基本用法网上很多,这里就不介绍了。在引入正文之前,先来看一个需求:假设需要将某功能封装成类库供他人使用,如何处理类库中的日志?数年前在一个C#开发的项目中,我用了这样的方法:定义一个logging基类,所有需要用到日志的类都继承这个基类,这个基类中定义一个LogHandler事件,该事件用于实现具体的记录日志动作,同时可以通过将类A的LogHandler委托挂到类B的LogHandler上,实现将两个类的日志信息添加到一起。自从看了py

系统 2019-09-27 17:47:37 1896

Python

Python 如何访问外围作用域中的变量

在表达式中引用变量时,Python会按照如下的顺序遍历各个作用域,寻找该变量:当前函数作用域任何外围作用域(比如包含当前函数的其他函数)global作用域,即代码所在的模块的作用域如果上述作用域内都找不到变量,就会报NameError异常。但是对变量赋值时,规则会有所不同。如果当前作用域变量已存在,那么其值会被替换。如果不存在,则会视为在当前作用域定义新变量,而不是向外围作用域中寻找。如下函数deffunction():flag=Truedefhelper

系统 2019-09-27 17:46:14 1896

Python

Python深入学习之闭包

闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式(而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见到过函数(function);在面向对象编程中,我们见过对象(object)。函数和对象的根本目的是以某种逻辑方式组织代码,并提高代码的可重复使用性(reusability)。闭包也是一种组织代码的结构,它同样提高了代码的可重复使用性。不同的语言实现闭包的方式不同。Python以函数对象为基础,为闭包这一语法结

系统 2019-09-27 17:45:45 1896

Python

浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)

Python2中编码相关的问题很是让人蛋疼,特别是中文字符。比如本文所述的中文网页GBK编码的诡异问题。现象例如:盲录�氓��,其实网页里面正常的应该是会员分析接着上面的例子,会员这部分乱码通过repr()函数求值得到如下结果\xc3\xa4\xc2\xbc\xc2\x9a\xc3\xa5\xc2\x91\xc2\x98使用type()函数求值得到的结果为unicodeeval(repr())出来值为盲录�氓��通过查表上述6个汉字对应c3a4c2bcc2

系统 2019-09-27 17:45:40 1896

Python

python购物车

python文件部分:user={'username':None}shopping_trolley={}shopping_num=[0]money=[0]my_money=[0]#获取商品列表defget_goods_list():withopen('shopping.txt',encoding='utf-8')asfr:shopping_dic=eval(fr.read())returnshopping_dicshopping_dic=get_goods

系统 2019-09-27 17:45:36 1896

Python

Python实现保证只能运行一个脚本实例

保证只能运行一个脚本实例,方法是程序运行时监听一个特定端口,如果失败则说明已经有实例在跑。使用装饰器实现,便于重用复制代码代码如下:importfunctoolsdefjust_one_instance(func):'''装饰器如果已经有实例在跑则退出复制代码代码如下::return:'''@functools.wraps(func)deff(*args,**kwargs):importsockettry:#全局属性,否则变量会在方法退出后被销毁globa

系统 2019-09-27 17:45:27 1896

Python

Python中的yield浅析

在介绍yield前有必要先说明下Python中的迭代器(iterator)和生成器(constructor)。一、迭代器(iterator)在Python中,for循环可以用于Python中的任何类型,包括列表、元祖等等,实际上,for循环可用于任何“可迭代对象”,这其实就是迭代器迭代器是一个实现了迭代器协议的对象,Python中的迭代器协议就是有next方法的对象会前进到下一结果,而在一系列结果的末尾是,则会引发StopIteration。任何这类的对象

系统 2019-09-27 17:38:45 1896

Python

Python实现多线程抓取妹子图

心血来潮写了个多线程抓妹子图,虽然代码还是有一些瑕疵,但是还是记录下来,分享给大家。Pic_downloader.py#-*-coding:utf-8-*-"""CreatedonFriAug0717:30:582015@author:Dreace"""importurllib2importsysimporttimeimportosimportrandomfrommultiprocessing.dummyimportPoolasThreadPooltype

系统 2019-09-27 17:38:32 1896

Python

python字符类型的一些方法小结

int数字类型classint(object):"""int(x=0)->intorlongint(x,base=10)->intorlongConvertanumberorstringtoaninteger,orreturn0ifnoargumentsaregiven.Ifxisfloatingpoint,theconversiontruncatestowardszero.Ifxisoutsidetheintegerrange,thefunctionre

系统 2019-09-27 17:38:22 1896

Python

Python生成随机验证码的两种方法

使用python生成随机验证码的方法有很多种,今天小编给大家分享两种方法,大家可以灵活运用这两种方法,设计出适合自己的验证码方法。方法一:利用range方法,对于range方法不清楚的同学,请参考文章《python开发的range()函数》#-*-coding:utf-8-*-importrandomdefgenerate_verification_code(len=6):'''随机生成6位的验证码'''#注意:这里我们生成的是0-9A-Za-z的列表,当

系统 2019-09-27 17:37:39 1896

Python

python3 模拟登录v2ex实例讲解

闲的无聊。。。网上一堆,正好练手(主要是新手)#coding=utf-8importrequestsfrombs4importBeautifulSoupheaders={'user-agent':'Mozilla/5.0(WindowsNT6.1;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/56.0.2924.87Safari/537.36','origin':'https://www.v2ex.

系统 2019-09-27 17:54:30 1895

Python

python引入导入自定义模块和外部文件的实例

项目中想使用以前的代码,或者什么样的需求致使你需要导入外部的包如果是web下,比如说django,那么你新建一个app,把你需要导入的说用东东,都写到这个app中,然后在setting中的app也配上基本就ok了如果是本地代码,可以有几种方式,1、这种最简单,也可能最不实用,将你的外部文件放到跟需要调用外部文件的文件同一个包下,同一目录folder------toinvoke.py------tobeinvoded.py这样在toinvoke.py中引入i

系统 2019-09-27 17:54:22 1895

Python

Python初学时购物车程序练习实例(推荐)

废话不多说,直接上代码#Author:LancyWuproduct_list=[('Iphone',5800),('MacPro',9800),('Bike',800),('Watch',10600),('Coffee',31),('LancyPython',120)]#商品列表shopping_list=[]#定义一个列表来存储已购商品salary=input("请输入工资:")ifsalary.isdigit():#当输入的内容为数字salary=in

系统 2019-09-27 17:54:07 1895

Python

LeetCode 腾讯50题Python实现之《二叉树中的最大路径》

题目给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例1:输入:[1,2,3]1/\23输出:6示例2:输入:[-10,9,20,null,null,15,7]-10/\920/\157输出:42思路关键是要求出,某一个根节点到某个子节点的最长路径是多少。最后的结果一定是某一个根节点的值加上它左右子树的那个最长路径。代码如下,代码ref:https://le

系统 2019-09-27 17:54:00 1895