- 博客(45)
- 收藏
- 关注
原创 python发送邮件一
1)文件形式的邮件#!/usr/bin/env python3 #coding: utf-8 import smtplib from email.mime.text import MIMEText from email.header import Header sender = 'xxxx@163.com' receiver = 'xxxx@163.
2018-01-08 21:49:13 1038
原创 socket编程二
TCP可靠性的实现:(1)校验码(2)接收方反馈(3)信息包附带序号UDP:(1)快 不需要花费时间建立和关闭连接(2)快 偶尔丢失一两个消息包无所谓,但是TCP会严格检查(3)快 UDP的限制是一个信息包不超过64KB的数据TCP和UDP区别就是UDP不建立连接,只保证数据的完整性,数据传输快,但是不保证数据是否真的被收到,也不保证数据是够只接收一次,也不
2018-01-03 22:02:07 346
原创 socket编程一
客户端与服务端通信util.pyimport socketimport timeclass InitSocketTest(object): def __init__(self, host, port, type): self.host = host self.port = port self.add
2018-01-01 21:40:05 554
原创 12.25公开课(九宫格等)
1)class CountNumber(object): '''ABCD * 9 = DCBA 通过计算机的方法,给我们计算出A = ? B = ? C = ? D = ? A: 1-9 B: 0-9 C: 0-9 D: 1-9 A != B != C !=D ''' #def __init__(sel
2017-12-27 23:19:52 251
原创 celery二
# 多worker,多队列实例# demo.pyfrom celery import Celeryapp = Celery()app.config_from_object("celeryconfig")@app.taskdef taskA(x,y): return x + y@app.taskdef taskB(x,y,z): return x + y + z
2017-12-20 23:19:35 208
原创 celery一
Celery是一个python开发的异步分布式任务调度模块。Celery本身并不提供消息服务,使用第三方服务,也就是borker来传递任务,目前支持rebbimq,redis, 数据库等简单的例子:from celery import Celerybroker="redis://192.168.48.131:6379/5"backend="redis://192.168.4
2017-12-20 07:19:04 163
原创 消息队列二
# queue只有maxsize一个构造参数,用来指定队列容量,指定为0的时候代表容量无限。# 主要有以下成员函数:# Queue.qsize():返回消息队列的当前空间。返回的值不一定可靠# Queue.empty():判断消息队列是否为空,返回True或False。同样不可靠# Queue.full():类似上边,判断消息队列是否满# Queue.pu
2017-12-18 23:51:34 254
原创 消息队列一
# 消息队列”是在消息的传输过程中保存消息的容器# 消息队列最经典的用法就是消费者和生成者之间通过消息管道来传递消息,消费者和生成者是不通的进程# 生产者往管道中写消息,消费者从管道中读消息# 操作系统提供了很多机制来实现进程间的通信,multiprocessing模块就提供了Queue和Pipe两种方法来实现from multiprocessing import Queue,Proces
2017-12-16 08:42:36 187
原创 多线程二
import threading# 多线程和多进程不同之处在于多线程本身就是可以和父进程共享内存的,# 这也是为什么其中一个线程挂掉以后,为什么其他线程也会死掉的原因def worke(l): l.append("hello") l.append("world") l.append("python")if __name__ == "__main__": l
2017-12-14 23:08:57 171
原创 多线程一
# Python中提供了threading模块来对多线程的操作import threadingdef worker(n): print("start worker{0}".format(n))# 方法二:从Thread继承,并重写run()class MyThread(threading.Thread): def __init__(self,args):
2017-12-13 22:59:23 148
原创 多进程三
1)manager# Python中提供了强大的Manage专门用来做数据共享的,其支持的类型非常多,包括,Value, Array,list,dict, Queue, Lock等import multiprocessingimport timedef worker(d,l): l += range(11,16) for i in xrange(1,6):
2017-12-12 23:12:01 150
原创 多进程二
1)进程锁import multiprocessingimport time# lock = multiprocessing.Lock()# lock.acquire 获得锁# lock.release 释放锁# with lock:# 不加锁程序,多个进程可以随机进行运作# number +1# number +3# def add(number,value
2017-12-11 23:43:47 253
原创 多进程一
import multiprocessingimport timep = Multiprocessing.cpu_count() # 统计cpu的个数m = Multiprocessing.active_children() # 列出存在的子进程# 创建一个Process对象def worker(interval): time.sleep(interval) pr
2017-12-09 00:35:37 161
原创 python对nosql的操作五
import memcachemc = memcache.Client(["127.0.0.1:11211"])mc.set("k1","v1") # 赋值print(mc.get("k1")) # 取值mc.add("k2","v2") # 赋值print(mc.get("k2"))# set和add的区别# 如果这个key值存在,add就会报错;set不会报错,会重新赋值并
2017-12-08 00:05:38 552
原创 python对nosql的操作四
1)memcache简介及安装Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载,它通过在内存中缓存数据和对象减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。安装:cd /usr/local/srcwget http://memcached.org/latesttar -zxvf lstestcd memcached-1
2017-12-06 23:48:32 212
原创 Python对nosql的操作三
import redispool = redis.ConnectionPool(host="localhost", port=6379, db=0)r = redis.Redis(connection_pool=pool)# hash类型的操作,就是以一个name对应一个字典存储的# hset hget hmset hmget# hset(name,key,value)# name对应
2017-12-05 23:03:39 235
原创 python复习帖
模块使用模块是Python组织代码的基本方式一个Python脚本可以单独运行,也可以导入到另一个脚本中运行,当脚本被导入运行时,我们将其称为模块(module)所有的.py文件都可以作为一个模块导入模块名称与脚本的文件名相同,例如我们编写了一个名为hello.py的脚本,则可以在另一个脚本中用import hello语句来导入它包(模块的集合):Python
2017-12-04 22:47:40 190
原创 python对nosql的操作二
1)字符串操作# redis中的string在内存中都是按照一个key对应一个value来存储的'''set的使用方法:set(name, value, ex=None, px=None, nx=False, xx=False) ex,过期时间(秒) px,过期时间(毫秒) nx,如果设置为True,则只有name不存在时,当前set操作才执行,同setn
2017-11-27 23:47:27 276
原创 Python对nosql的操作一
1)简介NoSQL,泛指非关系型的数据库非关系型数据库的优势:1. 性能NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。2. 可扩展性同样也是因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。关系型数据库的优势:1. 复杂查询可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。2. 事务支持使得对于安全性
2017-11-25 09:53:38 2346
原创 Python对mysql的操作四
# 删除数据# 要求:有些老师不好好上次,导致课程的及格率太低,最后名最差的5名老师将会被开除# 第一步,查询出及格率排最后的5位老师select sorce.couid,course.tid,sorce.grade,count(course.tid) as count_teacher from sorce join course on course.couid = sorce.couid
2017-11-23 23:55:00 169
原创 Python对mysql的操作三
1)创建表import MySQLdbdef connect_mysql(): db_config = { "host":"localhost", "user":"root", "passwd":"root", "db":"python_db", "charset":"utf8" }
2017-11-23 07:44:29 744
原创 python对mysql的操作二
1)游标# 游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制# 游标总是与一条SQL 选择语句相关联因为游标由结果集# (可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成import MySQLdbdef connect_mysql(): db_config = { "host":"localhos
2017-11-22 07:51:55 183
原创 Python对mysql的操作
1)安装a. 安装mysql:到mysql官网下载文件:mysql-installer-community.msi 安装过程同一般exe文件,直接下一步即可b.安装MySQL-python:可以在官网下载安装包进行安装,或者直接在cmd下通过pip命令安装pip install MySQL-python 安装完成之后,在Python中使用import MySQLdb没有报错就是
2017-11-21 07:32:31 266
原创 Python正则表达式二
1)re的matche方法和search方法# 正则对象的match匹配(推荐使用)# re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none# match(string[, pos[, endpos]])# string:匹配使用的文本,# pos: 文本中正则表达式开始搜索的索引。及开始搜索string的下标# end
2017-11-16 00:42:06 162
原创 Python正则表达式一
1)正则表达式# 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配注:以上图片引用自网络2)req正则对象和正则匹配效率比较# re模块是python中处理正则表达式的一个模块,通过re模块的方法,把正则表达式pattern编译成正则对象,# 以便使用正则对象的方法,这样可以提高代码的执行效率import ti
2017-11-15 00:06:11 299
原创 Python的json
# Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式# json有4种方法# loads,单词的意思是加载,就是把json转换成其他格式,如字符串# dumps,单词的意思是颠倒,就是把其他对象或者格式,转换成json格式# 多了个s,有s的用来处理字符串,没有s的用来处理文件# load,把文件转换成json格式(unicode数据类型
2017-11-13 23:11:24 192
原创 Python模块一
1)loggingimport logginglogging.debug('This is debug')logging.info('This is info')logging.warning('This is warning')logging.error('This is error')logging.critical('This is critical')# 日志级别大小关
2017-11-11 10:03:43 132
原创 Python时间获得及格式转换
1)import# 常用的导入模块常用的格式:# import os# import 我们一般用来导入模块,常用的快捷键是alt + enter可以直接导入模块# from math import floor# 从什么模块中导入什么,最终可以导入一个函数,或者一个类,再或者是一个模块# (也就是一层一层的调用)# 注意:1、import后面导入的是什么,在调用的时候就必须写什么
2017-11-09 22:49:32 430
原创 python异常
1)异常常用形式# 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行# 异常是Python对象,表示一个错误,当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行# 捕捉异常可以使用try/except语句,# try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理# try:# 正常的操作# e
2017-11-08 23:17:11 247
原创 Python类的重写和私有变量
1)类的重写# 如果子类想实现父类构造器中的方法,然后自己再写自己特殊的方法,便需要调用父类的__init__()方法class parent(object): # 定义父类的时候,一定要写继承object类,否则会报错 name = 'parent' sex = 'F' def __init__(self,address,age): self.
2017-11-07 23:55:18 314
原创 Python类的构造器及继承
1)类的一般形式# class ClassName:# '类的帮助信息' #类文档字符串# class_suite #类体# 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如People类,# 而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同# class后面紧接着是类名,即
2017-11-06 22:19:21 7181
原创 Python生成式和生成器
# 列表生成式:一次性生成所有数据,然后保存在内存中,适合小量数据# 将1-100所有偶数的平方返回,下边两种方法效果一致,方法1便是生成式# 方法1li = [x*x for x in xrange(1,101) if x%2 == 0]print(li)# 方法2def funA(): a = [] for i in xrange(1,101): i
2017-11-03 23:39:58 1129
原创 Python高阶函数及匿名函数
高阶函数和匿名函数高阶函数,就是把函数作为参数传递的一种函数如下例:def add(a,b,f): return f(a) + f(b)print(add(100,-100,abs))# map()函数会根据提供的函数对指定序列做映射# 第一个参数是函数,第二个参数为一个可迭代对象,返回也是一个列表lt = [1,2,3,4,5]def fun2(x):
2017-11-03 00:00:24 350
原创 Python函数定义与参数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段,能提高应用的模块性,和代码的重复利用率。1)函数的一般形式函数定义:def 函数名()函数调用:函数名()定义函数的简单规则:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(),函数名不能使用关键字。任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。函数内容以冒号起
2017-11-01 23:24:26 4338
原创 Python小练习
要求:1. 把一个数字的list从小到大排序,然后写入文件,然后从文件中读取出来文件内容,然后反序,在追加到文件的下一行中2. 分别把 string, list, tuple, dict写入到文件中import codecsli = [12,44,65,90,232,49,130,81,329,7]li.sort() //将列表排序with codecs.open('D:
2017-10-31 23:18:38 228
原创 Python文件操作
# 1.open文件# 2.文件操作(读或者写)# 3.关闭文件1)读文件import codecs //codecs模块主要是解决文件乱码问题f = codecs.open('D:\\file_test.txt') //传入文件路径print(f.read())f.close()open(filename,mode)mode有几个参数需要学习:r
2017-10-28 09:39:58 173
原创 Python练习一
1.实现1-100的所有的和方法一:sum = 0for i in xrange(1,101):sum += iprint sum方法二:num = reduce(lambda x,y:x+y,xrange(1,101))print num方法三:num = sum(xrange(1,101))print num2.实现1-500所有奇数的和方法
2017-10-26 22:26:08 198
原创 Python流程控制
1.Python的缩进python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断,而是用缩进来写模块缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行,没有严格缩进,在执行时会报错(一般是IndentationError: unexpected indent 错误)在 python 的代码块中必须使用相同数目的行首缩进空格数,建议在每个
2017-10-26 07:24:19 517
原创 Python类型转换及帮助
dir([object])object可以为对象、变量、类型,返回,函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息help([object]) 函数用于查看函数或模块用途的详细说明PyCharm按住ctrl键+左键
2017-10-25 23:22:51 255
原创 Python数据类型二
1. 列表(list)list(s) 将序列s转换为一个列表列表是由一序列特定顺序排列的元素组成的。可以把字符串、数字、字典等任何东西加入到列表中,元素之间用逗号分隔,如:a=['a','b','c',123]a.append(obj) 在list a末尾追加一个元素,该方法无返回值,但是会修改原来的列表a.index(obj) 返回str在列表中第一次出现的位置,不存在则抛出异常
2017-10-24 00:42:34 218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人