随笔分类 -  开发 / python

python技术栈
摘要:Anaconda(官方网站)就是可以便捷获取包且对包能够进行管理,同时对环境可以统一管理的发行版本。Anaconda包含了conda、Python在内的超过180个科学包及其依赖项。 下载地址:https://docs.conda.io/en/latest/miniconda.htmlAnaconda具有如下特点:▪ 开源▪ 安装过程简单▪ 高性能使用Python和R... 阅读全文
posted @ 2020-10-19 23:26 MKY-门可意 阅读(1457) 评论(0) 推荐(0)
摘要:模块提供了一系列对文件和文件集合的高阶操作。 特别是提供了一些支持文件拷贝和删除的函数提示:即便是高阶文件拷贝函数 (shutil.copy(), shutil.copy2()) 也无法拷贝所有的文件元数据。在 POSIX 平台上,这意味着将丢失文件所有者和组以及 ACL 数据。 在 Mac OS 上,资源钩子和其他元数据不被使用。 这意味着将丢失这些资源并且文件类型和创建者代码将不正确。 在 W... 阅读全文
posted @ 2020-10-14 10:18 MKY-门可意 阅读(133) 评论(0) 推荐(0)
摘要:什么是生成器generator? PYTHON中生成器可以简单的理解为就是迭代器,跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。生成器构建 1. 通过生成器函数 2. 通过生成器推导式 3. python... 阅读全文
posted @ 2020-10-13 15:20 MKY-门可意 阅读(160) 评论(0) 推荐(0)
摘要:列表推导式分为两种模式: 1.循环模式:[变量(加工的变量) for 变量 in iterable] 2.筛选模式: [变量(加工的变量) for 变量 in iterable if 条件]1、循环模式>>> a = [i for i in range(1,11) ] >>> a [1, 2, 3, 阅读全文
posted @ 2020-10-13 14:04 MKY-门可意 阅读(110) 评论(0) 推荐(0)
摘要:python解释器开始执行之后, 就会在内存中开辟一个空间, 每当遇到一个变量的时候, 就把变量名和值之间的关系记录下来, 但是当遇到函数定义的时候, 解释器只是把函数名读入内存, 表示这个函数存在了, 至于函数内部的变量和逻辑, 解释器并不关心. 也就是说一开始的时候函数只是加载进来, 仅此而已, 只有当函数被调用和访问的时候, 解释器才会根据函数内部声明的变量来进行开辟变量的内部空... 阅读全文
posted @ 2020-10-06 00:16 MKY-门可意 阅读(222) 评论(0) 推荐(0)
摘要:set是python基础数据类型,容器型(数组、字典、元组)。它要求它里面的元素是不可变(可哈希)的数据类型(int、str、bool等),但是本身又是可变的数据类型。集合是无序的 集合的作用: 列表去重 关系测试: 交集,并集,差集创建1、第一种s1=set() #创建一个空集合2、第二种s2={11,22,33,... 阅读全文
posted @ 2020-09-29 23:11 MKY-门可意 阅读(206) 评论(0) 推荐(0)
摘要:这里的defaultdict(function_factory)构建的是一个类似dictionary的对象,其中keys的值,自行确定赋值,但是values的类型,是function_factory的类实例,而且具有默认值。使用list作第一个参数,可以很容易将键-值对序列转换为列表字典。 1 import collections 2 s = [('yellow', 1), ('... 阅读全文
posted @ 2019-05-23 16:33 MKY-门可意 阅读(264) 评论(0) 推荐(0)
摘要:安装supervisor [root@ipv6-api ~]# pip3 install supervisor 生成配置文件 [root@ipv6-api ~]#echo_supervisord_conf > /etc/supervisord.conf 增加如下配置 [include]files = 阅读全文
posted @ 2019-04-23 09:21 MKY-门可意 阅读(614) 评论(1) 推荐(0)
摘要:1概念: a层级 1 1 1 1 1 1 1 1 1 b深度和广度层级 11111111111 先处理第一层然后在爬下一层的就是广度优先,从第一排第一个到m这样就是深度优先 11111111111 m111111111 实现的方法: 队列:入 [1,2,3,4,5,6]出 1 会先出 广度优先 栈: 阅读全文
posted @ 2018-07-08 20:44 MKY-门可意 阅读(311) 评论(0) 推荐(0)
摘要:现在很多项目用python2完成的,很多情况下2和3是同时存在的 大多人都是先安装了python2 安装python3: 下一步: 然后安装完成以后,去cmd控制台输入python看看安装成功了吗(用管理员打开命令行) 安装完成后增加python2的环境变量 但这个时候,python冲突了,所以我们 阅读全文
posted @ 2018-03-02 09:48 MKY-门可意 阅读(353) 评论(0) 推荐(0)
摘要:一 HTTP概述 HTTP(hypertext transport protocol),即超文本传输协议。这个协议详细规定了浏览器和万维网服务器之间互相通信的规则。 HTTP就是一个通信规则,通信规则规定了客户端发送给服务器的内容格式,也规定了服务器发送给客户端的内容格式。其实我们要学习的就是这个两 阅读全文
posted @ 2018-03-02 07:40 MKY-门可意 阅读(390) 评论(0) 推荐(0)
摘要:常量是指一旦初始化后就不能修改的固定值。c++中使用const保留字指定常量,而python并没有定义常量的保留字。但是python是一门功能强大的语言,可以自己定义一个常量类来实现常量的功能。 const.py 调用 test.py,这样就可以使用 了,这个值不能更改 阅读全文
posted @ 2017-09-15 11:17 MKY-门可意 阅读(18019) 评论(0) 推荐(0)
摘要:pcapy模块 安装 yum install -y epel-release yum install -y pip gcc gcc-c++ libpcap-devel python-devel pip install pcapy import pcapy as pcreader = pc.open_ 阅读全文
posted @ 2017-08-15 13:09 MKY-门可意 阅读(2144) 评论(0) 推荐(0)
摘要:xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公司如金融行业的很多系统的接口还主要是xml。 python有三种方法解析XML,SAX,DOM,以及ElementTree 阅读全文
posted @ 2017-07-19 13:06 MKY-门可意 阅读(204) 评论(0) 推荐(0)
摘要:简单例子: 1 #自定义验证类 2 class Check_form1(forms.Form): 3 #user就是要验证的字段,这里对应前端name <input type='text' name=user> 4 user = fields.CharField() 5 pwd = fields.C 阅读全文
posted @ 2017-07-12 22:14 MKY-门可意 阅读(312) 评论(0) 推荐(0)
摘要:Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。 gevent是第三方库,通过greenlet实现协程,其基本思想是: 当一个greenlet遇到IO操作时,比如访问网络,就自动切换到其他的greenlet,等到IO操作完成 阅读全文
posted @ 2017-07-10 13:57 MKY-门可意 阅读(583) 评论(0) 推荐(0)
摘要:术语 要使用 with 语句,首先要明白上下文管理器这一概念。有了上下文管理器,with 语句才能工作。 下面是一组与上下文管理器和with 语句有关的概念。 上下文管理协议(Context Management Protocol):包含方法 __enter__() 和 __exit__(),支持 阅读全文
posted @ 2017-07-07 10:50 MKY-门可意 阅读(818) 评论(0) 推荐(0)
摘要:multiprocessing是python的多进程管理包,和threading.Thread类似。直接从侧面用subprocesses替换线程使用GIL的方式,由于这一点,multiprocessing模块可以让程序员在给定的机器上充分的利用CPU。 在multiprocessing中,通过创建P 阅读全文
posted @ 2017-07-04 13:43 MKY-门可意 阅读(312) 评论(0) 推荐(0)
摘要:queue模块 Queue 就是对队列,它是线程安全的。线程之间不会有征用的问题 import queue q = queue.Queue(maxsize=0) # 构造一个先进显出队列,maxsize指定队列长度,为0 时,表示队列长度无限制。q.join() # 等到队列为kong的时候,在执行 阅读全文
posted @ 2017-07-04 11:04 MKY-门可意 阅读(322) 评论(0) 推荐(0)
摘要:多进程和多线程选择 一般来说IO密集型用线程(python中线程无法夸cpu执行,i在IO操作只会少许占用cpu,线程安全),计算密集型用多进程(多进程可以跑在不同cpu上)。线程带GIL锁,同时操作IO时候只有一个可以成功操作。 多进程和线程开多少合适? 理论上多进程个数可以等于cpu核数,线程数 阅读全文
posted @ 2017-06-28 13:25 MKY-门可意 阅读(212) 评论(0) 推荐(0)