Python

Python中的yield浅析

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

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

Python

python实现的解析crontab配置文件代码

#/usr/bin/envpython#-*-coding:utf-8-*-"""1.解析crontab配置文件中的五个数间参数(分时日月周),获取他们对应的取值范围2.将时间戳与crontab配置中一行时间参数对比,判断该时间戳是否在配置设定的时间范围内"""#$Id$importre,time,sysfromCore.FDateTime.FDateTimeimportFDateTimedefget_struct_time(time_stamp_int)

系统 2019-09-27 17:38:43 1709

Python

python套接字流重定向实例汇总

将套接字流重定向到标准输入或输出流#!/usr/bin/envpython3"""测试socket-stream重定向模式"""importsys,os,timefrommultiprocessingimportProcessfromsocketimport*definitListenerSocket(port=50008,host=''):"""初始化在服务器模式下调用者用于监听连接的套接字"""sock=socket()try:sock.bind((h

系统 2019-09-27 17:38:28 1709

Python

C++/Php/Python/Shell 程序按行读取文件或者控制台的实现

写程序经常需要用到从文件或者标准输入中按行读取信息,这里汇总一下。方便使用1.C++读取文件#include#includeintmain(){constchar*in_file="input_file_name";constchar*out_file="output_file_name";FILE*p_in=fopen(in_file,"r");if(!p_in){printf("openfile%sfailed!!!",in_file);return-

系统 2019-09-27 17:38:25 1709

Python

详解Python迭代和迭代器

我们将要来学习python的重要概念迭代和迭代器,通过简单实用的例子如列表迭代器和xrange。可迭代一个对象,物理或者虚拟存储的序列。list,tuple,strins,dicttionary,set以及生成器对象都是可迭代的,整型数是不可迭代的。如果你不确定哪个可迭代哪个不可以,你需要用python内建的iter()来帮忙。>>>iter([1,2,3])>>>iter({1:2,2:4})>>>iter(1234)Traceback(mostrece

系统 2019-09-27 17:38:24 1709

Python

python服务器端收发请求的实现代码

最近学习了python的一些服务器端编程,记录在此。发送get/post请求#coding:utf-8importhttplib,urllib#加载模块#urllib可以打开网站去拿#res=urllib.urlopen('http://baidu.com');#printres.headers#定义需要进行发送的数据params=urllib.urlencode({'param':'6'});#定义一些文件头headers={"Content-Type"

系统 2019-09-27 17:38:17 1709

Python

在Python的Tornado框架中实现简单的在线代理的教程

实现代理的方式很多种,流行的web服务器也大都有代理的功能,比如http://www.tornadoweb.cn用的就是nginx的代理功能做的tornadoweb官网的镜像。最近,我在开发一个移动运用(以下简称APP)的后台程序(Server),该运用需要调用到另一平台产品(Platform)的API。对于这个系统来说,可选的一种实现方式方式是APP同时跟Server&Platform两者交互;另一种则在Server端封装掉Platform的API,AP

系统 2019-09-27 17:38:17 1709

Python

全面了解Python的getattr(),setattr(),delattr

1.getattr()函数是Python自省的核心函数,具体使用大体如下:classA:def__init__(self):self.name='zhangjing'#self.age='24'defmethod(self):print"methodprint"Instance=A()printgetattr(Instance,'name,'notfind')#如果Instance对象中有属性name则打印self.name的值,否则打印'notfind'

系统 2019-09-27 17:38:16 1709

Python

python logging 日志轮转文件不删除问题的解决方法

前言最近在维护项目的python项目代码,项目使用了python的日志模块logging,设定了保存的日志数目,不过没有生效,还要通过contab定时清理数据。分析项目使用了logging的TimedRotatingFileHandler:#!/user/bin/envpython#-*-coding:utf-8-*-importloggingfromlogging.handlersimportTimedRotatingFileHandlerlog=log

系统 2019-09-27 17:38:11 1709

Python

python的sorted用法详解

列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。排序,数字、字符串按照ASCII,中文按照unicode从小到大排序x=[4,6,2,1,7,9]x.sort()print(x)#[1,2,4,6,7,9]如果需要一个排序好的副本,同时保持原有列表不变,怎么实现呢?x=[4,6,2,1,7,9]y=x[:]y.sort()print(y)#[1,2,4,6,7,9]print(x)#[4,

系统 2019-09-27 17:38:09 1709

Python

python代码 if not x: 和 if x is not None

代码中经常会有变量是否为None的判断,有三种主要的写法:第一种是`ifxisNone`;第二种是`ifnotx:`;第三种是`ifnotxisNone`(这句这样理解更清晰`ifnot(xisNone)`)。如果你觉得这样写没啥区别,那么你可就要小心了,这里面有一个坑。先来看一下代码:>>>x=1>>>notxFalse>>>x=[1]>>>notxFalse>>>x=0>>>notxTrue>>>x=[0]#Youdon'twanttofallinth

系统 2019-09-27 17:38:05 1709

Python

更改Python命令行交互提示符的方法

一、定制Python的交互提示符Python的默认交互提示符为“>>>”,但它是可以定制的。Python启动后,先寻找PYTHONSTARTUP环境变量,然后执行此文件中变量指定的执行代码。一些Linux发布包提供了缺省的启动脚本,一般存放在其home目录,名为.pythonstartup。“Tab完成”和“命令历史”这两个功能增强了提示符应用,两者都基于readline模块。如果没有.pythonstartup文件,可以自己创建一个。简单例子:复制代码代

系统 2019-09-27 17:37:55 1709

Python

在Python的Django框架中加载模版的方法

为了减少模板加载调用过程及模板本身的冗余代码,Django提供了一种使用方便且功能强大的API,用于从磁盘中加载模板,要使用此模板加载API,首先你必须将模板的保存位置告诉框架。设置的保存文件就是settings.py。如果你是一步步跟随我们学习过来的,马上打开你的settings.py配置文件,找到TEMPLATE_DIRS这项设置吧。它的默认设置是一个空元组(tuple),加上一些自动生成的注释。TEMPLATE_DIRS=(#Putstringshe

系统 2019-09-27 17:37:53 1709