随笔分类 - Python
摘要:API 接口文档: https://face-recognition.readthedocs.io 1 import face_recognition 2 image = face_recognition.load_image_file("your_file.jpg") 3 face_locatio
阅读全文
摘要:Face_Recognition更适合于Linux系统,性能方面Windows系统下发挥Linux系统的四分之一。 Windows系统下安装: 方法1:anaconda3.5以前的版本含3.5 安装visual studio2014: 安装C/C++ 编译器,VS主要用于之后boost库的编译。 安
阅读全文
摘要:进程池和线程池有两种提交任务的方式:同步提交和异步提交 下面的代码是异步提交不阻塞 获取爬取页面的信息 协程 目标:在线程下实现并发 并发(多个任务看起来是同时执行就是并发):切换+保存状态 协程是单线程实现并发 注意:协程是程序员意淫出来的东西,操作系统里只有进程和线程的概念(操作系统调度的是线程
阅读全文
摘要:GIL全局解释器锁 GIL本质就是一把互斥锁,和所有互斥锁本质一样,都是把并发运行变成串行,以此来控制同一时间内共享数据只能被一个任务修改,进而保证数据安全 保护不同的数据的安全,就应该加不同的锁。例如 IO模式下的就应该用多线程 (打开文件,time.sleep,输入输出等等),而计算相关的就是用
阅读全文
摘要:什么是线程 进程其实是一个资源单位,而进程内的线程才是cpu上的执行单位 线程其实指的就是代码的执行过程 为何要用线程 线程vs进程 同一进程下的多个线程共享该进程内的资源 创建线程的开销要远远小于进程 开启线程的两种方式: 方式一: 方式二: 线程特性: 在该进程内 所有线程是共享资源的 所以打印
阅读全文
摘要:IPC 机制有两种 一个是管道 一个是队列(队列=管道+锁) 管道用来实现两个进程连接进行通信 subprocess.Popen('tasklist',shell=True,) 就相当于 p=Process(target=tasklist) 只是发送一个信号出去 就是开一个子进程 主进程要想拿到子进
阅读全文
摘要:join方法 :先让子进程运行 进程之间内存空间的相互隔离 进程之间的内存是一种物理隔离的状态,相互之间的数据是无法共享的 进程对象其他相关的属性或方法 getpid 是获取id getppid就是获取父进程的id 当前的获取的是 pycharm的进程id 僵尸进程与孤儿进程 僵尸进程是有害的,一个
阅读全文
摘要:基于UDP通信的套接字 udp不存在粘包问题 是 一对一 对应的传值 并不存在粘包情况 基于 UDP 通信的套接字并不会和TCP 一样存在一个客户端与服务端连接了 必须等待第一个链接的客户端断开才能让第二个客户端链接的情况 它可以多个用户同时的发送消息给服务端但是 UDP 并不能安全的传输 而且传输
阅读全文
摘要:基于tcp通信的套接字必须先启动服务器再去启动客户端去链接服务器 客户端 服务端 这只是基于tcp通信的一个简单的套接字 只能进行一次的通信 服务端 客户端 这是能多次通信的套接字 在阻塞前添加一个循环就能实现一个链接循环 服务端 客户端 这是模拟ssh实现远程执行命令 粘包问题 二、两种情况下会发
阅读全文
摘要:套接字 AF_UNIX 基于本地的 AF_INET 基于网络的 套接字的一个服务端与客户端的代码 Client.py
阅读全文
摘要:单例模式 就是把多次实例化的结果指向同一个实例,实例化传的值得是相同 今天单例模式总共讲了四个实现方式: 方式一: 服务端需要遵循的原则: 1.服务端与客户端都需要有卫衣的地址,但是服务端的地址编写固定/绑定 2.对外一直提供服务,稳定运行 3.服务端应该支持并发 互联网协议: OSI七层协议 ip
阅读全文
摘要:什么是异常处理: 异常就是错误发生的信号,一旦程序出错就会产生一个异常,如果该异常没有被应用程序处理,那么该异常就会抛出来,程序的执行也就随之终止 异常包含三个部分: 1.traceback异常的追踪信息 2.异常的类型 3.异常的信息 错误分为两大类: 1.语法上的错误:在程序运行前就应该立即修正
阅读全文
摘要:反射:hasattr , getattr , setattr , delattr hasattr判断实例化的对象里面是否有这个值 class Peopel: def __init__(self,name,age): self.name=name self.age=age obj=Peopel('la
阅读全文
摘要:函数是第一类对象: 指的是函数名指向的值(函数)可以被当作数据去使用 可以被引用 可以当做参数传给另外一个函数 可以当做一个函数的返回值 可以当做容器类型的元素 函数的嵌套分为两大类: 一、函数的嵌套调用:在调用一个函数过程中,其内部代码又调用了其他函数 二、函数的嵌套定义:一个函数内部又定义了另外
阅读全文
摘要:函数就是具备某一哥功能的工具 为什么要用函数 1.程序的组织结构不清晰,可读性差 2.代码冗余 3.可扩展性差 如何用函数 函数的使用必须遵循的原则:先定义,后调用 修理工事先准备工具的过程即函数的定义 修理工遇到应用场景拿来工具就用即函数的调用 语法: def 函数名(参数1,参数2...) ""
阅读全文
摘要:文件的可读可写: r+t w+t a+t 默认是t模式,t不能单独使用,必须是rt,wt,at f.read() 读出来的是一个打的字符串 f.readlines() 相当于一个for循环 文件打开模式b模式 强调: 与t模式类似但是不能单独使用,必须是rb,wb,ab b模式下读写都是以bytes
阅读全文
摘要:文件是操作系统为用户/应用程序提供的一种操作硬盘的抽象单位 用户/应用程序对文件的读写操作会由操作系统转换成具体的硬盘操作,所以用户/应用程序可以通过简单的读/写文件来间接地控制复杂的硬盘的存取操作实现将内存中的数据永久保存到硬盘中 文件的操作步骤: file=open(...) 打开文件拿到一个f
阅读全文
摘要:基本使用:tuple 用途:记录多个值,当多个值没有改的需求,此时用元组更合适 定义方式:在()内用逗号分隔开多个任意类型的值tuple使用: t1=tuple('hello') 结果是('h','e','l','l','o') 常用操作+内置的方法 1.按索引取值(正向取+反向取):只能取 t[0
阅读全文
摘要:字符串类型 用途:记录描述性的状态,比如人的名字、地址、性别 定义方式:在'',"",""""""('''''')内包含一系列的字符 操作 ①按索引取值(正向取+反向取):只能取 msg=“hello world” msg【4】 取值为0 msg【-1】取值为d ②切片(顾头不顾尾,步长)就是从一个
阅读全文
摘要:什么是循环 循环就是一个重复的过程 为何要有循环 人可以重复的去做某一件事,程序中必须有一种机制能够控制计算机像人一样重复地去做某一件事 所有的循环都可以嵌套使用 if判断 人做事情的时候经常会有判断的过程,那么我们人要机器去做事情也要使得机器也有判断,if就是在这个时候使用的。 if的语法: if
阅读全文

浙公网安备 33010602011771号