自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(170)
  • 收藏
  • 关注

原创 PythonStudy——单线程并发的实现

# 使用yield实现单线程并发多个任务# 引子 : 生成器回顾# def func1():# print('1')# yield# print('2')# yield# print('3')# yield# res = func1()# print(res) # <generator obj...

2019-06-08 15:15:00 113

原创 PythonStudy——线程中的几种消息队列

Queuefrom queue import Queue,LifoQueue,PriorityQueue# 队列模块 queue# 类 Queue# 类 LifoQueue# 类 PriorityQueue# 与进程中的JoinableQueue 使用方式完全一样 但是没有IPCq = Queue()# 放入元素 put 方法q.put("...

2019-06-08 15:07:00 100

原创 PythonStudy——GIL Global Interpreter Lock 全局解释器锁

GIL 释义 Global Interpreter Lock 全局解释器锁官方解释:'''In CPython, the global interpreter lock, or GIL, is a mutex that prevents multiple native threads from executing Python bytecodes at once. This loc...

2019-06-05 21:47:00 118

原创 PythonStudy——异步回调

异步回调from concurrent.futures import ThreadPoolExecutorimport timepoo1 = ThreadPoolExecutor()def task(): time.sleep(2) return "饮料买好!!!"print("mission start......")# 定义一个...

2019-06-05 21:25:00 95

原创 PythonStudy——日志模块 logging

操作日志模块# 日志:日之石日常的流水,将程序运行过程中的状态或数据尽心记录,一般是记录到日志文件当中的。# 在正常的项目之中,项目的运行的一些打印信息,采用logging打印到文件当中,这个过程就称作为 日志记录模块# 以下为默认的操作日志模块代码!简单配置# 导入日志模块import logging# logging为默认打印者,是logging模块生成的模块生成对...

2019-06-05 20:30:00 84

原创 PythonStudy——进程池与线程池

获取当前运行环境的CPU核心数(线程数)import os,time# 获取当前运行环境的CPU核心数(线程数)print(os.cpu_count())# 8进程池(线程池)涉及到的专业英文词汇进程池(线程池)特点线程池,不仅帮我们管理了线程的开启和销毁,还帮我们管理任务的分配特点: 线程池中的线程只要开启之后 即使任务结束也不...

2019-06-05 19:51:00 94

原创 PythonStudy——多线程与多进程 对比

IO密集型任务子进程解决方案# test1 IO密集型任务 (法1:开启子进程的解决)from multiprocessing import Processimport timedef task(): time.sleep(2)if __name__ == '__main__': start = time.time() lst = [...

2019-06-05 17:29:00 72

原创 PythonStudy——线程 Thread

线程线程是操作系统中最小的运算调度单元,被包含在进程中,一个线程就是一个固定的执行流程线程和进程的关系线程不能单独存在 必须存在于进程中,​进程是一个资源单位,其包含了运行程序所需的所有资源​线程才是真正的执行单位​没有线程,进程中的资源无法被利用起来,所以一个进程至少包含一个线程,称之为主线程当我们启动一个程序时,操作系统就会自己为这个程序创建一个主线程​线程可...

2019-06-04 21:36:00 83

原创 PythonStudy——str bytes UTF-8 json struct 字符编码转换时的转换关系

# 以下内容来自CSDN#英文使用utf-8 转换成16进制hex字符串的方法newstr = 'asd'b_str = bytes(newstr,encoding='utf-8')print(b_str)hex_str = b_str.hex() #将bytes类型转换成16进制的hex字符串print(hex_str) #字节码转16进制hex的方法...

2019-06-01 16:31:00 131

原创 PythonStudy——多进程编程

进程一个正在被运行的程序就称之为进程,是程序具体执行过程,一种抽象概念进程来自于操作系统 多进程进程和程序的区别 程序就是一堆计算机可以识别文件,程序在没有被运行就是躺在硬盘上的一堆二进制运行程序时,要从硬盘读取数据到内存中,CPU从内存读取指令并执行 ,一旦运行就产生了进程 一个程序可以多次执行 产生多个进程,但是进程之间相互独立当我们右键运行了一个py文件时...

2019-05-31 20:52:00 78

原创 操作系统——操作系统发展历程及基本概念

操作系统(计算机管理控制程序)简介操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。操作系统的类型非常多样,不同机器安装的操...

2019-05-31 20:15:00 1083 1

原创 Python——列表去重

多种方法实现列表去重 待去重列表 lt1 = [1,3,2,3,4,5,3,5]使用集合(结果为升序)lt2 = list(set(lt1))使用字典lt2 = list({}.fromkeys(lt1).keys())使用排序lt2 = sorted(set(lt1),key=lt1.index) 使用列表生成式lt...

2019-05-31 19:58:00 64

原创 Socket——NAT穿透解决方案:UDP打洞

目标路由穿透,实现广域网P2P通讯。4种典型NAT类型按照NAT设备在进行地址映射时行为的不同,NAT可以分为以下四种:Full ConeRestricted ConePort Restricted ConeSymmentric 目前主要的NAT类型有如下几种: 1)Full-cone NAT, ...

2019-05-31 15:32:00 509

原创 PyPi——PyStun 获取NAT类型

PyPi——PyStun 获取NAT类型PyStun是一个获取NAT类型和外网IP的客户端,可以从这里获取到源码,它遵循了RFC 3489协议。安装代码:pip install pystun运行:$ pystunNAT Type: Symmetric NATExternal IP: <your-ip-here>External Port: 1...

2019-05-31 15:12:00 920

原创 PyPi——批量更新

pip --upgrade批量更新过期的python库今天看了下系统环境,不少python库都有了更新,再用旧版本库可能已经不适合了,就想把所有的库都更新到最新版本。查看系统里过期的python库,可以用pip命令pip list #列出所有安装的库pip list --outdated #列出所有过期的库对于列出的过期库,pip也提供了更新的命令...

2019-05-31 15:06:00 188

原创 阿里云——域名解析 相关配置

即可实现 http://www.tingguoguo.cn 跳转至 https://www.cnblogs.com/tingguoguoyo

2019-05-30 13:52:00 204

原创 PythonStudy——socket 网络编程

网络开发架构1.C/S架构即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。2.B/S架构B/S即:Browser与Server,中文意思:浏览器端与服务器端架构,这种架构是从用户层面来划分...

2019-05-28 21:19:00 103

原创 PythonStudy——异常处理

什么是异常异常指不同于常规的情况在python中是表示程序遇到了错误一旦出现了错误,解释器会给出错误详细信息,并终止程序的执行! 这个过程我们称为抛出异常常见异常AttributeError 试图访问一个对象没有的属性,比如foo.x,但是foo没有属性xIOError 输入/输出异常;无法打开文件或无法读写ImportError 无法引入模块或...

2019-05-24 20:58:00 109

原创 PythonStudy——subprocess 模块

subprocess 称之为子进程,进程是一个正在运行的程序为什么要使用子进程,因为之前的os.system()函数无法获取命令的执行结果,另一个问题是当我们启动了某一其他进程时无法与这个子进程进行通讯,当要在python程序中执行系统指令时 就应该使用subprocess 自动化运维经常会使用#测试res = os.system("python")print(res)...

2019-05-24 20:49:00 115

原创 PythonStudy——xlrd 与 xlwt 表格处理模块

excle结构分析 一个excle表格包含多个sheet 一个sheet中包含多行多列 每个单元格具备唯一的行号和列号xlrd 常用模块import xlrd# 读取文件work_book = xlrd.open_workbook("/Users/jerry/Desktop/公司机密数据.xlsx")# 选取一个表# 获取所有所有表格名称p...

2019-05-24 19:33:00 110

原创 MySQLStudy——安装与环境部署

一、下载MySQL首先,去数据库的官网http://www.mysql.com下载MySQL。下载完是一个压缩包zip (mysql-8.0.16-winx64.zip)我解压到了如下位置:二、配置我在上图所示的目录下创建了一个my.ini文件用于MySQL的初始化配置,以下为配置信息: my.ini[mysqld]# 设置3306端口por...

2019-05-22 16:27:00 103

原创 JupyterStudy——安装与环境部署

一、jupyter notebook是什么本博文是对学习jupyter notebook的一个汇总和记录,与大家一起分享!Jupyter Notebook是一个Web应用程序,允许您创建和共享包含实时代码,方程,可视化和说明文本的文档。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。简单的介绍就是:Jupyter Notebook是Ipython的升级版,而Ipython...

2019-05-22 15:36:00 104

原创 PythonStudy——封装

封装什么是封装 what 对外部隐藏内部的属性,以及实现细节 , 给外部提供使用的接口 注意:封装有隐藏的意思,但不是单纯的隐藏 学习封装的目的.就是为了能够限制外界对内部数据的访问 python中属性的权限分为两种1.公开的 没有任何限制 谁都能访问 2.私有的 只有当前类本身能够访问 默认为公共的 如何封装 how.................

2019-05-20 21:26:00 109

原创 PythonStudy——继承、接口、鸭子类型

1.继承的另一种使用方式 *****最常见的是直接继承一个已经存在的类当你想要创建一个新的类 发现这个类中的一些 在某一个类中已经存在那就没有必要从头开始写 ,可以直接继承已有的类 然后做补充 注意注意::::::class MyList(list): def __init__(self,element_cls): # 当你覆盖了init方法时 ...

2019-05-20 21:23:00 100

原创 PythonStudy——面向对象

# class Person:# color = "black"## def eat(self):# print("黑人哥们正在吃饭....")# 创建对象 也称之为实例化 产生的对象也称之为实例# p1 = Person()# print(p1)# print(p1.color)# print(p1.__dict__)## p2 = Person()# pri...

2019-05-20 21:21:00 124

原创 PythonStudy——xml 模块

"""XML 全称 可扩展标记语言<tag></tag> 双标签<tag/> 单标签 没有文本 一般用于设计文档结构 例如换行等<tr/> 表示换行<tag style="color:red" age="18">12345</tag>一个标签的完整组成 有三个部分tag 是标签名称12345 是文本内容 textname...

2019-05-20 21:19:00 70

原创 PythonStudy——configparser 模块

""" configparser模块 是什么: 用于解析配置文件的模块 配置文件的定义: 用于编写保存某个软件或是某个系统的 一系列参数的文件 设置 参数 为什么需要配置文件 无论是什么样软件应用程序 在执行的过程中 都需要很多的参数 而一些参数经常会需要修改 例如: qq里面的下...

2019-05-20 21:16:00 65

原创 PythonStudy——re 模块

# 正则:是有语法的字符串,用来匹配目标字符串的# 将目标字符串中的所以数字找出data = '123abc呵呵'res = re.findall(r'\d', data) # \d就代表数字print(res) # ['1', '2', '3']单个字符# re.I不区分大小写的匹配print(re.findall(r'a', 'abc123嘿嘿a...

2019-05-20 21:09:00 84

原创 PythonStudy——logging 模块

# 操作日志的模块# 日志:日常的流水,将程序运行过程中的状态或数据进行记录,一般都是记录到日志文件中# 在正常的项目中,项目运行的一些打印信息,采用looging打印到文件中,这个过程就称之为 记录日志# 非定制化配置import logging# logging为默认打印者,名字叫root,配置采用以下方式h1 = logging.StreamHandler()h2 =...

2019-05-20 21:06:00 61

原创 PythonStudy——标准三流

# 标准输入流# 系统格式化输入是通过以下方式实现的import sysres = sys.stdin.readline()# 标注格式化输出import syssys.stdout.write("此处为要输出的信息\n")# 标注输出流import syssys.stderr.write(“此处为要输出的信息\n”)...

2019-05-20 19:01:00 209

原创 PythonStudy——json 序列化 模块

# json: {} 与 [] 嵌套的数据# 注:json中的字符串必须全部用""来标识'''序列化:对象 => 字符串序列化成字符串:json.dumps(json_obj)序列化字符串到文件中:json.dump(json_obj, write_file)# 注:字符形式操作反序列化成对象:json.loads(json_str)从文件读流中反序列...

2019-05-08 20:36:00 75

原创 PythonStudy——os.path 系统路径操作 模块

'''执行文件的当前路径:__file__返回path规范化的绝对路径:os.path.abspath(path) 将path分割成目录和文件名二元组返回:os.path.split(path) 上一级目录:os.path.dirname(path) 最后一级名称:os.path.basename(path)指定路径是否存在:os.path.exists(path)...

2019-05-08 20:35:00 85

原创 PythonStudy——random:随机数 模块

'''(0, 1):random.random()[1, 10]:random.randint(1, 10)[1, 10):random.randrange(1, 10)(1, 10):random.uniform(1, 10)单例集合随机选择1个:random.choice(item)单例集合随机选择n个:random.sample(item, n)洗牌单列集合:...

2019-05-08 20:35:00 93

原创 PythonStudy——os 操作系统 模块

'''生成单级目录:os.mkdir('dirname')生成多层目录:os.makedirs('dirname1/.../dirnamen2')重命名:os.rename("oldname","newname") 工作目录:os.getcwd()删除单层空目录:os.rmdir('dirname')移除多层空目录:os.removedirs('dirname1/......

2019-05-08 20:34:00 232

原创 PythonStudy——sys:系统 模块

'''命令行参数List,第一个元素是程序本身路径:sys.argv退出程序,正常退出时exit(0):sys.exit(n) 获取Python解释程序的版本信息:sys.version最大int值:sys.maxsize | sys.maxint环境变量:sys.path操作系统平台名称:sys.platform'''其中提供了有一个arg属性用于接收从控...

2019-05-08 20:33:00 76

原创 PythonStudy——datatime 模块

'''当前时间:datetime.datetime.now()昨天:datetime.datetime.now() + datetime.timedelta(days=-1)修改时间:datatime_obj.replace([...])格式化时间戳:datetime.date.fromtimestamp(timestamp)'''...

2019-05-08 20:32:00 88

原创 PythonStudy——calendar 模块

'''判断闰年:calendar.isleap(year)查看某年某月日历:calendar.month(year, mouth)查看某年某月起始星期与当月天数:calendar.monthrange(year, mouth)查看某年某月某日是星期几:calendar.weekday(year, month, day)'''...

2019-05-08 20:31:00 142

原创 PythonStudy——time 模块

'''时间戳(timestamp):time.time()延迟线程的运行:time.sleep(secs)(指定时间戳下的)当前时区时间:time.localtime([secs])(指定时间戳下的)格林威治时间:time.gmtime([secs])(指定时间元组下的)格式化时间:time.strftime(fmt[,tupletime])''''''...

2019-05-08 20:30:00 63

原创 PythonStudy——shelve 模块

# 将序列化文件操作dump与load进行封装shv_dic = shelve.open("target_file") # 注:writeback允许序列化的可变类型,可以直接修改值# 序列化:存shv_dic['key1'] = 'value1'shv_dic['key2'] = 'value2'# 文件这样的释放shv_dic.close()s...

2019-05-08 20:28:00 66

原创 PythonStudy——hashlib 模块

# 不可逆加密:没有解密的加密方式 md5# 解密方式:碰撞解密# 加密的对象:用于传输的数据(字符串类型数据)# 一次加密:# 1.获取加密对象 hashlib.md5() => lock_obj# 2.添加加密数据 lock_obj.update(b'...') ... lock_obj.update(b'...')# 3.获取加密结果 lock.h...

2019-05-08 20:27:00 53

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除