2.从函数开始2.1.定义一个函数如下定义了一个求和函数:复制代码代码如下:defadd(x,y):returnx+y关于参数和返回值的语法细节可以参考其他文档,这里就略过了。使用lambda可以定义简单的单行匿名函数。lambda的语法是:复制代码代码如下:lambdaargs:expression参数(args)的语法与普通函数一样,同时表达式(expression)的值就是匿名函数调用的返回值;而lambda表达式返回这个匿名函数。如果我们给匿名函数
系统 2019-09-27 17:45:29 1613
python是支持多线程的,主要是通过thread和threading这两个模块来实现的。thread模块是比较底层的模块,threading模块是对thread做了一些包装的,可以更加方便的使用。虽然python的多线程受GIL限制,并不是真正的多线程,但是对于I/O密集型计算还是能明显提高效率,比如说爬虫。下面用一个实例来验证多线程的效率。代码只涉及页面获取,并没有解析出来。#-*-coding:utf-8-*-importurllib2,timeim
系统 2019-09-27 17:37:56 1613
献给初学者,老鸟别扔砖头编写SQL语句一直都是比较纳闷的事,编写时没有一个良好的检错机制,只能运行时才能发现错误,特别是关联的表一多起来,思绪不免会被搞得晕头转向最后不知迷失在什么地方了。近日偶然发现并不是M$没有提供一个良好的傻瓜化界面给我们这帮懒兄懒弟们使用,而是我们自己视而不见,那就是SQLServer中的视图管理器,它不仅可以让我们方便地在多个表中进行查询而不去理会他们之间的关系(当然多个表之间必须存在必要的关系),还可以用它进行别名、排序、条件等
系统 2019-08-29 21:55:37 1613
这些日子在公司测试机顶盒游戏,每次启动游戏的时候都要在windows黑色的dos窗口输命令,非常不方便,于是借着自己刚学的一点点python+wxPython的知识,写了这个telnet客户端,功能比较简单,根据需要可以再作修改。界面用wxGlade生成,本来我不喜欢wxGlade的,觉得不是很好用,但用着用着发现其实还不错,生成的代码也很容易和自己的代码结合。输入指令的输入框有默认的指令提示,为了方便写了个COMMAND指令列表,这是公司里用的,可以在源
系统 2019-08-12 09:30:17 1613
最近有个需求就是页面上执行shell命令,第一想到的就是os.system,复制代码代码如下:os.system('cat/proc/cpuinfo')但是发现页面上打印的命令执行结果0或者1,当然不满足需求了。尝试第二种方案os.popen()复制代码代码如下:output=os.popen('cat/proc/cpuinfo')printoutput.read()通过os.popen()返回的是fileread的对象,对其进行读取read()的操作可以
系统 2019-09-27 17:56:49 1612
本文实例讲述了Python进阶之使用selenium爬取淘宝商品信息功能。分享给大家供大家参考,具体如下:#encoding=utf-8__author__='Jonny'__location__='西安'__date__='2018-05-14''''需要的基本开发库文件:requests,pymongo,pyquery,selenium开发流程:搜索关键字:利用selenium驱动浏览器搜索关键字,得到查询后的商品列表分析页码并翻页:得到商品页码数,模
系统 2019-09-27 17:55:34 1612
es实现聚合es通过agg实现聚合,详情可见es文档有时候查询es数据的时候可能需要实现多字段groupby的功能,例如:SELECTsum(item_count)fromAgroupbyfield1,field2,field3要实现多个维度的聚合,需要嵌套的agg查询语句:{"query":{},"aggs":{"field1":{"terms":{"field":"field1","size":2147483647#设置一个大的分桶数,防止一次统计不完
系统 2019-09-27 17:51:32 1612
最近在做周报的时候,需要把csv文本中的数据提取出来制作表格后生产图表。在获取csv文本内容的时候,基本上都是用withopen(filename,encoding='UTF-8')asf:来打开csv文本,但是实际使用过程中发现有些csv文本并不是utf-8格式,从而导致程序在run的过程中报错,每次都需要手动去把该文本文件的编码格式修改成utf-8,再次来run该程序,所以想说:直接在程序中判断并修改文本编码。基本思路:先查找该文本是否是utf-8的编
系统 2019-09-27 17:46:34 1612
在使用Python编写面向对象的代码时,我们会常常使用“继承”这种开发方式。例如下面这一段代码:classInfo:def__init__(self):passdefcalc_age(self):print('我是父类的方法')classPeopleInfo(Info):def__init__(self):super().__init__()defcalc_age(self):print(123456)如果你使用PeopleInfo初始化一个对象,然后调用
系统 2019-09-27 17:46:07 1612
系统管理员通常从svn/git中检索代码,部署站点后通常首先会生成该站点所有文件的MD5值,如果上线后网站页面内容被篡改(如挂马)等,可以比对之前生成MD5值快速查找去那些文件被更改,为了使系统管理员第一时间发现,可结合crontab或nagios等工具。程序测试如下:#pythoncheck_change.pyUsage:pythoncheck_change.pyupdate/home/wwwrootpythoncheck_change.pycheck/
系统 2019-09-27 17:38:00 1612