python
Mr夏先生
一个不断奋斗的草根开发者,致力于扩展个人技术栈:web开发、网络爬虫、数据清洗,崇尚着大数据和服务器架构等开发技术。
展开
-
pip下载whl查看对应版本
查看方法:python -m pip debug --verbose直接安装可能会报错:原创 2021-06-11 13:04:26 · 2349 阅读 · 3 评论 -
python nginx uwsgi 解决upstream prematurely且设置keepalive_timeout不起作用
python nginx uwsgi 解决upstream prematurely且设置keepalive_timeout不起作用原创 2020-07-03 10:10:25 · 1190 阅读 · 0 评论 -
python针对JSONDecodeError
出现这种情况一般都是json.loads(),字符参数不规范造成的,处理方法:1.规范json字符串注意:json字符串是公用的不是单单对应python,其他语言也是,所以不能用python的dict格式来限定json字符串的规范写法,特别注意单引号。2.使用第三方包demjsonpip install demjsondemjson中的decode方法更加亲和python处理...原创 2020-04-21 11:49:55 · 2059 阅读 · 0 评论 -
python定时任务
说明:使用python内置的模块来实现,本篇博客只是以循环定时来示范,其他的可以结合crontab的风格自己设定一、导包from apscheduler.schedulers.blocking import BlockingScheduler二、普通函数的使用(1)interval模式,功能比较单一sched = BlockingScheduler()@sched.sch...原创 2019-02-01 13:53:32 · 2549 阅读 · 0 评论 -
爬取某代理网站代理IP
import refrom urllib.parse import urlparseimport requestsfrom fake_useragent import UserAgentclass ProxySpider: def __init__(self,url_init='https://www.xicidaili.com/nn/'): ''' ...原创 2019-01-14 21:24:09 · 763 阅读 · 0 评论 -
jieba切割生成词云
import sqlite3import pandas as pdimport numpy as npimport jiebafrom collections import Counterfrom pyecharts import WordCloudclass MyWordCloud: ''' 自定义的词云分割 ''' def __init__(s...原创 2019-01-12 22:33:02 · 653 阅读 · 0 评论 -
python的flask框架找不到模块flask.ext.cache
一、修改一下底层源码:vim /root/.pyenv/versions/3.6.5/envs/flask/lib/python3.6/site-packages/flask_cache/jinja2ext.py 将 flask.ext.cache 改成 flask_cache 否则cache模块不能用二、或者在配置redis时这样写cache = Cache...原创 2019-01-17 17:29:07 · 1545 阅读 · 0 评论 -
python with 的原理
首先使用with要求该对象支持上下文管理协议(context management protocol),简单说就是类内部实现了__enter__和__exit__方法。内建了这两个方法的对象:file decimal.Context thread.LockType threading.Lock threading.RLock threading.Condition thread...原创 2019-01-02 10:33:35 · 225 阅读 · 0 评论 -
scrapy-redis的官方文档和源码位置
官方文档:https://scrapy-redis.readthedocs.io/en/stable/源码位置:https://github.com/rmax/scrapy-redis原创 2019-01-05 13:50:43 · 1499 阅读 · 1 评论 -
selenium的无头模式--headless
无论是火狐还是谷歌浏览器只需要添加一个参数即可:from selenium.webdriver.firefox.options import OptionsOptions().add_argument('--headless')原创 2019-01-04 16:43:57 · 5184 阅读 · 0 评论 -
scrapy-redis中url队列类型的控制(zset、list)
说明:scrapy-redis在进行数据请求是能够实现url的自动保存到redis中,但是保存的数据结构类型是和setting配置文件中的优先级队列的选择挂钩的。注意:当url的保存类型和url的提取方式不匹配会报错比如:通过list数据结构的数据提取的方式提取zset中的数据redis中list的数据提取方式:lpush keyredis中zset的数据提取方式:zrange k...原创 2019-01-04 16:37:17 · 3143 阅读 · 0 评论 -
Python中的yield
简单记录一下:yield类似return,只不过返回的是一个生成器,可迭代。使用next()和for循环可进行遍历。原创 2018-12-24 20:46:37 · 128 阅读 · 0 评论 -
python可配置日志logging
一、配置文件logger.ini[loggers]#logger名称keys=root,rotatingFileLogger,timeFileLogger[handlers]#handler名称keys=consoleHandler,rotatingFileHandler,timeFileHandler[formatters]#格式名称keys=simpleFormatter,...原创 2019-02-02 16:36:43 · 542 阅读 · 0 评论 -
linux查看进程中的线程以及线程个数
一、查看进程pid下的线程命令:ps hH p pid二、查看进程pid下的线程个数命令:ps hH p pid | wc -l原创 2019-04-12 15:47:05 · 1933 阅读 · 0 评论 -
Celery Received unregistered task of type
注意:最好在Linux下跑celery,总感觉Windows对python的进程支持的不太好(个人意见)说明:这种错误是任务未注册,或者说路径不对找不到tasks(任务)可以看到tasks中没有任何已注册的任务解决方法:1.celery对象所在文件main.pyfrom celery import Celeryapp = Celery('main')app.confi...原创 2019-03-16 23:32:25 · 6545 阅读 · 4 评论 -
xpath提取标签文本以及子孙标签文本
说明:xpath中text()只能提取该标签的文本内容,提取子孙标签的文本内容需要用到string()使用:"string(xpath的元素定位表达式)"例子:from lxml import htmlcontent = '<div>你<a>好</a></div>'tree = html.fromstring(content)...原创 2019-02-14 13:51:31 · 2703 阅读 · 0 评论 -
python新式类和旧式类(经典类)
这里要涉及一个名词:MRO(基类搜索顺序)新式类:python3默认,移除了旧式类,不需要显示继承object,MRO采用广度优先搜索。旧式类(经典类):python2默认,显示继承object就是新式类,否则就是经典类,MRO采用深度优先搜索。至于优先级搜索可以参考本篇博客的例子进行理解:https://blog.csdn.net/mrlevo520/article/deta...原创 2019-02-08 14:41:38 · 222 阅读 · 0 评论 -
python单例
说明:python中一个模块就是单例,简单的通过模块就能实现单例。本篇博客介绍两种从根本上实现单例模式一、重写类方法__new__:class SingleOne(object): ''' 通过类的__new__实现单例 ''' def __new__(cls, *args, **kwargs): if not hasattr(cls,'_...原创 2019-02-07 20:49:05 · 154 阅读 · 0 评论 -
python元类(metaclass)简单理解
class Person(type): def __new__(cls,name,bases,attrs): ''' 元类:类的抽象模型,可以理解为类是元类的对象,元类是对类进行限定,类是根据元类 进行构建的,类似类和对象的关系。 :param name: 声明该元类的类名 :param bases: 声明该...原创 2019-02-07 16:31:09 · 148 阅读 · 0 评论 -
python协程
说明:python中的协程是通过生成器来实现的,yield不仅能返回值,同时也能接收参数,实现协程之间的通信。'''协程:也叫微线程或者子程序,协程是运行在线程中的,因为单线程不存在同时修改变量的冲突,因此协程无需加锁,也就是没有锁机制。协程相对于线程也不需要线程切换的资源浪费的情况,相对来说协程更加高效。在多核的模式下,由于python的GIL,规定了python程序实际还是单线程...原创 2019-02-07 14:00:54 · 157 阅读 · 0 评论 -
flask复杂类型结合field.List格式化后为null
记录学习flask-restful遇到的一个问题:经过restful格式化的返回前端的数据中,字段或者说属性都没什么问题,但是属性值要么为0要么为null说明:restful格式化数据,无论数据是否存在都能够进行格式化,因为任何数据都能被当做对象,也就是说无论数据是否正确或者说数据格式是否和restful格式化的数据一一对应,restful都能进行格式化,也就是说即便是错误的或者说不是自己...原创 2018-12-11 14:07:13 · 656 阅读 · 0 评论 -
python assert 断言
简单说:就是一个即简单方便又灵活的可抛异常。格式:assert 表达式[,msg]说明:当表达式为False,抛出AssertionError异常,msg是可以自定义的异常信息字符串,可不写例子:...原创 2018-12-19 20:35:23 · 190 阅读 · 0 评论 -
python的函数
'''函数:逻辑代码注意:在python中可以将函数名理解为一种数据类型,而且还是引用类型比如: def a(): passb=a就是将函数a的地址赋值给b变量,a()和b()都是在调用函数a()格式: def 函数名(): 函数体(逻辑代码)注意:函数要调用才能执行参数: 实参:调用者给的实际数据(参数赋值) 形参:方法中定...原创 2018-09-20 11:02:16 · 190 阅读 · 0 评论 -
python中的类
'''面向过程: 以结果为目的面向对象: 以设计的角度去考虑问题-----注重程序的扩展性、维护性 扩展性:继承、多态,功能扩展 维护性:分模块开发(分类)类: 不是一个具体的实物,比较抽象,只是一个设计的模型对象: 由类这个模型产生出的具体对象(多个),但是对象之间并没有什么关系(体现出程序的扩展性),每个对象都有自己的内存地址 ...原创 2018-09-19 20:35:22 · 212 阅读 · 0 评论 -
python中的range()
a=list(range(0,5,2))#range()中的step参数是步数的意思,在使用step时必须指明是增还是减(即3个参数都要写出来),参数名不能写出来原创 2018-09-14 16:11:11 · 187 阅读 · 0 评论 -
python的数据结构
'''容器可以进行增删改查''''''列表:[],可变、有序可重复、类型可不一样,链表结构列表的操作: 增:append(元素),extend(iterable):可添加多个元素,insert()在指定位置添加元素 删:remove(元素),pop(index)默认删除最后一个,clear()清空 改:list[index]=新元素 查:index(元素),...原创 2018-09-19 12:12:09 · 150 阅读 · 0 评论 -
python数据类型
'''数据类型:六大数据类型number:数字类型,python3包含了int,float,complex复数,bol(True,False也可以用1和0表示)str:字符串,可以看成特殊的元组。可以通过角标进行指引,0:第一个元素,-1:最后一个元素列表list:[],支持角标,有序的对象集合元组Tuple;(),元素不可删除和修改,类似列表也是有序的不多说,支持角标集合set:{...原创 2018-09-12 11:48:57 · 135 阅读 · 0 评论 -
python文件读写
一、文件读写文件读写,存取数据 1.打开文件 只读/只写/读写模式打开 2.读写seek(整数)设置光标的位置,默认是0 读:文件必须存在 read()全读 read(整数)整数个字符包括回车 readline():读取文件一行数据 readline(...原创 2018-10-04 19:36:18 · 155 阅读 · 0 评论 -
python中的__name__
__name__:可以理解为一个变量在自己模块下运行: __name__="__main__"在其他模块导入运行自己模块: __name__="自己模块名"比如: test.py: 在test2.py中导入test.py: 运行test2.py,那test.py的__name__="test": ...原创 2018-10-05 12:23:22 · 146 阅读 · 0 评论 -
python中的控件
import tkinterfrom tkinter import ttk#主窗口win = tkinter.Tk()#设置主窗体的标题win.title("主窗体")#设置主窗口大小(用x)和位置(以左上角为标准+)#长:300#宽300#左边间距:100#上边间距:50win.geometry("300x300+100+50")'''注意:属性或者...原创 2018-10-06 17:42:39 · 1687 阅读 · 1 评论 -
Django变量在前端js中不起作用的解决方法
js是具备作用范围的,由一对{}来决定。而django的内置标签和变量也都是由大括号括起来的,这样就会起冲突。解决:将django的内置标签和变量用引号括起来比如:变量:var a = "{{name}}"静态资源:src = "{% static path %}"...原创 2018-12-01 14:48:01 · 2314 阅读 · 0 评论 -
Django中静态资源
一、配置settings.py#这个要保证为调试模式,生产模式Django不解析静态资源DEBUG = True#静态资源只能写成static,写成其他都不可以STATIC_URL = '/static/'STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static')]二、创建项目下的资源文件夹注意:文件名要为stat...原创 2018-11-19 22:40:03 · 169 阅读 · 1 评论 -
python的序列化和反序列化pickle和json
一、pickle模块 1、pickle模块存储到变量:(二进制) (1)存,pickle.dumps(object):序列化为二进制 将数据转为二进制(序列化)进行存储 例子: # 存储到变量中dic = {"name": "张三", "psw": 123}#将数据序列化为二进制data = pickle.dumps(dic...原创 2018-10-08 22:29:23 · 154 阅读 · 0 评论 -
python中==和is与isinstance()和type()区别
一、==和is ==:变量名的value值是否相等 is:变量名的id(地址)是否相等(数字类型的value值相等则id相等)比如:a=[1],b=[1] a,b的value值相等都是[1],所以a==b为True a,b的id(内存地址)不相等,所以a is b为False二、isinstance()和type() isinstance...原创 2018-10-08 12:10:13 · 3829 阅读 · 1 评论 -
python中的事件
一、事件模式上面是控件或者窗体要绑定的事件模式,比如:键盘事件的模式<Key>#键盘事件,注意:在除了窗体外的控件上使用键盘事件要给控件添加焦点focus_set()def keyListen(event): print("char:",event.char,"keycode:",event.keycode)win.bind("<Key>",key...原创 2018-10-07 10:52:44 · 6097 阅读 · 0 评论 -
python中tkinter布局
import tkinter#主窗口win = tkinter.Tk()#设置主窗体的标题win.title("主窗体")#设置主窗口大小(用x)和位置(以左上角为标准+)#长:300#宽300#左边间距:100#上边间距:50win.geometry("300x300+100+50")一、绝对布局: place(x=,y=): 根据当前所在窗...原创 2018-10-06 17:46:16 · 4074 阅读 · 0 评论 -
python中不定长参数
def test(*args):#*args:元组中的元素,args:存放数据的元组的变量名 print(*args)def fun(**args):#**args:字典中的元素(只有key),args:存放数据的字典的变量名 print(args)fun(username="张三",age=18)#{'username': '张三', 'age': 18}...原创 2018-09-15 19:35:20 · 1426 阅读 · 0 评论