自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(47)
  • 收藏
  • 关注

转载 javascript 简易选项卡

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css" > .xuanx{ ...

2019-09-20 22:36:00 204

转载 javascript 路由跳转

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><a href="#/home" >这里</...

2019-09-20 22:31:00 181

转载 Manager模块/进程的数据共享

Manager模块:from multiprocessing import Manager,Processdef ma(arg,dic): dic[arg] = 100if __name__ == '__main__': m = Manager() dic = m.dict() # 进程之间数据共享 for i in ...

2019-09-08 12:14:00 187

转载 FTP小程序

开发一个可以多个用户在线的FTP程序要求:1.用户加密认证 (完成) 操作前需要进行登录 需要登录与md5验证2.允许同时多用户登录 (完成) 使用socketserver模块进行实现3.每个用户都有自己的家目录,且只能访问自己的家目录 (完成) 每注册一个就创建一个文件夹4.对用户进行磁...

2019-09-07 22:26:00 624

转载 socketserver模块

这个模块帮你做了很多socket的操作,比如建立连接,监听,绑定,多线程或多进程,很方便服务端:import socketserverclass Myserver(socketserver.BaseRequestHandler): # 这里创建一个类然后继承 def handle(self): # 这里一定要是handle,里面放的是自己的代码,c...

2019-09-07 21:07:00 98

转载 协程

一、概述协程:是单线程下的并发,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程,即协程是由用户程序自己控制调度的可以理解为:只用一个主线程(可利用的cpu只有一个),通过用户手动进行调整检测IO进行切换,使得cpu效率最大化注意:  1. python的线程属于内核级别的,即由操作系统控制调度(如单线程遇到io或执行时间过长...

2019-09-05 16:22:00 98

转载 进程池与线程池

服务器开启的进程数或线程数都会随着并发的客户端数目地增多而增多,这会对服务端主机带来巨大的压力,甚至于不堪重负而瘫痪,于是我们必须对服务端开启的进程数或线程数加以控制,让机器在一个自己可以承受的范围内运行,这就是进程池或线程池的用途,例如进程池,就是用来存放进程的池子,本质还是基于多进程,只不过是对开启进程的数目加上了限制concurrent.futures模块提供了高度封装的异步调...

2019-09-05 15:46:00 144

转载 线程之queue

线程中的队列有三种:  1、queue.Queue(maxsize) 先进先出  2、queue.IifoQueue(maxsize) 堆栈 先进后出  3、queue.PriorityQueue(maxsize) 优先级队列,存储数据时可以设置优先级的队列1、先进先出import queueq = queue.Queue() # 先进先出q....

2019-09-05 14:38:00 112

转载 信号量

一、SemaphoreSemaphore管理一个内置的计数器,每当调用acquire()时内置计数器-1;调用release() 时内置计数器+1;计数器不能小于0;当计数器为0时,acquire()将阻塞线程直到其他线程调用release()。from threading import Thread,Semaphore,current_threadimpor...

2019-09-05 14:29:00 83

转载 递归锁

互斥锁只能一次acquire 然后releae ,不能进行多次acquire容易出现死锁,递归锁就可以多次acquire递归锁:递归锁可以多次进行acquire,每进行一次acquire,寄存器的基数就加1,一直等到基数变成0的时候才能被其他线程拿到from threading import Thread,RLockimport timeclass MyThrea...

2019-09-05 12:00:00 66

转载 多线程

1、线程是在进程里面控制工作的2、同一进程里的线程的进程id是一样的3、同一进程里的线程的内存空间是共享的4、线程是在已有的进程里进行开启的,所以开启线程开销较小,几乎一请求开启就会立即开启一、开启线程的两种方法:from threading import Threadimport timedef tak(name): print('%s...

2019-09-05 11:57:00 88

转载 互斥锁与队列进程数据共享

一、互斥锁:那一个抢票的例子来说:一个文件中放一行数据为票的数量 {"number": 1 } 票数为1from multiprocessing import Process,Lockimport jsonimport timedef set(i): data_read = json.load(open('info_user.txt', 'r', ...

2019-09-04 21:47:00 146

转载 守护进程

什么是守护进程举个例子:当我们现在有两个任务需要并发执行,一个主进程一个子进程分别进行处理就可以了,如果主进程任务处理完后,子进程任务没必存在了没必要再进行了,就可以使用守护进程注意事项:1、守护进程会在主进程代码结束后进行终止     2、守护进程里面不能再开其他的子进程,不然会报错:AssertionError: daemonic processes are not al...

2019-09-04 20:23:00 103

转载 多进程

1.开启进程的两种方法第一种:from multiprocessing import Processimport timedef tak(name): print('%s 进程' % name) time.sleep(2) print('%s 子进程 ' % name)if __name__ =='__main__': ...

2019-09-04 19:24:00 67

转载 socket 模块

一、套接字家族1、AF_UNIXunix一切皆文件,基于文件的套接字调用的就是底层的文件系统来取数据,两个套接字进程运行在同一机器,可以通过访问同一个文件系统间接完成通信2、AF_INET 用的比较官方,有些会用到AF_INET6 即ipv6二、TCP协议与UDP协议TCP协议,可靠的,面向连接的协议,但是效率低,流式协议,应用较广泛UDP协议,不可...

2019-08-27 20:00:00 265

转载 shutil 模块

该模块可完成拷贝文件以及文件权限、时间、状态信息、递归拷贝文件夹,递归删除文件等操作import shutilshutil.copyfileobj(open(r'D:\flin\模块\基地'),open(r'D:\flin\模块\地','w')) # 这里需要打开文件才进行复制,所以不常用shutil.copyfile(r'D:\flin\模块\基地',r'D:...

2019-08-27 17:28:00 80

转载 subprocess.Popen()

这个可执行系统命令,与os模块不同的是可以返回其执行结果import subprocessobj = subprocess.Popen(r'dir D:\flin',shell=True, # 可以执行系统命令,这里会创建独立的管道,返回其结果 stdout=subprocess.PIPE, # 输出结果 ...

2019-08-27 17:22:00 114

转载 zipfile 模块

这个模块是用来完成压缩文件以及解压的一些文件包的操作1.压缩文件z = zipfile.ZipFile("压缩后要存放的路径",'w') # 文件路径这里后缀名要自己加,zip……# 在压缩包中写入文件 只会写入文件,如果是文件夹,文件夹里的东西是没有进行写入的,如果要压缩文件夹可以用另外一个模块进行完成,实现方法后面会有z.write('文件路径')z.w...

2019-08-27 16:46:00 103

转载 configparser模块

该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值)1.这个模块可以帮您写以下这种文件[DEFAULT]ServerAliveInterval = 45Compression = yesCompressionLevel = 9ForwardX11 = yes[bitbucke...

2019-08-27 16:02:00 55

转载 hashlib模块

hashlib模块是一个加密模块,加密之后是不可逆的,无法返回成明文import hashlib #摘要算法,把字符串进行加密,但是加密后的密文无法反推出明文ags = hashlib.md5(bytes("sb",encoding="utf-8")) # 实例化一个对象 # 这里必须是bytes类型 # 这里为了安全防止撞库, 可以加'盐'也可以说是加...

2019-08-23 21:56:00 65

转载 logging日志模块

1.捕获异常并写入日志import loggingobj = logging.basicConfig( # 这里用basicConfig是配置,如果要打印到多个文件中是不行的,必须自定义 filename='1x.txt', # 要写入的文件名,这里如果没设置写入模式会默认追加a模式,要设置模式可以用filemode= format ...

2019-08-23 21:48:00 104

转载 自定义异常

1.自定义异常import osclass ExistsError(Exception): # 自定义异常,将要定义的异常继承Exception,就可以在捕捉异常那里捕捉到 passclass KeyInvalidError(Exception): passdef new_func(path,prev): """ ...

2019-08-23 21:11:00 95

转载 约束

接口:在Java与C#中有一个东西叫接口,接口中不允许在方法内部写代码,只能约束继承它的类必须实现接口中定义的所有方法而python中没有接口只有类,但是也有可以进行约束的办法1.抽象类与抽象方法from abc import ABCMeta,abstractmethodclass Base(metaclass=ABCMeta): # 抽象类...

2019-08-23 21:02:00 88

转载 python面向对象相关

一.issubclass / type /isinstance  1.issubclass :(子类,父级) 判断是否是某个类的子类(子子孙孙),返回True或Falseclass foo(object): def slet(self): passclass foo1(foo): def set(self): ...

2019-08-22 20:42:00 72

转载 特殊方法

面向对象中除了__init__之外还有很多特殊方法1.__init__ :数据初始化,当类名()进行调用的时候会自动执行class ms(object): def __init__(self,a1,a2): self.a1=a1 self.a2 = a2obj = ms(12,34)2.__call__:对象()...

2019-08-22 18:57:00 124

转载 分页

分页练习:让用户输入页数,显示用户输入的那一页,一页有10条数据1.第一种li = []for i in range(1,10000): li.append("sb%s" % i)while 1: input_a = int(input("<<")) paer = 10 start = (input_a-1)*10...

2019-08-22 17:33:00 78

转载 嵌套(组合)

1.普通嵌套class province(object): # 省份 def __init__(self,address): self.address = addressclass park(object): # 公园 def __init__(self,name,start,end,address=None): ...

2019-08-22 17:18:00 128

转载 成员

成员分为三大类:变量 / 方法 / 属性1.变量: 分为实例变量与类变量  实例变量(字段):在__init__方法进行定义的  类变量(静态字段): 直接在类里面定义的,一般应用在当所有对象中的有共同的字段,且要改都改,要删都删的时候class foo(object): addres = "世界之窗" # 类变量 def __init...

2019-08-22 16:36:00 84

转载 python面向对象三大特性

面向对象三大特性:封装 / 继承 / 多态1.封装:将数据进行封装到对象中,以供其他函数进行调用class ags: def __init__(self,k1,k2,k3): self.k1=k1 self.k2=k2 self.k3=k3def awe(arg): print(arg.k1)...

2019-08-22 15:55:00 83

转载 python面向对象初识

面向对象初识:1.定义:class (类名): # 类 def baic(self): # 方法 pass def xlh(self): pass2.调用obj=类名() # 创建一个对象/实例化了一个对象obj.方法名() # 通过对象进行调用类里面的方法# 还可以直接用类名进行调...

2019-08-22 15:25:00 98

转载 pyhton代码统计一个文件夹中所有文件的总大小

1.递归实现def sum_file_size(file): su = 0 ret =os.listdir(file) # 拿到这个文件夹里的所有文件/文件夹的名字 for i in ret: res = os.path.join(file,i) # 把路径进行拼接,拼接后就是每个文件的绝对路径 if os....

2019-08-14 20:33:00 123

转载 python-二分查找

1.while循环实现li = [1,4,6,8,9,10,15,18]left = 0 right = len(li)-1n = 99while 1: if left<right: mid = (left+right)//2 if n>li[mid]: left = mid...

2019-08-07 21:38:00 148

转载 python-递归实现斐波那契

# 递归实现算出第n次的结果def fibonacci(n): if n <= 2: return 1 else: return fibonacci(n - 2) + fibonacci(n - 1)ret = fibonacci(4)print(ret)转载于:https://www.cnblo...

2019-08-07 21:30:00 119

转载 迭代器与生成器

1.迭代器1.迭代器是一个可以记住遍历的位置的对象。iterable 可迭代的对象iterator 迭代器iter 迭代int类型中没有__iter__方法,因为int是不可迭代的对象查看数据类型中的方法:dir([object])2.迭代器的特点:1.只能向前2.几乎不占内存,节省内存3.惰性机制4.可以for循环3.迭代器中的常用方法_...

2019-08-06 13:40:00 70

转载 函数

函数是对功能或动作的封装1.函数声明 def 函数名(形参):def yue(): #只是声明 print("dfsfds")yue() #调用2.返回值 return :在函数执行的时候,如果遇到return,直接返回 1.如果函数里面什么都不写,不写return,返回值为none 2.如果在函数的中间或末尾写return,返回...

2019-08-05 23:24:00 69

转载 赋值,深拷贝与浅拷贝

赋值:a = 20b = aprint(a,id(a)) # 赋值,完全复制,内存地址一样,如果原来的改变,后面的也会跟着变<<<<20 140728211236080print(b,id(b))<<<<20 140728211236080浅拷贝: 可以用copy()或[:]li = [1,2,3...

2019-08-05 20:34:00 69

转载 fromkeys

fromkeys会返回新的字典与原字典没关系,直接用字典去访问fromkeys不会对字典产生影响的dic = {}a = dic.fromkeys("abc",[1,2,3]) #前面的会迭代添加,后面不会print(a)<<<<{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [1, 2, 3]}转载...

2019-08-05 19:53:00 132

转载 for循环清空列表

如果要全部删除要把要删除的部分拿到一个新列表,再用老列表减去新列表,不然直接用原列表直接for循环remove会报错列表与字典都不能在循环的时候进行删除,字典在循环的时候不允许改变大小li = ['唐僧','猴子','飞猪','沙和尚']la = []for i in li: # 先把要删除的添加到一个新列表 la.append(i)for c i...

2019-08-05 19:48:00 378

转载 列表转换为字符串

1.join()只能用在每个元素都是字符串的时候可以用,要不然就会报错li = ['1','2','3',"wewe","eee"]a = '_'.join(li) # 语法:str.join(sequence)print(a)<<<<1_2_3_wewe_eee2.for 循环li = [1,2,3,"wewe","eee...

2019-08-05 18:43:00 480

转载 set 集合

1.集合(set)是一个无序的不重复元素序列2.可以使用大括号{ }或者set()函数创建集合,空集合用set()3.用{}就是没有value只有键的字典:dic ={"苹果","西瓜","水蜜桃"}4.set 存储的元素是没有顺序的,任何可变对象都不能放入set中,必须是不可变对象,set中的元素必须是可哈希的,可把列表转化成集合去重复li =[1,2,2,...

2019-08-05 18:29:00 82

空空如也

空空如也

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

TA关注的人

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