
python语言
weixin_43343144
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
原生Python如何使用sqlalchemy框架操作mysql【web-api可以用flask-sqlalchemy比较简单】而用Python写客户端需要自己封装sqlalchemy
常见错误:Table '数据库名称.表名称' doesn't existsqlalchemy.exc.ProgrammingError: (mysql.connector.errors.ProgrammingError) 1146 (42S02): Table '数据库名称.表名称' doesn't exist首先声明一点:关于原生sqlalchemy的使用建议直接看官方文档,以官方...原创 2019-11-26 18:22:55 · 758 阅读 · 0 评论 -
【重磅推荐】scrapy框架之链接提取LinkExtractor对象的使用(这里有一个很大的坑,新手都会犯的一个错误)
官方文档(LinkExtractor参数细节):https://scrapy-chs.readthedocs.io/zh_CN/1.0/topics/link-extractors.html LinkExtractor参数大全:allow:接收一个正则表达式或一个正则表达式列表,提取绝对url于正则表达式匹配的链接,如果该参数为空,默认全部提取。deny:接收一个正则表达式或一个正...原创 2019-02-24 11:30:15 · 3217 阅读 · 1 评论 -
python运算符重载的方法(可以实现任何对象之间的加减乘除各种运算)
重载运算符的方法(实现对应的方法)class Test: a = 1 b = 2 # 只要实现此方法即可重载+法操作(对象加对象) def __add__(self, other): return self.a + other.bclass Test001(Test): a = 3 b = 5 def __...原创 2019-02-18 23:28:03 · 2857 阅读 · 0 评论 -
python之反射方法globas()方法(知类名str即可调用类实现机制)----globas()仅对当前文件的全局属性有作用
globas()方法仅会把当前文件的所有的全局属性(类、方法、变量){"key":value}字典的方式反射出来,比如知道类名为“Test”, 即可调用 globas()["Text"]() <==> Text()当前文件的:全局方法、全局类,全局对象、全局变量都是可以发射的,切记:仅支持当前文件作用域,且全局属性! ...原创 2019-02-19 00:01:17 · 731 阅读 · 0 评论 -
flask-SQLAlchemy数据库模型插入数据的时候使用session.commit()必须处理异常回滚db.session.rollback()
最为原始的try/except办法,多次插入数据就要写多次,很麻烦,使用python原生的contextlib.contextmanager简化代码! try: user_db = User(email=self.email, nickname=self.nickname, password=self.password) db....原创 2019-02-12 18:48:02 · 12554 阅读 · 0 评论 -
python运算符重载之实现__add__方法即可(支持任意对象加减乘除运算....)
class Scope: scope_api = ['blueprint_v1_users.api+register'] def __add__(self, scope): self.scope_api += scope.scope_api list去重复,在转换成list(set集合不支持相加操作) self.scope...原创 2019-02-19 09:47:41 · 2340 阅读 · 0 评论 -
python中 collections.defaultdict用法总结(通俗易懂)
from collections import defaultdictclass Test: a = 1 b = 2 def __init__(self): self.c = 3 self.d = "55" def test(self): pass# defaultdict第一个参数default_...原创 2019-02-28 14:29:07 · 2679 阅读 · 0 评论 -
python3中如何简单快速不用class关键字就可以定义一个对象【collections.namedtuple】
from collections import namedtupleobj = namedtuple("Test",["x","y"])obj.x = 1obj.y = 2a = 1原创 2019-02-13 17:06:53 · 447 阅读 · 0 评论 -
【重磅推荐】Scrapy爬虫框架出现Forbidden by robots.txt(scrapy默认是不爬虫设置了robots.txt文件的,所以要配置一下)
参考文章:https://blog.csdn.net/zzk1995/article/details/51628205 方法一:设置ROBOTSTXT_OBEY = False,这种不推荐(非万不得已),强行爬虫容易封ipscrapy框架这个属性设置为False即可(默认为True)ROBOTSTXT_OBEY = False 第二种方法就是不改变 ROBOTS...原创 2019-02-23 22:18:30 · 793 阅读 · 0 评论 -
Scrapy框架原理分析
参考文档:http://www.runoob.com/w3cnote/scrapy-detail.html原创 2019-02-23 21:20:00 · 212 阅读 · 0 评论 -
Scrapy框架之Feed exports输出路径及文件格式配置:
项目名scrapy_first/settings.py配置文件导出的路径当前目录下的export_data文件下FEED_URI = "export_data/%(name)s_%(time)s.json"输出文件的格式类型(JSON、CSV、XML)FEED_FORMAT = "json"输出文本编码格式(json默认格式不是utf-8)FEED_EXPORT_ENCODI...原创 2019-02-23 21:18:37 · 1300 阅读 · 0 评论 -
Scrapy框架之selecter.xpath()函数的语法总结
Xpath(XML的语法规则)语法规则官方手册:http://www.w3school.com.cn/xpath/xpath_syntax.asp具体用法总结:(函数部分参考xml手册) html = ''' <div> <ul> <li class="toctree-l1"><a ...原创 2019-02-23 15:25:24 · 845 阅读 · 0 评论 -
Scrapy框架之selector.css()函数的语法规则(和css选择器语法一致)
css官方手册:http://www.w3school.com.cn/cssref/css_selectors.asp原创 2019-02-23 15:56:16 · 758 阅读 · 0 评论 -
python和js6和php的字符串模板(字符串链接新方法,python3.6后的新功能)strs = f'这是一个字符串{a}'
python的字符串模板格式:a = "424234"strs = f'这是一个字符串{a}'print(strs) #这是一个字符串424234ES6(JavaScript)的字符串模板格式:`${value}`,其中{}必须加上!php:字符串模板格式"${value}",只能用双引号。其中{}如果省略,那么value变量后必须空格(建议加上{}) ...原创 2019-02-18 15:06:44 · 522 阅读 · 0 评论 -
序列化三:python-flask框架之json.dumps方法中的defaut方法重写(兼容对象的转dict的序列化)
重写json.dumps方法中的default方法(flask官方文档有说明,可查看flask源码实现)from werkzeug.exceptions import HTTPExceptionfrom app.libs.errors.error import ServerException,APIExceptionimport uuidfrom datetime import dat...原创 2019-02-18 15:23:03 · 848 阅读 · 0 评论 -
Python3把2个列表转换成字典的方法
a = [1,2,3,4]b = ["1","2","3","4"]x = dict(zip(a,b))print(x) # {1: '1', 2: '2', 3: '3', 4: '4'}原创 2019-02-28 08:55:51 · 4445 阅读 · 0 评论 -
scrapy框架之pipelines模块总结和注意事项
项目目录scrapy_first/settings.py配置文件设置scrapy_first/pipelines.py文件下实现pipeline类 实现Pipeline模块主要是实现四个方法!class BookFilterPipeline: def __init__(self, count): self.count = count (必...原创 2019-02-23 20:11:49 · 978 阅读 · 0 评论 -
flask之flask.url_for(endpoint, **values)函数如何传递参数!
flask.url_for(endpoint, **values)参数: endpoint - URL的端点(函数名称)values - URL规则的变量参数_external - 如果设置为True,则生成绝对URL。服务器地址可以通过SERVER_NAME配置变量更改,默认为localhost。_scheme - 指定所需URL方案的字符串。该_external 参数必须设置T...原创 2019-02-13 09:32:03 · 5187 阅读 · 0 评论 -
python3使用browsercookie库的时候会提示错误:ModuleNotFoundError: No module named 'Crypto'
推荐这种方式:安装browsercookie2不会存在任何问题(已经测试成功) pip install browsercookie2不推荐这种方式如果安装的是browsercookie可能会出现如下问题pip install browsercookie这种方式,必须安装browsercookie 的 依赖库:必须安装pip install Crypto...原创 2019-02-28 10:22:46 · 4567 阅读 · 0 评论 -
基于scrapy爬虫框架的应用案例之一:百度阅读(无登录爬虫)
基于python的Scrapy框架做爬虫确实简单(别人造好的轮子,我们来组装即可) 无需登录的items.py模块from scrapy import Item,Fieldclass BookItem(Item): title = Field() price = Field() tags = Field() author = Field()...原创 2019-02-24 17:06:37 · 418 阅读 · 0 评论 -
flask-mail插件使用常见错误总结
官方参考文档:https://pythonhosted.org/Flask-Mail/ 报错1:smtplib.SMTPAuthenticationError(错误原因:看看你的配置参数后面是否有逗号,网上复制的代码有逗号)smtplib.SMTPAuthenticationError: (535, b'Error: \xc7\xeb\xca\xb9\xd3\xc3\xca\xda\x...原创 2019-02-13 23:08:10 · 1259 阅读 · 0 评论 -
pycharm如何智能提示web3.py代码(包括所有site-packages目录库的智能提示问题)
官方智能提示文档:http://www.jetbrains.com/help/pycharm/2017.1/type-hinting-in-pycharm.html至于为什么w3.eth无法直接提示,可以看web3.py的源代码你会发现Web对象中根本就没有直接的属性“eth”,而是通过字典封装的!所有无法直接提示但是Eth是支持智能提示的,所有需要使用#type:类型解释一...原创 2019-03-18 16:20:35 · 695 阅读 · 0 评论 -
Python基础-字符串格式化_百分号方式_format方式
http = "http"ip = "127.0.0.1"port = "8080"# 这种方法也不错s1 = "%s://%s:%s" % (http,ip,port)print(s1)# 这种方法更加灵活s2 = "{http}://{ip}:{port}".format(http=http,ip=ip,port=port)print(s2)参考更详细的玩法:h...原创 2019-04-15 17:37:36 · 211 阅读 · 0 评论 -
python GUI框架(分类总结)
https://www.jianshu.com/p/ef71566ff8bbhttps://blog.csdn.net/weixin_37773766/article/details/81535876原创 2019-04-15 18:24:10 · 733 阅读 · 0 评论 -
【重磅推荐】Python爬虫框架之Scrapy命令总结+spiders【爬虫】+items【对象】+middlewares【中间件】+pipelines【管道】
Scrapy常见命令总结:// 创建一个scrapy模板项目scrapy startproject myproject// 创建一个爬虫文件【必须在myproject/myproject/spiders目录执行命令】scrapy genspider spiderName mydomain.com// 运行爬虫【spiderName这边必须是爬虫文件类中的name属性值,默...原创 2019-04-14 10:53:28 · 490 阅读 · 0 评论 -
selenium3自动化测试使用总结【不同浏览器错误不一样,解决方法一致】
总结一句话:selenium3根据不同浏览器下载不同的driver驱动,并和浏览器一起设置path,然后重启即可Firefox火狐浏览器:错误类型+总结参考:https://blog.csdn.net/u011563656/article/details/86506939Firefox火狐浏览器:错误类型解决方案终结版参考:https://blog.csdn.net/qq471...原创 2019-04-23 10:33:10 · 384 阅读 · 0 评论 -
selenium+python自动化87-Chrome浏览器或火狐或其他浏览器后台启动模式(headless)
谷歌浏览器参考别人写的:https://www.cnblogs.com/yoyoketang/p/8078873.html谷歌浏览器后台启动配置方法from selenium import webdriver# 配置谷歌浏览器静默启动【后台启动】chrome_options = webdriver.ChromeOptions()# 谷歌浏览器headless前面的--可以不加【建...原创 2019-04-23 11:09:03 · 816 阅读 · 0 评论 -
阿里云服务器(ECS)实战--CentOS 7 安装Anaconda
https://blog.csdn.net/m0_37903789/article/details/84372297原创 2019-05-03 09:36:50 · 351 阅读 · 0 评论 -
python如何实现抽象类或接口
from abc import ABCMeta, abstractmethodclass Test(metaclass=ABCMeta): @abstractmethod def test(self): pass# 子类必须重写test方法,否则会报错!class Test1(Test): def test(self): p...原创 2019-09-23 18:46:16 · 400 阅读 · 0 评论 -
python的多继承如何调用父类同名的方法!
默认情况下,python多继承super()方法只会调用第一个父类的方法(后面多继承需要类名.方法名(self))class Test001: def __init__(self): print("test001") def test(self): print("method test001")class Test002: ...原创 2019-02-21 10:33:40 · 2557 阅读 · 0 评论 -
python3之argparse对象(用于命令行选项,参数和子命令的解析器)来创建动态端口
其他更多,参考python3官方文档 一个完整的例子(Flask自定义端口测试多线程)import argparsefrom app import APPapp = APP().appif __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('-p',...原创 2019-02-20 23:17:14 · 508 阅读 · 0 评论 -
python常见且最难找的问题:循环导入解决办法和调试方法
错误类型:ImportError: cannot import name 'Test002' from 'test.test002' (D:\GOpath\src\KirinProject\workspace_yushunet_python\test\test002.py) 这个错误的意思就是,你没法从'test.test002导入Test002类。为什么会出现这个问题呢?其实根本原...原创 2019-02-13 19:00:54 · 989 阅读 · 0 评论 -
[【重磅推荐】Scrapy爬虫框架如何重写FilesPipeline或ImagesPipeline的(file_path方法)下载文件或图片自定义文件名
一:文件下载的配置文件: setting.py文件配置选项文件下载保存路径(重写了FilesPipeline默认输出路径:file_dir)FILES_STORE = 'download'ITEM_PIPELINES = { 文件的FilesPipeline必须设置为1,最先执行! 'scrapy_first.pipelines.MyFilesPipeline': 1...原创 2019-02-24 21:59:49 · 4008 阅读 · 0 评论 -
python的对象为什么可以当做函数来调用呢?核心原理是什么【实现__call__函数】
class Test: def __init__(self): self.count = 1 #只要实现了__call__函数,就支持对象作为函数调用! def __call__(self, *args, **kwargs): print(args); print(kwargs);test = Test()#t...原创 2019-02-13 21:15:58 · 487 阅读 · 0 评论 -
flask框架一次处理404、500类错误异常页面通用的方法@web.errorhandler(404)或@app.errorhandler(404)
#flask框架提供这个装饰器,可以让所有404错误都跳转到这个来!@web.errorhandler(404)def page_not_found(error): return render_template("404.html"), 404原创 2019-02-13 22:01:17 · 4173 阅读 · 0 评论 -
SQLAlchemy 如何支持model类执行初始化构造函数__init__(默认情况下是不会调用__init__,必须加装饰器@orm.reconstructor)
关于装饰器@orm.reconstructor介绍:https://docs.sqlalchemy.org/en/latest/orm/constructors.html?highlight=reconstructor#sqlalchemy.orm.reconstructor 如果是正常的User()创建实例对象的方式是会执行__init__的,但是数据库SQLachemy创建就不是这...原创 2019-02-19 22:45:10 · 2940 阅读 · 1 评论 -
Python3运行的时候错误:ModuleNotFoundError: No module named 'PIL'
安装Pillow包即可pip install Pillow参考链接:https://blog.csdn.net/jacabe/article/details/80040338原创 2019-03-01 11:08:40 · 9108 阅读 · 0 评论 -
python函数可以在参数列表的后面带有“-> expression” 形式的“返回值”注解。
函数可以在参数列表的后面带有“-> expression” 形式的“返回值”注解。python的->类型形式,只是注解,并不是强制类型转换def test(a: int) ->int: return aprint(test(False)) #结果还是False ...原创 2019-02-20 10:02:39 · 398 阅读 · 0 评论 -
一个完整的类(python任何类只要继承这个方法,它的实例对象都可以转换成dict序列化)
一个完整的类(python任何类只要继承这个方法,他的实例对象都可以转换成dict)# 让一个类支持转换成dict()字典的基类(json.dumps方法序列化必须继承这个类)class ClassIterator: def __init__(self): self.iter_keys = [] # 对象转字典必须实现的方法,自动调用获取需要dict化...原创 2019-02-20 22:18:15 · 893 阅读 · 0 评论 -
Scrapy爬虫框架之单页面和多页面数据交互的spider操作方法
Request对象参考文档:https://docs.scrapy.org/en/latest/topics/request-response.html原创 2019-02-24 17:15:49 · 747 阅读 · 0 评论