自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张昆

Peace & Love

  • 博客(156)
  • 资源 (11)
  • 收藏
  • 关注

原创 python中的线程相关概念简单梳理

1.简单启动一个线程python标准库提供了threading模块,启动一个线程就是把一个函数传给Thread实例,再调用start()运行起来import threadingimport timedef loop(): print(f'----------thread :{threading.current_thread().name} is running...') ...

2019-06-27 22:14:00 305

原创 Python的type和object之间到底是什么关系?

V2EX上有个问题:三年左右的 Python 后端 , 大概要能到什么样到水平才合格啊?下面的回复众说纷纭,但是有个问题比较新颖:描述一下 type 与 object 的关系,查了一下网上的答案,加上一些自己的理解写到这里备忘(其实印象中以前在某本书上看过的,但是不想翻书找,搜索引擎提高学习效率啊)前提是我们已经了解了面向对象编程中的类的继承关系,类的实例化概念,在这个基础上来理解会更容易一些。...

2019-06-01 12:00:57 3515 1

原创 python 类 __slots__ 可限制添加属性和优化减少内存占用

1.给类或者示例添加属性和方法正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,对于class本身也是一样的2.使用__slots__如果先要对class和实例加以限制,可以在定义class的时候,定义一个__slots__,来限制能够添加的属性:这么做之后,没在__slots__里面标记好的属性就不能随便添加到类或者示例中了...

2019-03-31 11:05:03 502

原创 sys.argv[] 用法

sys.argv[]是用来获取命令行输入的参数的(参数和参数之间空格区分),sys.argv[0]表示代码本身文件路径,所以从参数1开始,表示获取的参数了例子0:test.py#-*-coding:utf-8-*-from sys import argvscript,first,second,third = argvprint ("The script is called:{%s}"% scrip

2017-11-18 21:36:08 32984 1

原创 对于Python中@property的理解和使用

重看狗书,看到对User表定义的时候有下面两行 @property def password(self): raise AttributeError('password is not a readable attribute') @password.setter def password(self, password): self.pass

2017-09-02 22:03:22 68044 10

原创 python 图片、文件 通过 request header 多线程下载

写爬虫过程中发现图片下载比较慢,遂使用多线程下载来提速import threadingimport requestsclass MulThreadDownload(threading.Thread): def __init__(self, url, startpos, endpos, temp_dict, headers, proxies): super(MulT...

2020-02-20 14:47:36 2927

原创 python3 requests https 请求 报 SSLContext 相关递归错误

一、错误信息:2019-11-19 15:14:40 : Provider before requests .post2019-11-19 15:14:41 : error infoTraceback (most recent call last): File "/root/operation/spider/web/lh_spider_config/utils/run_provider/s...

2019-11-19 17:10:29 4362 1

原创 selenium webdriver chrome 获取 文件 下载 链接 (js生成的链接,点击事件发送请求并弹窗的那种)

import jsonfrom selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitieschrome_options = Option...

2019-11-12 23:04:22 3165

原创 爬虫 headless 访问 知道创宇 加速乐 CDN 网站

通过 requests.get 直接请求网站首页,返回 521 错误提示码,返回结果是js代码。这是采用加速乐反爬技术,在访问前先判断客户端的cookie是否正确,如果不正确,返回521状态码和一段js代码,并且进行set-cookie操作,返回的js代码经过浏览器执行又会生成新的cookie,这两个cookie一起发送给服务器,才会返回正确的网页内容试了下代码demo如下,有cookie就带上...

2019-10-23 11:47:55 869 1

原创 python爬虫 伪装 使用 mitmproxy 通过js验证

是否爬虫可以通过如下的方式检测出来爬虫如何通过https://intoli.com/blog/not-possible-to-block-chrome-headless/chrome-headless-test.html的检测1. 爬虫的代码chrome headless 配置、基本安装和使用可以参考:http://www.voidcn.com/article/p-hwlrznzi-bp...

2019-10-12 14:01:33 894

原创 python 重写logging.Handler的emit 实现日志输出到 redis 数据库

python中想要把日志输出到redis,可以写一个类继承logging.Handler,并重写emit方法来实现import loggingimport datetimefrom redis import StrictRedis, ConnectionPoolfrom core.settings import REDIS_HOST, REDIS_DB, REDIS_PORTpool ...

2019-09-27 14:18:35 2913

原创 1.6 在字典中将键映射到多个值上

字典是一种关联容器,每个键都映射到一个单独的值上,如果想让键映射到多个值,需要将这多个值保存到另一个容器如列表或者集合中。要使用列表或者集合取决于应用的意图,如果希望保留应用的插入顺序就用列表,如果希望不重复就用集合。为了能方便的创建这样的字典,可以使用collections模块中的defaultdict类...

2019-09-09 17:31:52 193

原创 1.5 实现优先级队列

想要实现一个队列,能够以给定的优先级来对准荣盛排序,而且每次pop操作时候都会返回优先级最高的那个元素使用heapq模块来实现一个简单的优先级队列import heapqclass PriorityQueue: def __init__(self): self._queue = [] self._index = 0 def push(sel...

2019-09-08 12:42:13 196

原创 1.4 找到最大或者最小的N个元素

一、N=1 使用min、max如果只是简单的想找到最小或最大的元素(N=1时),使用min和max最快二、N约等于集合长度,先排序如果N和集合的本身大小差不多,通常更快的方法是先对集合进行排序,然后做切片操作,例如sorted(items)[:N]或者sorted(items)[-N:]三、N小于集合长度 使用heapq如果我们想在某个集合中找到最大或者最小的N个元素,使用heapq中的...

2019-09-08 11:25:57 468

原创 1.3 保存最后N个元素

在迭代或者其他形式的处理过程中对最后几项记录做一个有限的历史记录统计from collections import dequedef search(lines, pattern, history): previous_lines = deque(maxlen=history) for line in lines: if pattern in line: ...

2019-09-05 16:37:09 122

原创 1.2 从任意长度的可迭代对象中分解元素

1.2 从任意长度的可迭代对象中分解元素使用*表达式来代替多项record = (1,2,3,4,5,6)a,*b,c = recordprint(a,b,c)输出:1 [2, 3, 4, 5] 6

2019-09-05 16:03:41 143

原创 1.1 将序列分解为单独的变量

只要对象是可迭代的,字符串、文件、迭代器生成器都行,就可以执行分解操作,例如x,y = (4,5)name, date = ['acme', (2012, 12, 12)]_, shares, price, _ = ['acme',50, 91.1, (2012,12,12)]...

2019-09-05 15:50:51 134

原创 跟着董伟明大佬的书了解了解 python常用的类库

一、errno在日常开发中经常需要捕获各种异常,做特殊处理。举个例子: os.kill(12345,0)输出Traceback (most recent call last): File "/Users/zhangkun/Documents/GitHub/geektime/test.py", line 4, in <module> os.kill(12345...

2019-08-02 10:41:51 718 1

转载 再用半个小时你就可以彻底了解 python3.6协程中的async/await的来源了

看到一篇非常明晰的讲述,转载过来备忘Python中的协程大概经历了如下三个阶段:最初的生成器变形yield/send引入@asyncio.coroutine和yield from在最近的Python3.5版本中引入async/await关键字一、生成器变形yield/send普通函数中如果出现了yield关键字,那么该函数就不再是普通函数,而是一个生成器。def mygen(al...

2019-08-01 18:15:06 1751

原创 一个小时理解同步异步、阻塞非阻塞、IO多路复用、select、poll、epoll等概念

一、同步、异步、阻塞与非阻塞1.同步与异步1.1 同步与异步概念同步和异步的概念与消息的通知机制有关。同步与异步主要是从消息通知机制角度来说的。同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列。要么成功都成功,失败都失败,两个任务的状态可以保持一致。异步是不需要等待被依赖的任务完成,只是通知被依赖的任务要完成什么工作...

2019-08-01 18:13:22 2430

原创 Git 入门教程

via runoob一、配置/etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。当前项目的 Git 目录中的配置文件(也就是工作目录中的 .gi...

2019-07-30 15:39:06 234

原创 普通人该如何买保险

一、买之前:预防销售套路1. 第一种套路:停售平时我们怎么接触到保险呢?除了说在电视上经常看到广告之外,是不是我们身边的代理人,也就是说,我们的亲戚朋友的代理人,主动来找到我们:“哎呀,是不是给孩子买个保险呀,要帮孩子存一点钱!”或者是说:“哎呀,你要买一个什么保险,可以年年领,月月领,一直领到死!”这种话呢,经常会从他们的嘴巴里面讲出来,那么到底她们讲的这些话,里面哪些是属于套路呢?最常...

2019-07-04 23:04:02 515

原创 macOS pip 安装 mysqlclient 报错

ld: library not found for -lsslclang: error: linker command failed with exit code 1 (use -v to see invocation)error: command 'clang' failed with exit status 1export LIBRARY_PATH=$LIBRARY_PATH:/usr...

2019-05-13 14:39:44 627 1

原创 macOS home-brew安装 旧版本 python

brew install python 会默认安装最新的python3.7,非常坑爹,很多导入包都不好使了,坑死老子了办法:1.卸载python3.7brew uninstall python2.修改python.rb去 https://www.python.org/ftp/python/3.6.8/ 找到想要的3.6版本,下载下来然后去/usr/local/Homebrew/Li...

2019-05-13 11:33:36 2798

原创 Django admin 添加 自定义 页面 不带 数据 模型 models

一、先确认admin该有的都有1.urls.pyfrom django.contrib import adminurlpatterns = [ url(r'^admin/', include(admin.site.urls)),]2.seetings.pyINSTALLED_APPS = [ 'django.contrib.admin',]二、从app里面写好自定义...

2019-05-10 17:43:36 1938

原创 python 全局变量 重载 错误 local variable referenced before assignment

python2.7 Django 1.8概述:当在函数外声明了全局变量,在函数内重新声明,就会覆盖函数外的全局变量,如果函数外或者其他函数对全局变量有引用,此时会导致错误local variable referenced before assignment出现背景:Django orm 采用代理模型继承和自定义管理器对默认模型拿到的queryset做了调整,为了使查到的数据都是调整后的q...

2019-05-07 17:03:24 3711

原创 数据结构习题 单链表操作

一、书:http://images.china-pub.com/ebook4905001-4910000/4909472/ch03.pdf二、题:三、答案:import copyclass Node: """ 节点类,value是本节点值,next是指向的下一节点 """ def __init__(self,value,next=None): ...

2019-04-19 15:55:22 622

原创 python 常用模块 之 requests 模块

1. GET请求1.访问一个页面import requestsr=requests.get('http://www.so.com')print(r.status_code)print(r.text)2.带参数import requestsparams = {'a':1,'b':2}r=requests.get('http://www.so.com', params=param...

2019-04-07 15:07:51 333

原创 python随机生成字母验证码图片

from PIL import Image, ImageDraw, ImageFont, ImageFilterimport randomdef rndChar(): return chr(random.randint(65,90))def rndColor(): return (random.randint(64,255),random.randint(64,255),...

2019-04-06 16:19:21 620

原创 python 常用模块 之 datetime 模块

datetime是Python处理日期和时间的标准库1. 获取现在的日期时间2. 获取指定日期时间直接用参数构造即可3.datetime对象转时间戳直接调用datetime对象的timestamp方法即可4.时间戳转datetime对象用datetime对象的fromtimestamp方法,参数是时间戳5.字符串和datetime对象互转1.字符串转datetime直接用...

2019-04-02 16:48:09 221

原创 python 类中的 特殊方法

1. 打印和输出相关__str____repr__分别应用于打印和直接显示2.用于循环如果一个类想被用于for循环,那这个类就必须实现__iter__()和__next__()方法3.用下标获取元素如果想要用下表[x]的方式来获取元素,name需要在类方法里面实现__getotem__()如果要赋值用__setitem__()方法,如果要删除某个元素用__delitem__(...

2019-03-31 14:19:56 813

原创 python类中的 装饰器 @property

1.set和get方法熟悉java的同学可能知道,java类中对属性可以IDE自动生成对应的get和set方法,但是python中没有的,python比较自由,但是自由的设置和读取类或者实例的属性,就没办法在设置和读取的时候进行一些检查了,对于 这种情况我们可以手动写自己的set和get方法2. 作为一个懒蛋,我觉得有点麻烦能不能像普通属性调用那样简单粗暴的调用set和get方法呢,答案是...

2019-03-31 11:33:39 326

原创 Nginx + uwsgi 简单部署 Djnago 视频工具 web 项目(www.videotools.cn)

视频工具: http://www.videotools.cn环境:ubuntu腾讯云主机docker容器内一、uwsgi 安装与配置1.uwsgi 安装pip install uwsgi2.uwsgi 配置在项目根目录下新建文件:video_tools_uwsgi.ini[uwsgi]socket = /home/video_tools.sockchdir = /homem...

2018-12-13 23:53:33 353

原创 macOS PyCharm 快捷键 使用技巧

mac上面的PyCharm 使用技巧欢迎使用Markdown编辑器格式化代码万能键(自动import)主动提示另起一行搜索IDE功能代码模版搜索一切查找文件,类, 方法快速选择代码块快速插入常用代码展开/收缩代码函数调用层级可视化实时显示文档欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读...

2018-12-11 15:16:02 2431 1

原创 Linux macOS 批量 文件 行首 添加 字符

比如想给py文件开头都加上coding:utf-8防止python2.7运行报错就这么写:find app -name “*.py” -exec sed -i ‘’ -e ‘1i #coding:utf-8’ {} ;参考:https://my.oschina.net/jsk/blog/166974谷歌大法好啊,搜狗一下午没找到解决方案...

2018-11-27 16:26:28 1249

原创 crontab 定时执行django自定义命令的坑

项目需求是要求一个月前的云主机快照都要删除,想着写个Django自定义命令,扔到crontab里面跑,跑来跑去测试和我说没删掉,怎么会?一开始怀疑crontab,但是试试其他任务都跑了啊,然后django自定义命令里面加日志也没见到有日志输出,最后我成哥提醒,加crontab日志,终于发现症结所在了。。。日志显示jango.db.utils.OperationalError: (2003, ‘C...

2018-10-26 20:34:40 1159

原创 MySQL-python Error loading MySQLdb module: libmysqlclient.so.18

Django 项目重新部署到同事给我的的一台centos服务器上之后,运行出现错误:MySQL-python Error loading MySQLdb module: libmysqlclient.so.18可知这是缺少so文件引起的,但是find / -name libmysqlclient.so.18又找不到文件,装了mysql后只能找到libmysqlclient.so.20文件!...

2018-09-11 11:00:18 2364

原创 自动更新 SVN 复制 替换 文件 windows 批处理 bat 脚本 计划任务

1. 自动更新SVN最新代码到本地cd C:\Program Files\TortoiseSVN\binstart TortoiseProc.exe /command:update /path:&quot;C:\Users\kyle\Documents\理想私有云\SVN167\trunk&quot; /closeonend:3C:\Program Files\TortoiseSVN\bin是Tortois...

2018-05-16 12:15:39 1156

原创 Docker中部署Django项目记录

有很多构建方式,记录下本次使用docker部署的过程,日后参考1.构建docker环境安装docker,略 端口映射外部82到80docker pull pythonrun -itd -p 82:80 --name YYST 6bf7a4fa2d45docker exec -it YYST bash2.装服务,装git,拉代码从https://github.com/584...

2018-04-26 09:36:56 2675 1

原创 Django使用mysql视图

一.Mysql视图的创建MySQL中,在两个或者以上的基本表上创建视图,例如:在StudentOrm表和InfoOrm表上,创建mysql_view_test_orm视图1.首先,创建两张表 from django.db import models# Create your models here.class StudentOrm(models.Model): ...

2018-04-19 14:32:08 6998 3

流畅的python

【技术大咖推荐】, “很荣幸担任这本优秀图书的技术审校。这本书能帮助很多中级Python程序员掌握这门语言,我也从中学到了相当多的知识!”——Alex Martelli,Python软件基金会成员, “对于想要扩充知识的中级和高级Python程序员来说,这本书是充满了实用编程技巧的宝藏。”——Daniel Greenfeld和Audrey Roy Greenfeld,Two Scoops of Django作者, 【本书特色】, 本书由奋战在Python开发一线近20年的Luciano Ramalho执笔,Victor Stinner、Alex Martelli等Python大咖担纲技术审稿人,从语言设计层面剖析编程细节,兼顾Python 3和Python 2,告诉你Python中不亲自动手实践就无法理解的语言陷阱成因和解决之道,教你写出风格地道的Python代码。, ● Python数据模型:理解为什么特殊方法是对象行为一致的关键。, ● 数据结构:充分利用内置类型,理解Unicode文本和字节二象性。, ● 把函数视作对象:把Python函数视作一等对象,并了解这一点对流行的设计模式的影响。, ● 面向对象习惯用法:通过构建类学习引用、可变性、接口、运算符重载和多重继承。, ● 控制流程:学习使用上下文管理器、生成器、协程,以及通过concurrent.futures和asyncio包实现的并发。, ● 元编程:理解特性、描述符、类装饰器和元类的工作原理。, 【主要内容】, 本书致力于帮助Python开发人员挖掘这门语言及相关程序库的优秀特性,避免重复劳动,同时写出简洁、流畅、易读、易维护,并且具有地道Python风格的代码。本书尤其深入探讨了Python语言的高级用法,涵盖数据结构、Python风格的对象、并行与并发,以及元编程等不同的方面。, 本书适合中高级Python软件开发人员阅读参考。, 【译者简介】, 安道, 专注于现代计算机技术的自由翻译,译有《Flask Web 开发》《Python 网络编程攻略》《Ruby on Rails 教程》等书。, 个人网站:http://about.ac/。, 吴珂, 现为Airbnb公司软件工程师,所在团队主要负责开发和维护各类可伸缩、高性能服务,并在Airbnb内推广面向服务的系统架构。在分布式系统、云存储服务和跨平台SDK开发,以及大规模数据处理等方面有多年经验。

2017-10-30

Python Cookbook(第3版)中文版.pdf 极清PDF

Python Cookbook(第3版)中文版.pdf 极清PDF

2017-08-11

算法图解 高清 PDF

算法图解 高清原版PDF 资源共享 看完上传 http://blog.csdn.net/u013205877/article/details/76411718

2017-08-04

bootsect MBR VBR 磁盘 引导 修复

bootsect.exe(boot sector)是Windows vista/7中光盘中自带的一个程序,字面解释是引导扇区修复工具(boot sector restoration tool),是位于安装光盘boot目录下,体积很小不到100kb但却很实用。用该工具可以修复在你电脑上的启动扇区。

2017-03-31

bootsect.exe

bootsect.exe(boot sector)是Windows vista/7中光盘中自带的一个程序,字面解释是引导扇区修复工具(boot sector restoration tool),是位于安装光盘boot目录下,体积很小不到100kb但却很实用。用该工具可以修复在你电脑上的启动扇区。

2017-03-31

sqljdbc_4.0.2206.100_chs

sql server的JDBC驱动 sql server 2005 连接方式 //1.加载驱动 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //得到链接 Connection ct=DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databaseName=数据库名","sa","sa");

2014-08-04

设置虚拟硬盘

可以把内存设置为虚拟硬盘,做浏览器缓存的存放盘,用速度快的内存当硬盘用,随机读写很给力

2014-07-18

宽带叠加批处理

可以让有线和无线的网速叠加使用,下载时候很给力,运行此命令前:请先把各网卡连通internet

2014-07-18

空空如也

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

TA关注的人

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