摘要: 写在前面:首先感谢导师-猴哥对我的认可(求多分享点编程经验、工具、多开课),学习编程是一个痛苦和快乐的过程,希望大家共勉 本文介绍MarkDown的基本语法、使用MarkDown画简单的流程图、使用Xmind画复杂的流程图 MarkDown介绍 互联网时代,大家都开始将笔记记录在云端,你是否在记录笔 阅读全文
posted @ 2017-09-05 18:16 coldcastle 阅读(40774) 评论(0) 推荐(1)
摘要: 在Windows上安装Git 实话实说,Windows是最烂的开发平台,如果不是开发Windows游戏或者在IE里调试页面,一般不推荐用Windows。不过,既然已经上了微软的贼船,也是有办法安装Git的。 Windows下要使用很多Linux/Unix的工具时,需要Cygwin这样的模拟环境,Gi 阅读全文
posted @ 2017-09-05 16:08 coldcastle 阅读(265) 评论(0) 推荐(0)
摘要: remote procedure call 服务端 客户端 阅读全文
posted @ 2017-09-05 10:06 coldcastle 阅读(664) 评论(0) 推荐(0)
摘要: RabbitMQ基本用法 进程queue用于同一父进程创建的子进程间的通信 而RabbitMQ可以在不同父进程间通信(例如在word和QQ间通信) 示例代码 生产端(发送) 消费端(接收) 消息分发 RabbitMQ消息分发(一对多) 一个生产者,多个消费者 多个消费者时,是轮询机制,依次分发给消费 阅读全文
posted @ 2017-09-05 10:05 coldcastle 阅读(3075) 评论(0) 推荐(0)
摘要: I/O 多路复用之select、poll、epoll详解 select,poll,epoll都是IO多路复用的机制。I/O多路复用就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是 阅读全文
posted @ 2017-09-05 09:53 coldcastle 阅读(186) 评论(0) 推荐(0)
摘要: 阻塞IO, 非阻塞IO, 同步IO,异步IO 介绍 先说明几个概念 用户空间与内核空间 为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操心系统将虚拟空间(内存)划分为两部分,一部分为内核空间,一部分为用户空间。 针对linux操作系统而言,将最高的1G字节(从虚拟地址0xC000 阅读全文
posted @ 2017-09-05 09:52 coldcastle 阅读(348) 评论(0) 推荐(0)
摘要: 多进程 启用多进程,可以解决python调用计算机CPU多核运算的问题 启动一个进程 每一个进程都是由一个父进程启动的 进程间数据交互 不管哪种方式,都是找一个中间代理,相当于不同国家的人交流需要找一个翻译 不同进程间内存是不共享的,要想实现两个进程间的数据交换,可以用以下方法: 进程间数据交互(通 阅读全文
posted @ 2017-09-05 09:51 coldcastle 阅读(2811) 评论(0) 推荐(0)
摘要: 队列queue 队列用于线程之间安全的信息交换 队列和列表的区别:队列里的信息get()后就没了,而列表获取数据则是copy,原列表里的值还在 使用前先实例化队列 先入先出,默认队列大小无限制 后入先出 存储数据时可设置优先级的队列 使用此类型队列时,put入一个元组,按元组的第一个值排序 put( 阅读全文
posted @ 2017-09-05 09:50 coldcastle 阅读(210) 评论(0) 推荐(0)
摘要: 事件(event) 事件是不同线程之间的同步对象 enent可以通过设置、等待、清除一个标识(flag),来进行线程间的控制 线程可以通过获取这个标志位(flag)的状态(设置或未设置)来控制线程 事件其实就相当于一个全局变量(设置为True,未设置为False),线程通过这个全局变量的状态来控制自 阅读全文
posted @ 2017-09-05 09:48 coldcastle 阅读(1510) 评论(0) 推荐(0)
摘要: 线程 "参考文档" 线程是操作系统能够进行运算调度的最小单位,它被包含在进程中,是进程中的实际运作单位 一个进程实际上可以由多个线程的执行单元组成。每个线程都运行在进程的上下文中,并共享同样的代码和全局数据。 由于在实际的网络服务器中对并行的需求,线程成为越来越重要的编程模型,因为多线程之间比多进程 阅读全文
posted @ 2017-09-05 09:47 coldcastle 阅读(212) 评论(0) 推荐(0)
摘要: paramiko模块 该模块基于SSH用于连接远程服务器并执行相关操作 "参考文档" SSHClient 用于连接远程服务器并执行命令 SFTPClient 用于连接远程服务器并执行上传下载 SSH密钥 RSA 非对称密钥验证 密钥分两部分 公钥 pubilc key 私钥 private key 阅读全文
posted @ 2017-09-05 09:46 coldcastle 阅读(287) 评论(0) 推荐(0)
摘要: socket socket是把TCP/IP UDP做一个封装,send,recv... 网络协议基于socket,进行收发等动作 服务端 1. 声明实例 family address 地址簇 AF.INET IPV4(默认) AF.INET6 IPV6 AF.UNIT local 类型 socket 阅读全文
posted @ 2017-09-05 09:44 coldcastle 阅读(158) 评论(0) 推荐(0)
摘要: 使用socketserver 老规矩,先引入 必须创建一个类,且继承 这个类中必须重写 函数负责和客户端进行交互,所以的交互都写这里面 可以重写的方法 我的客户端和服务端例子 服务端 客户端 ThreadingTCPServer类中的 阅读全文
posted @ 2017-09-05 09:44 coldcastle 阅读(170) 评论(0) 推荐(0)
摘要: 异常处理基本语法 捕获异常 捕获多个异常 常用异常类型 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 无法引入模块或包;基本上是路径问题或名称错误 IndentationE 阅读全文
posted @ 2017-09-05 09:43 coldcastle 阅读(397) 评论(0) 推荐(0)
摘要: 面向对象 Object Oriented Programing 类的特性 封装 1、防止数据被随意修改 2、使外部程序不需要灌注对象内部的构造,只需要通过此对象对外提供的接口进行直接访问即可 继承 1、类可以派生出子类 2、父类里定义的属性、方法自动被子类继承 3、通过父类= 子类的方式以最小代码量 阅读全文
posted @ 2017-09-05 09:40 coldcastle 阅读(278) 评论(0) 推荐(0)
摘要: #使用内置函数__import__ lib = __import__('lib.aa')#获取模块,实际上是导入lib obj = lib.aa.C()#调用模块内函数 print(obj.name) #官方建议使用此方式 import importlib aa = importlib.import 阅读全文
posted @ 2017-09-05 09:39 coldcastle 阅读(123) 评论(0) 推荐(0)
摘要: 在Python中,通常有这几种方式来表示时间: 1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素。 由于Python的time模块实现主要调用C库,所以各个平台可能有所不同。 时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00: 阅读全文
posted @ 2017-09-05 09:36 coldcastle 阅读(217) 评论(0) 推荐(0)
摘要: subprocess模块是对 os.system os.spawn 以上这两个的替换,以后尽量使用subprocess,这两个会逐步淘汰 os.system 输出命令结果到屏幕,返回命令执行状态(0成功) os.popen("dir") 保存命令执行结果,无执行状态 os.popen("dir"). 阅读全文
posted @ 2017-09-05 09:27 coldcastle 阅读(215) 评论(0) 推荐(0)
摘要: all() 可迭代对象内有一个为False则返回False 例: print(all([0,-1,5]) False print(all([1,-1,5]) True any() 可迭代对象有一个为真则返回True print(any((1,0,0,0,0))) True ascii() 把数据对象 阅读全文
posted @ 2017-09-05 09:17 coldcastle 阅读(142) 评论(0) 推荐(0)
摘要: 列表生成式 [i*2 for i in range(10)] [func(i) for i in range(10)] #作用:使代码更简洁 生成器 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如 阅读全文
posted @ 2017-09-05 09:15 coldcastle 阅读(104) 评论(0) 推荐(0)
摘要: 装饰器 定义:本质是函数,装饰其他函数(就是为其他函数添加附加功能) 原则: 1、不能修改被装饰的函数源代码 2、不能修改被装饰函数的调用方式 实现装饰器知识储备: 1、函数即“变量” 2、高阶函数(以下任意一条就是高阶函数) a、把一个函数名当做实参传给另外一个函数 b、返回值中包含函数名 3、嵌 阅读全文
posted @ 2017-09-05 09:14 coldcastle 阅读(108) 评论(0) 推荐(0)
摘要: 一、模块的定义 用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能) 本质就是.py结尾的Python文件(文件名test.py,对应的模块名:test) 包:用来从逻辑上组织模块的,本质是一个目录(必须带有一个__init__.py文件) 二、模块的导入 import modul 阅读全文
posted @ 2017-09-05 09:13 coldcastle 阅读(313) 评论(0) 推荐(0)
摘要: 非固定参数<!--more--> 若你的函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数 还可以有一个**kwargs *args接收N个位置参数,转换为元组方式 **kwargs接收N个关键参数,转换为字典形式 全局变量、局部变量 在子程序中定义的变量称为局部变量,在程序的一开始定义的 阅读全文
posted @ 2017-09-05 09:11 coldcastle 阅读(111) 评论(0) 推荐(0)
摘要: 打开文件的模式有: r,只读模式(默认)。 w,只写模式。【不可读;不存在则创建;存在则删除内容;】 a,追加模式。【可读; 不存在则创建;存在则只追加内容;】 <!--more--> "+" 表示可以同时读写某个文件 r+,可读写文件。【可读;可写;可追加】 w+,写读 a+,同a "U"表示在读 阅读全文
posted @ 2017-09-05 00:57 coldcastle 阅读(134) 评论(0) 推荐(0)
摘要: 需知: <!--more--> 1.在python2默认编码是ASCII, python3里默认是unicode 2.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节), so utf-16就是现在最常用的unicode版本, 不过在文件里存的 阅读全文
posted @ 2017-09-05 00:51 coldcastle 阅读(839) 评论(0) 推荐(0)
摘要: <!--more--> *按位取反运算规则(按位取反再加1) 详解http://blog.csdn.net/wenxinwukui234/article/details/42119265 详细内容http://www.runoob.com/python/python-operators.html * 阅读全文
posted @ 2017-09-05 00:30 coldcastle 阅读(174) 评论(0) 推荐(0)
摘要: 三元运算 <!--more--> 进制 二进制,01 八进制,01234567 十进制,0123456789 十六进制,0123456789ABCDEF bytes类型 http://www.cnblogs.com/txw1958/archive/2012/07/19/2598885.html Py 阅读全文
posted @ 2017-09-05 00:25 coldcastle 阅读(596) 评论(0) 推荐(0)
摘要: 输出高亮 语法: 输出高亮 显示方式、前景色、背景色至少一个存在即可。 显示方式:0(关闭所有效果),1(高亮),4(下划线),5(闪烁),7(反色),8(不可见)。 前景色以3开头,背景色以4开头,具体颜色值有:0(黑色),1(红色),2(绿色),3(黄色),4(蓝色),5(紫色),6(青色),7 阅读全文
posted @ 2017-09-05 00:06 coldcastle 阅读(114) 评论(0) 推荐(0)