绝大多数情况下,遍历一个集合都是为了对元素应用某个动作或是进行筛选。如果看过本文的第二部分,你应该还记得有内建函数map和filter提供了这些功能,但Python仍然为这些操作提供了语言级的支持。(x+1forxinlst)#生成器表达式,返回迭代器。外部的括号可在用于参数时省略。[x+1forxinlst]#列表解析,返回list如你所见,生成器表达式和列表解析(注:这里的翻译有很多种,比如列表展开、列表推导等等,指的是同一个意思)的区别很小,所以人们
系统 2019-09-27 17:38:27 1711
利用Python写了简单测试主机是否存活脚本,此脚本不适于线上使用,因为网络延迟、丢包现象会造成误报邮件,那么后续会更新判断三次ping不通后再发报警邮件,并启用多线程处理。#!/usr/bin/envpython#coding:UTF-8importtimeimportpexpectimportsmtplibfromemail.mime.textimportMIMETextmail_host="smtp.163.com"#定义smtp服务器mail_to
系统 2019-09-27 17:38:23 1711
Python字符串字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为:s="a1a2・・・an"(n>=0)它是编程语言中表示文本的数据类型。python的字串列表有2种取值顺序:从左到右索引默认0开始的,最大范围是字符串长度少1从右到左索引默认-1开始的,最大范围是字符串开头如果你的实要取得一段子串的话,可以用到变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。比如
系统 2019-09-27 17:38:20 1711
在Python2.5中,with关键字被加入。它将常用的try...except...finally...模式很方便的被复用。看一个最经典的例子:withopen('file.txt')asf:content=f.read()在这段代码中,无论with中的代码块在执行的过程中发生任何情况,文件最终都会被关闭。如果代码块在执行的过程中发生了一个异常,那么在这个异常被抛出前,程序会先将被打开的文件关闭。再看另外一个例子。在发起一个数据库事务请求的时候,经常会用
系统 2019-09-27 17:38:19 1711
python语句与语法1.python简单语句的基本介绍>>>whileTrue:#简单的while循环...reply=input('Entertext:')#调用了Input,将输入传参给reply...ifreply=='stop':break#如果输入的是stop就退出循环...print(reply.upper())#如果输入的不是stop就一直将输入的转换为大写字母...Entertext:abc#这是第一个输入abc,看到下面转换成大写的AB
系统 2019-09-27 17:38:15 1711
本文介绍如果使用python汇总常用的图表,与Excel的点选操作相比,用python绘制图表显得比较比较繁琐,尤其提现在对原始数据的处理上。但两者在绘制图表过程中的思路大致相同,Excel中能完成的工作python大多也能做到。为了更清晰的说明使用python绘制图表的过程,我们在汇总图表的代码中进行注解,说明每一行代码的具体作用。并在文章的最后给出了自定义字体和图表配色的对应表。准备工作importnumpyasnpimportpandasaspd#导
系统 2019-09-27 17:38:09 1711
以下函数列出某个目录下(包括子目录)所有文件,本随笔重点不在于递归函数的实现,这是一个很简单的递归,重点在于熟悉Python库os以及os.path一些函数的功能和用法。1.os.listdir(path):列出path下所有内容(包括文件和目录,不包括.和..)2.os.path.join(path1,path2,path3...):拼接目录,例如将'home','test'拼接成'home/test/'3.os.path.isdir(path):判断p
系统 2019-09-27 17:38:04 1711
GIL在Python中,由于历史原因(GIL),使得Python中多线程的效果非常不理想.GIL使得任何时刻Python只能利用一个CPU核,并且它的调度算法简单粗暴:多线程中,让每个线程运行一段时间t,然后强行挂起该线程,继而去运行其他线程,如此周而复始,直到所有线程结束.这使得无法有效利用计算机系统中的"局部性",频繁的线程切换也对缓存不是很友好,造成资源的浪费.据说Python官方曾经实现了一个去除GIL的Python解释器,但是其效果还不如有GIL
系统 2019-09-27 17:37:58 1711
Python的标准库中的os模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。下面列出了一些在os模块中比较有用的部分。它们中的大多数都简单明了。os.sep可以取代操作系统特定的路径分隔符。windows下为“\\”os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Un
系统 2019-09-27 17:37:58 1711
python是支持多线程的,主要是通过thread和threading这两个模块来实现的。thread模块是比较底层的模块,threading模块是对thread做了一些包装的,可以更加方便的使用。虽然python的多线程受GIL限制,并不是真正的多线程,但是对于I/O密集型计算还是能明显提高效率,比如说爬虫。下面用一个实例来验证多线程的效率。代码只涉及页面获取,并没有解析出来。#-*-coding:utf-8-*-importurllib2,timeim
系统 2019-09-27 17:37:56 1711