- 军军小站|张军博客
搜索到与相关的文章
Python

Python generator生成器和yield表达式详解

前言Python生成器(generator)并不是一个晦涩难懂的概念。相比于MetaClass和Closure等概念,其较为容易理解和掌握。但相对于程序结构:顺序、循环和分支而言其又不是特别的直观。无论学习任何的东西,概念都是非常重要的。正确树立并掌握一些基础的概念是灵活和合理运用的前提,本文将以一种通俗易懂的方式介绍一下generator和yield表达式。1.Iterator与Iterable首先明白两点:Iterator(迭代器)是可迭代对象;可迭代

系统 2019-09-27 17:48:41 1898

Python

python数据结构和GIL及多进程

一数据结构和GIL1queue标准库queue模块,提供FIFO的queue、LIFO的队列,优先队列Queue类是线程安全的,适用于多线程间安全的交换数据,内部使用了Lock和Condition为什么说容器的大小不准确,其原因是如果不加锁,是不可能获取到准确的大小的,因为你刚读取了一个大小,还没取走,有可能被就被其他线程修改了,queue类的size虽然加了锁,但是依然不能保证立即get,put就能成功,因为读取大小和get,put方法是分来的。2GIL

系统 2019-09-27 17:48:10 1898

Python

python实现多线程采集的2个代码例子

代码一:#!/usr/bin/python#-*-coding:utf-8-*-#encoding=utf-8importthreadingimportQueueimportsysimporturllib2importreimportMySQLdb##数据库变量设置#DB_HOST='127.0.0.1'DB_USER="XXXX"DB_PASSWD="XXXXXXXX"DB_NAME="xxxx"##变量设置#THREAD_LIMIT=3jobs=Que

系统 2019-09-27 17:47:49 1898

Python

使用python编写android截屏脚本双击运行即可

测试的过程中经常需要截取屏幕,通常的做法是使用手机自带的截屏功能,然后将截屏文件复制出来,这种方法的优点是不需要连接数据线就可截屏,缺点则是生成的截屏文件命名是随机命名的,复制出来也比较麻烦。另一种方法是使用PC端的手机助手类软件。这里使用python编写一个截屏的脚本,双击运行脚本就OK,截屏成功后会将截屏文件已当前时间命名,并保存在存放脚本的当前路径的screenshot文件夹下:#!/usr/bin/envpythonimportosimportti

系统 2019-09-27 17:47:18 1898

Python

python 装饰器做缓存

使用装python饰器做缓存装饰器在之前的文章中有讲过,这里主要是说了装饰器的用法和应该怎么理解。这片文章给出一片补充:主要说在缓存方面的应用。在此之前呢,需要补充一些知识点:就是python查找变量的顺序是什么?答案就是LEGB原则:也就是`Local->Enclosed->Global->Built-in`也就是先在局部作用域内(例如函数内)进行查找,然后在[闭包]1内查找,接下来分别是全局作用域和内置的保留名称注意:闭包内的变量,不能改变,但是对于列

系统 2019-09-27 17:47:18 1898

Python

python实现监控linux性能及进程消耗性能的方法

本文以实例形式实现了python监控linux性能以及进程消耗性能的方法,具体实现代码如下:#-*-coding:utf-8-*-"""CreatedonTueJun1010:20:132014@author:lifeix"""fromcollectionsimportOrderedDictimporttimeimportosdefcpuinfo():lines=open('/proc/stat').readlines()forlineinlines:ln

系统 2019-09-27 17:47:12 1898

Python

Python获取当前脚本文件夹(Script)的绝对路径方法代码

Python脚本有一个毛病,当使用相对路径时,被另一个不同目录下的py文件中导入时,会报找不到对应文件的问题。感觉是当前工作目录变成了导入py文件当前目录。如果你有配置文件的读取操作,然后都放在一个py文件中,而你又用的是相对路径,而且这个py文件在多个不同目录下的py文件中被导入,那就呵呵了。。。还是用绝对路径吧。解决这个问题,可以用绝对路径。当然是自动的绝对路径,而不是每次都手动给前缀赋值,让脚本自动寻找当前文件的绝对路径。此处分享在python下获取

系统 2019-09-27 17:46:48 1898

Python

经验拾忆(纯手工)=> Python正则全解详解

预编译importrere1=re.compile(r'元字符组成的正则规则')#元字符下面会说re1.方法()#方法下边也会说元字符:表示普通字符:.#除了\n外都可以匹配的到\d#只匹配纯数字0-9\D#和\d相反,除了数字全都匹配\s#只匹配空格\S#和\s相反,除了空格,全都匹配#我喜欢用[\s\S]*?匹配所有\w#只匹配纯数字或大小写字母或下划线\W#与\w恰好相反,除了纯数字、大小写字母、下划线全都匹配[]#[abcde]只要包含这个列表的字

系统 2019-09-27 17:46:42 1898

Python

在Python中操作文件之read()方法的使用教程

read()方法读取文件size个字节大小。如果读取命中获得EOF大小字节之前,那么它只能读取可用的字节。语法以下是read()方法的语法:fileObject.read(size);参数size--这是可以从文件中读取的字节数。返回值此方法返回读取字符串中的字节数。例子下面的例子显示了read()方法的使用。#!/usr/bin/python#Openafilefo=open("foo.txt","rw+")print"Nameofthefile:",f

系统 2019-09-27 17:46:26 1898

Python

Python 11 (paramiko模块,ssh密钥,进程线程,锁,信号量)

本节内容paramiko模块(基于SSH用于连接远程服务器并执行相关操作)paramiko模块SSHClient用于连接远程服务器并执行基本命令基于用户名密码连接#Author:yyqianimportparamiko#创建SSH对象ssh=paramiko.SSHClient()#允许连接不在know_hosts文件中的主机ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#连接服务器ssh

系统 2019-09-27 17:46:15 1898