搜索到与相关的文章
Python

python 并发编程 非阻塞IO模型原理解析

非阻塞IO(non-blockingIO)Linux下,可以通过设置socket使其变为non-blocking。当对一个non-blockingsocket执行读操作时,流程是这个样子:从图中可以看出,当用户进程发出read操作时,如果kernel中的数据还没有准备好,那么它并不会block用户进程,而是立刻返回一个error。从用户进程角度讲,它发起一个read操作后,并不需要等待,而是马上就得到了一个结果。用户进程判断结果是一个error时,它就知道

系统 2019-09-27 17:53:07 2167

Python

Python多线程编程(一):threading模块综述

Python这门解释性语言也有专门的线程模型,Python虚拟机使用GIL(GlobalInterpreterLock,全局解释器锁)来互斥线程对共享资源的访问,但暂时无法利用多处理器的优势。在Python中我们主要是通过thread和threading这两个模块来实现的,其中Python的threading模块是对thread做了一些包装的,可以更加方便的被使用,所以我们使用threading模块实现多线程编程。这篇文章我们主要来看看Python对多线程

系统 2019-09-27 17:51:00 2167

Python

Linux下安装python3.6和第三方库的教程详解

Linux下安装Python3.6和第三方库如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境,比如yum!!!!!不要动现有的python2环境!一、安装python3.61.安装依赖环境#yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develg

系统 2019-09-27 17:50:22 2167

Python

Python中函数的多种格式和使用实例及小技巧

这里先解释一下几个概念-位置参数:按位置设置的参数,隐式用元组保存对应形参.平时我们用的大多数是按位置传参.比如有函数deffunc(a,b,c),调用func(1,2,3).即a=1,b=2,c=3-关键字参数:可以通过关键字设置参数,不用关心参数位置,隐式用字典保存形参.比如有函数deffunc(a,b,c),调用func(b=1,c=2,a=3),即a=3,b=1,c=2普通格式复制代码代码如下:deffunc(opt_args):...return

系统 2019-09-27 17:50:13 2167

Python

Python实用库 PrettyTable 学习笔记

本文实例讲述了Python实用库PrettyTable。分享给大家供大家参考,具体如下:PrettyTable安装使用pip即可十分方便的安装PrettyTable,如下:pipinstallPrettyTablePrettyTable使用示例github上有PrettyTable的使用说明,链接如下:https://github.com/dprince/python-prettytable以下是具体的使用示例:importprettytableaspt按

系统 2019-09-27 17:50:01 2167

Python

Python 之父的解析器系列之五:左递归 PEG 语法

原题|Left-recursivePEGgrammars作者|GuidovanRossum(Python之父)译者|豌豆花下猫(“Python猫”公众号作者)声明|本翻译是出于交流学习的目的,基于CCBY-NC-SA4.0授权协议。为便于阅读,内容略有改动。我曾几次提及左递归是一块绊脚石,是时候去解决它了。基本的问题在于:使用递归下降解析器时,左递归会因堆栈溢出而导致程序终止。【这是我的PEG系列的第5部分。其它文章参见这个目录】假设有如下的语法规则:ex

系统 2019-09-27 17:49:42 2167

Python

用Python遍历C盘dll文件的方法

python的fnmatch还真是省心,相比于java中的FilenameFilter,真是好太多了,你完成不需要去实现什么接口。fnmatch配合os.walk()或者os.listdir(),你能做的事太多了,而且用起来相当easy。#coding:utf-8"""遍历C盘下的所有dll文件"""importosimportfnmatchdefmain():f=open('dll_list.txt','w')forroot,dirs,filesinos

系统 2019-09-27 17:48:05 2167

Python

【python】 一文弄懂浅拷贝与深拷贝

一、可变对象与非可变对象想要理解浅拷贝与深拷贝就必须得先明白可变对象与非可变对象。可变对象有:list,dict,set不可变对象有:int,float,bool,str,tuple。两者区别:对于可变对象,其值改变是在原地址上操作,不会创建新的内存地址。对于不可变对象其值改变是直接创建新的内存地址。二、赋值操作符‘=’表示对象的引用。python里面的赋值操作符‘=’实际上是对象的引用,其并没有进行复制操作。如果如果赋值操作符右边的操作数是字面值,比如字

系统 2019-09-27 17:46:11 2167

Python

python基本语法之汇率转化

#汇率的转化rmb_str_value=input('请输入你要转化的人民币金额')rmb_int_value=eval(rmb_str_value)us_vs_rmb=6.77usd_value=rmb_int_value/us_vs_rmbprint('美元的金额',usd_value)

系统 2019-09-27 17:45:50 2167

Python

在win和Linux系统中python命令行运行的不同

今天,在完成一个小的python习题,习题的主要内容是读取一个帮助模块,并保存到本地文件。知道是用pydoc进行模块的读取,但是在windows系统下,调用os模块之后,结果总是为空。核心语句:helpfile=os.popen('pydoc%s'%module).read()此语句在Linux下可以正常运行,结果正常。后来发现,在Windows下,该修改为:helpfile=os.popen('python-mpydoc%s'%module).read(

系统 2019-09-27 17:38:03 2167