05 2019 档案

摘要:进程 一个正在被运行的程序就称之为进程,是程序具体执行过程,一种抽象概念 进程来自于操作系统 多进程 进程和程序的区别 程序就是一堆计算机可以识别文件,程序在没有被运行就是躺在硬盘上的一堆二进制 运行程序时,要从硬盘读取数据到内存中,CPU从内存读取指令并执行 , 一旦运行就产生了进程 一个程序可以 阅读全文
posted @ 2019-05-31 20:52 挺锅锅 阅读(182) 评论(0) 推荐(0)
摘要:操作系统(计算机管理控制程序) 简介 操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系 阅读全文
posted @ 2019-05-31 20:15 挺锅锅 阅读(4093) 评论(0) 推荐(0)
摘要:多种方法实现列表去重 待去重列表 lt1 = [1,3,2,3,4,5,3,5] 使用集合(结果为升序) 使用字典 使用排序 使用列表生成式 lambda + reduce(大才小用) while 阅读全文
posted @ 2019-05-31 19:58 挺锅锅 阅读(1097) 评论(0) 推荐(0)
摘要:目标 路由穿透,实现广域网P2P通讯。 4种典型NAT类型 按照NAT设备在进行地址映射时行为的不同,NAT可以分为以下四种: Full Cone Restricted Cone Port Restricted Cone Symmentric 目前主要的NAT类型有如下几种: 1)Full-cone 阅读全文
posted @ 2019-05-31 15:32 挺锅锅 阅读(3768) 评论(0) 推荐(0)
摘要:PyPi——PyStun 获取NAT类型 PyStun是一个获取NAT类型和外网IP的客户端,可以从这里获取到源码,它遵循了RFC 3489协议。 安装代码: 运行: 想要了解更多使用选项,可以使用--help参数: 阅读全文
posted @ 2019-05-31 15:12 挺锅锅 阅读(1877) 评论(0) 推荐(0)
摘要:pip --upgrade批量更新过期的python库 今天看了下系统环境,不少python库都有了更新,再用旧版本库可能已经不适合了,就想把所有的库都更新到最新版本。 查看系统里过期的python库,可以用pip命令 对于列出的过期库,pip也提供了更新的命令 演示: 阅读全文
posted @ 2019-05-31 15:06 挺锅锅 阅读(408) 评论(0) 推荐(0)
摘要:即可实现 http://www.tingguoguo.cn 跳转至 https://www.cnblogs.com/tingguoguoyo 阅读全文
posted @ 2019-05-30 13:52 挺锅锅 阅读(333) 评论(0) 推荐(0)
摘要:网络开发架构 1.C/S架构 即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。 这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。 2.B/S架构 B/S即:Br 阅读全文
posted @ 2019-05-28 21:19 挺锅锅 阅读(217) 评论(0) 推荐(0)
摘要:什么是异常 异常指不同于常规的情况 在python中是表示程序遇到了错误 一旦出现了错误,解释器会给出错误详细信息,并终止程序的执行! 这个过程我们称为抛出异常 常见异常 AttributeError 试图访问一个对象没有的属性,比如foo.x,但是foo没有属性x IOError 输入/输出异常; 阅读全文
posted @ 2019-05-24 20:58 挺锅锅 阅读(121) 评论(0) 推荐(0)
摘要:subprocess 称之为子进程,进程是一个正在运行的程序 为什么要使用子进程,因为之前的os.system()函数无法获取命令的执行结果,另一个问题是当我们启动了某一其他进程时无法与这个子进程进行通讯, 当要在python程序中执行系统指令时 就应该使用subprocess 自动化运维经常会使用 阅读全文
posted @ 2019-05-24 20:49 挺锅锅 阅读(209) 评论(0) 推荐(0)
摘要:excle结构分析 一个excle表格包含多个sheet 一个sheet中包含多行多列 每个单元格具备唯一的行号和列号 xlrd 常用模块 xlwt模块 是python中一个第三方的用于写入excle数据到表格的模块 用代码来编写exlce是非常低效的 所以该模块了解即可。 阅读全文
posted @ 2019-05-24 19:33 挺锅锅 阅读(290) 评论(0) 推荐(0)
摘要:一、下载MySQL 首先,去数据库的官网http://www.mysql.com下载MySQL。 下载完是一个压缩包zip (mysql-8.0.16-winx64.zip) 我解压到了如下位置: 二、配置 我在上图所示的目录下创建了一个my.ini文件用于MySQL的初始化配置,以下为配置信息: 阅读全文
posted @ 2019-05-22 16:27 挺锅锅 阅读(590) 评论(0) 推荐(0)
摘要:一、jupyter notebook是什么 本博文是对学习jupyter notebook的一个汇总和记录,与大家一起分享! Jupyter Notebook是一个Web应用程序,允许您创建和共享包含实时代码,方程,可视化和说明文本的文档。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等 阅读全文
posted @ 2019-05-22 15:36 挺锅锅 阅读(427) 评论(0) 推荐(0)
摘要:封装 什么是封装 what 对外部隐藏内部的属性,以及实现细节 , 给外部提供使用的接口 注意:封装有隐藏的意思,但不是单纯的隐藏 学习封装的目的.就是为了能够限制外界对内部数据的访问 python中属性的权限分为两种 1.公开的 没有任何限制 谁都能访问 2.私有的 只有当前类本身能够访问 默认为 阅读全文
posted @ 2019-05-20 21:26 挺锅锅 阅读(274) 评论(0) 推荐(0)
摘要:1.继承的另一种使用方式 ***** 最常见的是直接继承一个已经存在的类 当你想要创建一个新的类 发现这个类中的一些 在某一个类中已经存在 那就没有必要从头开始写 ,可以直接继承已有的类 然后做补充 注意注意:::::: 2.super()的问题 mro列表 python支持多继承 一个类可以同时继 阅读全文
posted @ 2019-05-20 21:23 挺锅锅 阅读(266) 评论(0) 推荐(0)
摘要:# class Person:# color = "black"## def eat(self):# print("黑人哥们正在吃饭....")# 创建对象 也称之为实例化 产生的对象也称之为实例# p1 = Person()# print(p1)# print(p1.color)# print(p 阅读全文
posted @ 2019-05-20 21:21 挺锅锅 阅读(157) 评论(0) 推荐(0)
摘要:"""XML 全称 可扩展标记语言<tag></tag> 双标签<tag/> 单标签 没有文本 一般用于设计文档结构 例如换行等<tr/> 表示换行<tag style="color:red" age="18">12345</tag>一个标签的完整组成 有三个部分tag 是标签名称12345 是文本 阅读全文
posted @ 2019-05-20 21:19 挺锅锅 阅读(90) 评论(0) 推荐(0)
摘要:""" configparser模块 是什么: 用于解析配置文件的模块 配置文件的定义: 用于编写保存某个软件或是某个系统的 一系列参数的文件 设置 参数 为什么需要配置文件 无论是什么样软件应用程序 在执行的过程中 都需要很多的参数 而一些参数经常会需要修改 例如: qq里面的下载路径 ATM中的 阅读全文
posted @ 2019-05-20 21:16 挺锅锅 阅读(107) 评论(0) 推荐(0)
摘要:# 正则:是有语法的字符串,用来匹配目标字符串的 单个字符 正则匹配步骤 多个字符 多行匹配 分组 拆分与替换 阅读全文
posted @ 2019-05-20 21:09 挺锅锅 阅读(137) 评论(0) 推荐(0)
摘要:# 操作日志的模块# 日志:日常的流水,将程序运行过程中的状态或数据进行记录,一般都是记录到日志文件中# 在正常的项目中,项目运行的一些打印信息,采用looging打印到文件中,这个过程就称之为 记录日志 多输出者 定制版配置文件 阅读全文
posted @ 2019-05-20 21:06 挺锅锅 阅读(226) 评论(0) 推荐(0)
摘要:# 标准输入流 # 系统格式化输入是通过以下方式实现的 # 标注格式化输出 # 标注输出流 阅读全文
posted @ 2019-05-20 19:01 挺锅锅 阅读(175) 评论(0) 推荐(0)
摘要:# json: {} 与 [] 嵌套的数据 # 注:json中的字符串必须全部用""来标识 ''' 序列化:对象 => 字符串 序列化成字符串:json.dumps(json_obj) 序列化字符串到文件中:json.dump(json_obj, write_file) # 注:字符形式操作 反序列化成对象:json.loads(json_str) 从文件读流中反序列化成对象:json.loa... 阅读全文
posted @ 2019-05-08 20:36 挺锅锅 阅读(89) 评论(0) 推荐(0)
摘要:''' 执行文件的当前路径:__file__ 返回path规范化的绝对路径:os.path.abspath(path) 将path分割成目录和文件名二元组返回:os.path.split(path) 上一级目录:os.path.dirname(path) 最后一级名称:os.path.basename(path) 指定路径是否存在:os.path.exists(path) 是否是绝对路... 阅读全文
posted @ 2019-05-08 20:35 挺锅锅 阅读(92) 评论(0) 推荐(0)
摘要:''' (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) 洗牌单列集合:random.s... 阅读全文
posted @ 2019-05-08 20:35 挺锅锅 阅读(120) 评论(0) 推荐(0)
摘要:''' 生成单级目录:os.mkdir('dirname') 生成多层目录:os.makedirs('dirname1/.../dirnamen2') 重命名:os.rename("oldname","newname") 工作目录:os.getcwd() 删除单层空目录:os.rmdir('dirname') 移除多层空目录:os.removedirs('dirname1/.../dirnam... 阅读全文
posted @ 2019-05-08 20:34 挺锅锅 阅读(186) 评论(0) 推荐(0)
摘要:其中提供了有一个arg属性用于接收从控制台传入的参数,当你要开发一款命令行程序时,该属性非常重要 案例:开发一款命令行界面的文件复制工具 思路:第一个参数是当前执行文件本身,第二个参数用于接收源文件,第三个参数用于接收目标文件 阅读全文
posted @ 2019-05-08 20:33 挺锅锅 阅读(124) 评论(0) 推荐(0)
摘要:''' 当前时间:datetime.datetime.now() 昨天:datetime.datetime.now() + datetime.timedelta(days=-1) 修改时间:datatime_obj.replace([...]) 格式化时间戳:datetime.date.fromtimestamp(timestamp) ''' 阅读全文
posted @ 2019-05-08 20:32 挺锅锅 阅读(104) 评论(0) 推荐(0)
摘要:''' 判断闰年:calendar.isleap(year) 查看某年某月日历:calendar.month(year, mouth) 查看某年某月起始星期与当月天数:calendar.monthrange(year, mouth) 查看某年某月某日是星期几:calendar.weekday(year, month, day) ''' 阅读全文
posted @ 2019-05-08 20:31 挺锅锅 阅读(110) 评论(0) 推荐(0)
摘要:''' 时间戳(timestamp):time.time() 延迟线程的运行:time.sleep(secs) (指定时间戳下的)当前时区时间:time.localtime([secs]) (指定时间戳下的)格林威治时间:time.gmtime([secs]) (指定时间元组下的)格式化时间:time.strftime(fmt[,tupletime]) ''' ''' %y 两位数的年份表示... 阅读全文
posted @ 2019-05-08 20:30 挺锅锅 阅读(112) 评论(0) 推荐(0)
摘要:# 将序列化文件操作dump与load进行封装 shv_dic = shelve.open("target_file") # 注:writeback允许序列化的可变类型,可以直接修改值 # 序列化:存 shv_dic['key1'] = 'value1' shv_dic['key2'] = 'value2' # 文件这样的释放 shv_dic.close() shv_dic = she... 阅读全文
posted @ 2019-05-08 20:28 挺锅锅 阅读(105) 评论(0) 推荐(0)
摘要:# 不可逆加密:没有解密的加密方式 md5 # 解密方式:碰撞解密 # 加密的对象:用于传输的数据(字符串类型数据) # 一次加密: # 1.获取加密对象 hashlib.md5() => lock_obj # 2.添加加密数据 lock_obj.update(b'...') ... lock_obj.update(b'...') # 3.获取加密结果 lock.hexdigest() ... 阅读全文
posted @ 2019-05-08 20:27 挺锅锅 阅读(81) 评论(0) 推荐(0)
摘要:import hmac # hmac.new(arg) # 必须提供一个参数 cipher = hmac.new('加密的数据'.encode('utf-8')) print(cipher.hexdigest()) cipher = hmac.new('前盐'.encode('utf-8')) cipher.update('加密的数据'.encode('utf-8')) print(ciph... 阅读全文
posted @ 2019-05-08 20:27 挺锅锅 阅读(89) 评论(0) 推荐(0)
摘要:# 基于路径的文件复制: shutil.copyfile('source_file', 'target_file') # 基于流的文件复制: with open('source_file', 'rb') as r, open('target_file', 'wb') as w: shutil.copyfileobj(r, w) # 递归删除目标目录 shutil.rmtree... 阅读全文
posted @ 2019-05-08 20:27 挺锅锅 阅读(97) 评论(0) 推荐(0)
摘要:# 为什么有很多序列化和反序列化模块 # 因为程序中会出现各种各样的对象,如果要将这些对象持久化存储,必须先序列化 # 只有序列化存储后,必须有对应的反序列化,才能保证存储的数据能被重新读取使用 # 什么是序列化:对象 => 字符串 # 为什么序列化:存 或 传 # 为什么要反序列化:再次使用 # 为什么有很多序列化模块:存与取的算法可以多种多样,且要配套 import pickle obj... 阅读全文
posted @ 2019-05-08 20:26 挺锅锅 阅读(126) 评论(0) 推荐(0)
摘要:# json语言,就是一种有语法规范的字符串,用来存放数据的,完成各种语言之间的数据交互 # 1.就是{}与[]的组合,{}存放双列信息(类比为字典),[]存放单列信息(类比为列表) # 2.{}的key必须是字符串,且必须用""包裹 # 3.{}与[]中支持的值的类型: dict | list | int | float | bool | null | str # 序列化:将对象转换为字符... 阅读全文
posted @ 2019-05-08 20:24 挺锅锅 阅读(138) 评论(0) 推荐(0)
摘要:项目开发周期 阅读全文
posted @ 2019-05-08 20:21 挺锅锅 阅读(266) 评论(0) 推荐(0)
摘要:跨文件夹移动文件 阅读全文
posted @ 2019-05-08 20:20 挺锅锅 阅读(292) 评论(0) 推荐(0)
摘要:递归删除的思路 递归遍历打印目标路径中所有的txt文件 阅读全文
posted @ 2019-05-08 20:19 挺锅锅 阅读(1033) 评论(0) 推荐(0)
摘要:模块的两种被执行方式 包 直接使用包中模块 # 如果只是想作为普通文件夹,py3中可以省略__init__文件,本质上文件夹也是包 # 导入的手段:1.指名道姓到某一个模块 | 2.指名道姓到某一个模块中的名字 包的管理 阅读全文
posted @ 2019-05-08 20:17 挺锅锅 阅读(2508) 评论(0) 推荐(1)
摘要:导入模板完成的三件事 起别名 模块的分类 # 大方向:内置(built-in) | 自定义(系统提供 | 第三方提高 | 自己自定义) 模块的加载顺序 # 内存 > 内置 > sys.path (安装环境变量中路径的先后顺序逐一加载) 环境变量 # 环境变量:存放路径的list,第一位默认一定是当前 阅读全文
posted @ 2019-05-08 20:14 挺锅锅 阅读(246) 评论(0) 推荐(0)
摘要:ASCII码表: 请熟记: 0-9 :48-57 A-Z :65-90 a-z : 97-122 binary 二进制 0b 。。。 octal 八进制 0o 。。。 hex 十六进制 0x 。。。 阅读全文
posted @ 2019-05-08 19:23 挺锅锅 阅读(365) 评论(0) 推荐(0)
摘要:# 1.max内部会遍历iter,将遍历结果一一传给lambda的参数x# 2.依据lambda的返回值作为比较条件,得到最大条件下的那个遍历值# 3.对外返回最大的遍历值 # 输出结果为: alex # min工作原理一样,得到的是最小值 阅读全文
posted @ 2019-05-08 19:13 挺锅锅 阅读(293) 评论(0) 推荐(0)
摘要:# 匿名函数:# 1.匿名函数没有函数名# 2.匿名函数的关键字采用lambda# 3.关键字 lambda 与标识函数功能体 : 之间一定是参数,所以省略()# 4.匿名还是没有函数体,只有返回值,所以函数体和返回值的return关键字都省略了 # 注意:# 1.参数的使用和有名函数一样,六种形参 阅读全文
posted @ 2019-05-02 22:38 挺锅锅 阅读(454) 评论(0) 推荐(0)
摘要:# send的工作原理# 1.send发生信息给当前停止的yield# 2.再去调用__next__()方法,生成器接着往下指向,返回下一个yield值并停止 # 案例: 阅读全文
posted @ 2019-05-02 22:36 挺锅锅 阅读(140) 评论(0) 推荐(0)