自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Quincy.Coder的博客

坚持,冷静!!!

  • 博客(77)
  • 资源 (4)
  • 收藏
  • 关注

原创 Python3之协程socket应用

服务端from gevent import monkey;monkey.patch_all()import geventfrom socket import *s = socket(AF_INET, SOCK_STREAM)s.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)s.bind(('127.0.0.1', 8080))s.listen(5)def

2017-08-31 18:25:32 1019

原创 Python3之协程爬虫应用

from gevent import monkey;monkey.patch_all()import gevent, requestsdef get_page(url): ret = requests.get(url).text with open('b.txt', 'a', encoding='utf-8') as f: f.write('%s-%s\n' %

2017-08-31 17:10:55 1180

原创 Python3之协程

协程定义又称微线程,纤程。英文名Coroutine。轻量级的线程,用户可以控制调度切换任务。协程使用的模块greenlet代码示例from greenlet import greenletdef eat(name): print('%s eat1' % name) g2.switch('quincy') print('%s eat2' % name) g2.swit

2017-08-31 16:45:15 304

原创 Python3之concurrent.futures的map方法,回调函数应用(important)

map用法代码演示from concurrent.futures import ThreadPoolExecutordef deal_num(n): return n ** 2if __name__ == '__main__': t = ThreadPoolExecutor() # for i in range(10): # t.submit(deal_n

2017-08-31 16:00:19 5211

原创 Python3之concurrent.futures实现线程池,进程池

关于concurrent.futures的官方文档concurrent.futures进程池代码演示from concurrent.futures import ProcessPoolExecutor, ThreadPoolExecutordef deal_num(n): return n ** 2if __name__ == '__main__': # 参数默认是CPU个数

2017-08-31 15:33:44 4724

原创 Python3之字符打印颜色

字体色 背景色 颜色描述 30 40 黑色 31 41 红色 32 42 绿色 33 43 黄色 34 44 蓝色 35 45 紫红色 36 46 青蓝色 37 47 白色 显示方式 效果 0 终端默认设置 1 高亮显示 4 使用下划线 5 闪烁 7 反白

2017-08-30 19:08:07 2013

原创 Python3之线程Queue实现生产者消费者模型

生产者消费者模型from threading import Threadimport queue, timeq = queue.Queue()def consumer(): while 1: res = q.get() time.sleep(2) print('消费者消费了\033[35m%s\033[0m' % res)

2017-08-30 18:54:04 1095

原创 Python3之多线程GIL、同步锁、信号量、死锁与递归锁、线程Queue、Event、定时器

GIL与互斥锁再理解线程一要把python代码交给解释器去执行,而此时垃圾回收线程和线程二也需要将自己的任务交给python解释器去执行,为了防止各个线程之间的数据产生冲突,谁拿到GIL锁的权限谁才能执行自己的任务,这就避免了不同任务之间的数据不会产生冲突,这是在同一个进程中加GIL锁会保证数据的安全,不同的数据要加不同的锁。死锁与递归锁死锁代码演示from threading import Thr

2017-08-30 17:22:13 2414

翻译 Markdown语法,写的时候可以过来溜达溜达

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-08-30 08:18:49 235

转载 div css用float时引起背景不正常显示的解决办法

当div里面套嵌多个用float定义的层是,背景图没有办法在firefox里面显示。上网搜了一下才找到解决的方法。  div+css布局无法避免的冗余标签,完全严格按照w3c的标准来布局是不可能的,想要在不同版本的浏览器下都表现出漂亮的网页,几乎无可避免地要使用一些多余的标签。  总结而言,div布局必须用到冗余标签的地方主要有三个:   一是背景图和背景色,当内层元素的css属性全部为“floa

2017-08-29 20:25:39 2280

原创 Python3之爬虫中回调函数的简单应用

import refrom multiprocessing import Poolimport requests'''<a href="/films/344264" title="战狼2" data-act="boarditem-click" data-val="{movieId:344264}">战狼2</a>'''movie_pattern = re.compile(r'}">(.*?)

2017-08-29 15:40:46 1611

原创 Python3之多线程

概念线程是CPU执行调度的最小单位,进程只是开辟内存空间,整合内存资源线程与进程区别线程:线程可以共享进程内的资源线程的创建比进程的创建内存要小进程:各个进程间的内存空间是相互隔离的,进程间的相互通信资源共享依赖IPC(interprocess communication)机制守护线程与守护进程守护进程代码演示import timefrom multiprocessing import Proce

2017-08-29 15:31:46 1603

原创 Python3之进程池与回调函数

进程池代码演示方式一from multiprocessing import Pooldef deal_task(n): n -= 1 return nif __name__ == '__main__': n = 10 p = Pool(4) for i in range(4): res = p.apply(deal_task, args=(

2017-08-28 16:14:41 3318

原创 mysql-5.7.19-winx64服务无法启动解决方案

解压mysql压缩包时没有data文件夹,不要手动创建,在cmd下直接运行命令: mysqld –initialize-insecure,data文件夹会自动生成,注意单词千万不要拼错,不要写成–initialise,也不要只写–initialize,如果不输入-insecure会生成随机密码,第一次登陆会出现问题!!!配置文件my.ini内容: [client] port=3306

2017-08-26 10:34:49 8544 3

原创 Python3之日志模板

import loggingdef log(): logger = logging.getLogger('服务端') logger.setLevel(logging.INFO) fmt = logging.Formatter('%(name)s-->%(asctime)s-->%(message)s') fh = logging.FileHandler('Serve

2017-08-25 20:10:06 1420

原创 Python3之os.walk()用法

代码示例import osg = os.walk(r'D:\Users\Quincy_C\PycharmProjects\S6')print(next(g))print(next(g))第一次next结果:得到的结果是是一个元组,元组的第一个元素是输入的文件路径,第二个元素是当前路径下所有的文件夹组成的列表,第三个元素是当前路径下所有文件组成的列表: (‘D:\Users\Quincy_C\P

2017-08-25 19:16:15 6949

原创 Python3之进程生产者消费者模型(important)

代码演示'''首先,消费者函数从队列中取一次数值然后调用q.task_done()通知生产者函数,<font color="#ff0000">该元素</font>我已经取过了,直到将全部元素取出。在生产者函数中调用q.join()时,函数被挂起,直到队列的数据被全部取走,函数才能继续执行,生产者函数执行结束后,消费者函数还在等待队列中的数据,但此时消费者函数已经没有存活的必要,所以当主进程结束时,可

2017-08-25 16:41:23 1606

原创 Python3之队列Queue、Process补充

代码演示from multiprocessing import Queue#Queue带参数代表队列中元素个数,不加参数代表队列元素个数无限制q = Queue(3)q.put(123)q.put([1, 2, 3])q.put({'a': 1, 'b': 2, 'c': 3})#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#队列中可以加入任何元素,没有数据类型限制,队列

2017-08-25 15:57:04 529

原创 Python3之多进程join、daemon

join当子线程调用join时,主线程会被阻塞,当子线程结束后,主线程才能继续执行。当队列Queue调用join时,被Queue作用的函数会 挂起,等Queue中的数据被全部取出时,被挂起的函数才能继续执行。daemon守护进程:当子进程被设置为守护进程时,主进程结束,不管子进程是否执行完毕,都会随着主进程的结束而结束。

2017-08-25 15:44:40 2227

原创 Python3之互斥锁

什么是互斥锁由于并发状态下,操作系统对多个进程进行调度,而多个进程可能都有操作硬件的需求,这时就会产生多个进程对资源的共享,而共享意味着竞争,会产生许多问题。这样就需要一种机制或者手段去解决竞争,使竞争变得有序化,从而使共享资源按照预定的结果去获取。这种手段就是加互斥锁代码演示import jsonimport osfrom multiprocessing import Process, Loc

2017-08-25 15:34:47 3996

原创 Python3之ftp下载简单代码

服务端import osimport socketimport sysimport structfrom multiprocessing import Processdef get(filepath): ''' 下载功能 :return: ''' with open(filepath, 'rb') as f: for line in

2017-08-24 18:32:17 1218

原创 Python3之进程、线程

进程什么是进程正在进行中或者正在处理任务的程序,比如运行中的QQ,正在播放音乐的酷我,都是进程,进程有优先级进程与程序的区别进程指正在处理任务或者正在进行中的程序。 一个程序启动两次属于2个进程程序指在硬盘中没有被执行的程序文件并发与并行并发:单核条件下,正在运行中的多个程序,CPU被操作系统调度,对遇到I/O操作和运行时间足够长的程序进行切换,并且在切换过程中对上次执行的结果保存在操作系统内存中

2017-08-24 15:57:08 628

原创 Python3之socket实现并发

服务端import socketfrom multiprocessing import Processs = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)s.bind(('127.0.0.1', 8080))s.listen(5)

2017-08-24 11:09:31 992

原创 Python3之由通用字符名称“\u202A”表示的字符不能在当前代码页中表示出来

Bug is a bitch!!! 昨天写了一下FTP上传下载,一把辛酸泪啊,被一个莫名错误卡住了。 事情的始末:准备写个下载功能,然后嫌来回写路径麻烦,就直接把路径写好放在代码里,如图:然后每次调试代码就会去复制一下,然后就各种得不到结果。心想这不会是pycharm的bug吧,因为之前刚刚遇到过,新建一个Django项目,居然报socket错误,我就无奈了,找了好久没找到原因,昨天,就在昨天,

2017-08-24 07:59:52 17250 17

原创 Python3之基于UDP协议的网络编程

代码演示服务端from socket import *socket_server = socket(AF_INET, SOCK_DGRAM)socket_server.bind(('127.0.0.1', 8080))while 1: data, client_addr = socket_server.recvfrom(1024) socket_server.sendto(data

2017-08-23 15:18:32 1822

原创 Python3之优化版粘包解决问题

服务端import jsonimport socketimport structimport subprocessphone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)phone.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)phone.bind(('127.0.0.1'

2017-08-23 14:54:23 1278 2

原创 Python3之socket编程解决粘包问题

什么是粘包当发送网络数据时,tcp协议会根据Nagle算法将时间间隔短,数据量小的多个数据包打包成一个数据包,先发送到自己操作系统的缓存中,然后操作系统将数据包发送到目标程序所对应操作系统的缓存中,最后将目标程序从缓存中取出,而第一个数据包的长度,应用程序并不知道,所以会直接取出数据或者取出部分数据,留部分数据在缓存中,取出的数据可能第一个数据包和第二个数据包粘到一起 粘包解决方案由于应用程序自己

2017-08-22 16:09:18 3967

原创 Python3之命名关键字参数

待续~

2017-08-22 11:07:00 2315

原创 Python3之基于tcp模拟ssh远程执行命令

服务端import socketimport subprocessphone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)phone.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)phone.bind(('127.0.0.1', 8080))phone.listen(5)pri

2017-08-21 15:46:05 1052

原创 Python3之socket网络编程

socket编程的两个循环:链接循环while 1: conn, addr = phone.accept() print(conn, addr) while 1: try: data = conn.recv(1024) if not data: break print('客户端信息:', d

2017-08-21 15:33:23 238

原创 Python3之subprocess模块

import subprocessres = subprocess.Popen('dir', shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)print(res.stdout.read().decode('gbk'))print(res.

2017-08-21 15:11:01 2330

原创 如何在fragment中获取自定义view的控件id

今天在CSDN上下载了一个关于广告轮播的demo,上面的控件是自定义view的控件。当我把它放到项目中犯了难,因为他直接在activity中定义,而我需要将其放入fragment中,所以报了一堆错误还有空指针,主要的问题及解决可见代码,需要注意的问题是,不能直接在oncreate方法中直接初始化控件,而是需要重写onStart()方法:public void onStart(){ super

2017-08-20 17:39:05 3368

原创 Python3之爬虫爬取豆瓣读书Top250

import requestsfrom bs4 import BeautifulSoupfrom openpyxl import Workbookexcel_name = "豆瓣读书.xlsx"wb = Workbook()ws1 = wb.activews1.title = '豆瓣读书'def get_html(url): header = { 'User-Ag

2017-08-20 17:16:27 605

原创 Python3之round用法

round:四舍六入五留双

2017-08-20 16:20:22 1029

原创 Python3之读写Excel操作

代码是从GitHub上看到然后稍微修改后贴上来的,因为作者模块导入时出错,如果有任何侵权行为请告知,立删~

2017-08-20 11:19:58 795

原创 Python3之pickle模块

需要注意的问题:pickle模块支持python任意数据类型,包括对象。但是仅限于python程序间的交互。pickle模块的读写模式都是wb、rb类型的,文件需要以wb、rb模式打开。被pickle序列化后的文件内容不可读,但是反序列化后可以取出数据。

2017-08-19 14:30:01 1162

原创 Python3之装饰器

1.装饰器本质:就是闭包函数 那么什么是闭包函数? 首先闭包函数是一个内部函数,其次是对外部作用域的引用,而不是全局作用域的引用,此乃为闭包函数。2.装饰器体现的程序设计原则:开放封闭 开放:对扩展开放 封闭:对修改封闭3. def wrapper(func):     def inner(*args,**kwargs):         res = func(*args,**kwar

2017-08-19 11:37:09 214

原创 Python3之文件操作

1.主要常用的文件操作模式:r:读模式(默认) 文件存在则直接读取文件内容,不存在则报错w:写模式 文件存在则覆盖原内容写入新内容,文件不存在则创建文件并将内容写入a:追加模式 文件存在则追加原内容写入新内容,文件不存在则创建文件并将内容写入rb:读字节模式wb:写字节模式ab:追加字节模式2.常用的方法:2.1 f.read(参数):参数代表字符,一次读几个字符。 2.2 f.s

2017-08-19 11:05:38 555

原创 Python3之窗体程序

使用模块:PyQt5(第三方模块) tkinter(内置)

2017-08-18 11:28:19 2872

原创 Python3之hashlib模块

import hashlib md5中可有参数但是也需要encode,这个参数俗称加盐 m = hashlib.md5()m.update(‘qaz‘.encode(‘utf-8’)) m.update(‘wsx‘.encode(‘utf-8’)) &&两次update的值(累加的效果)和这次: &&m.update(‘qazwsx‘.encode(‘utf-8’))的值是一样的 pri

2017-08-17 15:09:56 3805

viewflowDemo

ViewFlowDemo.rar

2016-08-04

JPush_Demo极光推送demo

史上最高效最简洁的极光推送demo,绝对不会后悔

2016-08-03

友盟社会化分享

搞了一下友盟社会化分享,不能但是要注意细节

2016-07-21

viewpager+listview联动

滑动头部图片,下面评论数据可以进行相应的更新,希望能帮到你们~

2016-07-18

空空如也

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

TA关注的人

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