随笔分类 -  Python3

摘要:多进程(multiprocessing)的用法和多线程(threading)类似,里面的函数也一样,start()为启动函数,join() 等待该进程运行结束,每一个进程也是由它的父进程产生 1.简单的多进程: 运行结果: 2.证明进程是由父进程产生的: 运行结果 其中9204是pycharm产生的 阅读全文
posted @ 2018-11-18 23:15 CansonHai 阅读(294) 评论(0) 推荐(0)
摘要:进程——资源分配的最小单位,线程——程序执行的最小单位 什么是进程? 程序的执行实例称为进程。每个进程都提供执行程序所需的资源。一个进程有一个虚拟地址空间,可执行代码,打开系统对象的句柄,安全上下文,一个独特的过程,pid标识符,环境变量,优先级类,最小和最大工作集大小,并且至少有一个执行线程。每个 阅读全文
posted @ 2018-11-15 16:48 CansonHai 阅读(369) 评论(0) 推荐(0)
摘要:该模块可以模拟ssh连接服务器,也可以实现sftp的上传下载功能: 登录时有两种方式,一是用户名密码登录,二是通过RSA非对称秘钥对实现免密登录 首先介绍一下哎服务器上怎么实现免密登录: 下面逐一介绍,并附上源码: 一、利用paramiko实现ssh功能 1.用户名密码登录 2.RSA免密登录 二、 阅读全文
posted @ 2018-11-14 17:15 CansonHai 阅读(195) 评论(0) 推荐(0)
摘要:#!/usr/bin/env python # _*_ coding:utf-8 _*_ # Author:CarsonLi ''' 断言一般用于后面有非常重要的操作,需要使用前面的数据,而且不容许出错 这里就用的到断言,也可以用 ''' name="Bert" assert type(name) is str print("断言name是str类型") assert typ... 阅读全文
posted @ 2018-10-14 17:20 CansonHai 阅读(712) 评论(0) 推荐(0)
摘要:异常处理Demo: 执行结果: 自定义异常: 阅读全文
posted @ 2018-10-14 17:00 CansonHai 阅读(443) 评论(1) 推荐(0)
摘要:反射就是通过字符串映射或修改程序运行时的状态、属性、方法 有四个常用方法: hasattr(obj,name_str) 判断一个obj对象是否有对应name_str的方法 getattr(obj,name_str) 根据字符串name_str获取Obj对象中对应方法的内存地址 setattr(obj 阅读全文
posted @ 2018-10-14 16:38 CansonHai 阅读(364) 评论(0) 推荐(0)
摘要:动态导入模块就是只知道str类型的模块名字符串,通过这个字符串导入模块 需要导入的模块: 目录结构: 第一种方式:python解释器内部使用,不建议用 第二种方式:与上面效果一样,官方建议用这个 阅读全文
posted @ 2018-10-14 16:33 CansonHai 阅读(5529) 评论(0) 推荐(0)
摘要:socket只能实现同时一个服务和一个客户端实现交互,socketserver可以实现多个客户端同时和服务端交互 1.利用Socket编写简单的同一个端口容许多次会话的小案例: 服务端: 客户端: 服务端运行结果: 客户端运行结果: 2.SocketServer 支持多个客户端 3.模拟ftp上传下 阅读全文
posted @ 2018-10-14 15:28 CansonHai 阅读(1052) 评论(0) 推荐(1)
摘要:1.静态方法: 运行结果: 2.类方法: 运行结果: 3.属性方法: 属性方法设置参数和删除参数的函数名可以和该参数名一样,也可以不一样 阅读全文
posted @ 2018-09-11 18:00 CansonHai 阅读(401) 评论(0) 推荐(0)
摘要:小案例: 运行结果: 面向对象的三大特性之一继承 运行结果: 深度优先与广度优先的图解 广度优先的顺序为:A-B-C-D-E-F-G-H-I 深度优先的顺序为:A-B-D-E-I-C-F-G-H 面向对象的三大特性之一多态 运行结果: 阅读全文
posted @ 2018-07-21 17:45 CansonHai 阅读(183) 评论(0) 推荐(0)
摘要:常用正则表达式方法: 最常用的匹配语法: 反斜杠的困扰与大多数编程语言相同,正则表达式里使用"\"作为转义字符,这就可能造成反斜杠困扰。假如你需要匹配文本中的字符"\",那么使用编程语言表示的正则表达式里将需要4个反斜杠"\\\\":前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后 阅读全文
posted @ 2018-07-19 17:58 CansonHai 阅读(706) 评论(0) 推荐(0)
摘要:YAML 是专门用来写配置文件的语言,非常简洁和强大 它的基本语法规则如下: 1、大小写敏感 2、使用缩进表示层级关系 3、缩进时不允许使用Tab键,只允许使用空格。 4、缩进的空格数目不重要,只要相同层级的元素左侧对齐即可 5、# 表示注释,从这个字符一直到行尾,都会被解析器忽略,这个和pytho 阅读全文
posted @ 2018-07-18 15:04 CansonHai 阅读(268) 评论(0) 推荐(0)
摘要:hashlib 是一个提供了一些流行的hash算法的 Python 标准库.其中所包括的算法有 md5, sha1, sha224, sha256, sha384, sha512等常用算法 MD5加密算法 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import hashl 阅读全文
posted @ 2018-07-18 11:38 CansonHai 阅读(328) 评论(0) 推荐(0)
摘要:ConfigParser模块在python中是用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)。 注意:在python 3 中ConfigParser模块名已更名为configparser ? 1 2 3 阅读全文
posted @ 2018-07-17 22:15 CansonHai 阅读(7939) 评论(0) 推荐(0)
摘要:1.sys.argv 可以实现从程序外部向程序传递参数2.sys.exit() 程序中间退出,exit(0)正常退出,其他为异常退出3.sys.getdefaultencoding() 获取系统编码方式 4.sys.setdefaultencoding() 设置系统编码方式5.sys.getfile 阅读全文
posted @ 2018-07-17 17:52 CansonHai 阅读(203) 评论(0) 推荐(0)
摘要:shelve模块 也可以序列化Python所有数据类型,而且可以多次序列化;shelve模块通过key-value方式持久化 1.序列化 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import shelve """shelve 也可以序列化Python所有数据类型,而且可 阅读全文
posted @ 2018-07-17 17:38 CansonHai 阅读(757) 评论(0) 推荐(0)
摘要:注意:可以dumps多次,loads只能一次,一般我们只dumps一次,loads一次,多个版本就写入多个文件 一、json序列化与反序列化: 支持各种语言数据交互,但只能处理字典,列表,集合等简单的数据类型 1.json序列化dump ? 1 2 3 4 5 6 7 8 import json i 阅读全文
posted @ 2018-07-17 17:26 CansonHai 阅读(258) 评论(0) 推荐(0)
摘要:1、random.random() 获取一个0-1之间的随机浮点数 ? 1 2 3 import random #random.random(x,y) 从0-1区间取出一个浮点数,不包括0和1,区间不可改 print(random.random()) #范围 0-1 浮点型数据 ? 1 2 3 im 阅读全文
posted @ 2018-07-17 16:18 CansonHai 阅读(1139) 评论(0) 推荐(0)
摘要:xml数据示例 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 <data> <country name="Liechtenstein"> <rank updated="yes">2</rank> <yea 阅读全文
posted @ 2018-07-17 14:58 CansonHai 阅读(1633) 评论(0) 推荐(0)
摘要:生成器(genetor): 1>生成器只有在调用的时候才会生成相应的数据; 2>生成器只记录当前位置,有一个__next__()方法 3>yield可以实现单线程先的并发运算 1.列表生成器: 输出结果: 2.简单的生成器: 输出结果: 3.生成器的并行:(生产者与消费者的关系) 输出结果: 4.斐 阅读全文
posted @ 2018-07-12 16:05 CansonHai 阅读(164) 评论(0) 推荐(0)