Python
文章平均质量分 55
灰太狼_1991
这个作者很懒,什么都没留下…
展开
-
python使用MongoDB,备忘
知识备份,内容多来自知乎的Jerry专栏。安装pymongopymongo是由MongoDB开发者发布的官方驱动程序,官方文档在这里。这里给自己备份一个记录,方便刚开始使用的时候查阅。转载 2017-01-13 14:08:11 · 1013 阅读 · 0 评论 -
flask+bootstrap实现dashboard中的统计图表
就是在dashboard首页有个图表统计直观展示一些数据,本例用的是用户的角色及统计。 图上信息可以看到,用户100个,四种角色以及角色的人数和占比,以此类推可以统计一些其他的信息。以下我尝试简单的阐述一下实现:文件结构 这里只是蓝图的结构,主要用到的是views.py视图函数,models.py定义Dashboard类,提供一些查询方法,以及模板文件dashboard.html。views.p原创 2017-10-22 15:55:16 · 5778 阅读 · 0 评论 -
在flask项目中利用ilike进行搜索
在项目中的表格上方,通常都会添加一个搜索窗口,按输入内容进行搜索。搜索过程是前端输入内容,提交一个表单到相应的路由函数,表单内容在函数中获取是通过request.args.get(‘q’, ”)。我这里搜索表单的id是q,如果获取的内容不存在则内容为空,则不过滤,否则通过Model.query.filter()来过滤相应的内容。下面通过不同部分来看看具体实现。github项目链接。jinja2原创 2017-10-30 16:09:58 · 3420 阅读 · 0 评论 -
python赋值/拷贝问题
代码见最后。在学习排序算法时,本想写个pytest比较一下时间,结果发现结果老是failed。仔细想了下之前看过类似文章提到过赋值时特别注意,于是检查了代码,发现是生成数组的函数有问题,因为我使用的scope=module,于是create_list这个函数返回的值在整个test_sorts.py的测试中是同一个,如果冒泡简单的赋值给另外一个列表,那么我引用的时候实际上还是会影响原始的列表,原始的列原创 2017-09-03 18:32:04 · 372 阅读 · 0 评论 -
*args **kwargs
首先看下*args和**kwargs传入一个函数之后到底是什么:def what_are_args_and_kwargs(*args, **kwargs): print(args) print(kwargs)what_are_args_and_kwargs()不传入参数直接运行:(){}args传入之后是一个tuple,而kwargs传入之后是一个dict。然后加入参数试一下:wh原创 2017-09-09 14:59:23 · 328 阅读 · 0 评论 -
@classmethod和@staticmethod
这里有个误区是两种方法都不是为了不想创建实例,@classmethod是为了能实现对类本身的操作,典型代表ORM中的应用,而@staticmethod是为了声明这个函数不改变实例本身的数据。下面内容引用自本博文。普通的类方法foo()需要通过self参数隐式的传递当前类对象的实例。 @classmethod修饰的方法class_foo()需要通过cls参数传递当前类对象。@staticmethod修原创 2017-09-08 16:46:51 · 695 阅读 · 0 评论 -
每日一题LeetCode+算法
现在github的reademe完成,定期更新到blog上。LeetCode链接是leetcode地址: 1. Two Sum 字典 171. Excel Sheet Column Number ascii码,26进制 617. Merge Two Binary Trees 递归算法链接是github地址: 排序: 1. [冒泡bubble],冒泡排序因为是在原数原创 2017-09-05 14:02:59 · 1395 阅读 · 0 评论 -
学习Celery在项目中使用的总结
开始本文不是针对分析celery或者教学的,只是在学习之余对自己在项目中使用的总结,董老师知乎上有篇文章写的非常好,大家可以移步,我也是看了这篇文章了解了很多。如果想直接看项目的直接移步github项目。项目中Celery是使用redis最为代理的,功能主要是: 1. 发送邮件; 2. 定时更新一些有时效性的数据,判断是否到期;配置官方文档的配置列表在这里。下面是项目中的配置,使用的cronta原创 2017-08-28 10:28:01 · 5281 阅读 · 0 评论 -
i18n(Internationalization)
Flask应用完成后,发现跟着教程走是英文版的,最后利用Flask-babel这个包来实现支持多种语言。文章简要描述,具体代码见项目地址GitHub/bsawf。安装和配置pip install Flask-Babel安装完成后按照官方网站说明配置自己的应用。在我们配置文件中加入Babel相关的语言选项,这里key是根据$ pybabel --list-locales列表中支持的语言确定的,可以看原创 2017-08-18 23:38:25 · 2224 阅读 · 0 评论 -
在docker中使用alembic管理数据库的问题
alembic是配合SQLAlchemy的一个工具,可以方便的upgrade或downgrade数据库,而不用每次修改都进行reset操作导致数据丢失。首次使用docker-compose up # 启动image假设现在我们要添加一个foo table,执行下面的命令创建一个revision file:docker-compose exec --user "$(id -d)原创 2017-08-17 17:05:51 · 1180 阅读 · 2 评论 -
安装pgAdmin4,超时问题
为了数据库可视化安装了一个pgAdmin4,这里我下载的是python wheel文件,执行本地安装,执行了pip install操作后,因为有很多依赖包要安装,所以经常超时,有时候pip对于超时的判定太严格,因为我用的aliyun所以也没有特意修改global的超时设置:ReadTimeoutError: HTTPConnectionPool(host='mirrors.aliyun.com',原创 2017-08-17 17:11:48 · 3066 阅读 · 1 评论 -
flask中request的一些疑惑
之前在简书上看了一篇不错的分析request主要用于获取数据的方式的不用: - request.form.get 获取表单的数据 - request.args.get 获取GET请求中的数据,也就是URL后面带的 - request.values.get 获取所有的,涵盖了form和args但是在看其他教程的时候发现了request.form.keys的用法,出现的地方是在一个表单中触发原创 2017-07-21 17:22:57 · 849 阅读 · 0 评论 -
pytest的fixture
最近在学习flask,其中教程推荐的测试工具是pytest,这里对其中一个重要的特性fixture作一些了解,资料来源是官方文档。1. fixture的目的为可靠的和可重复执行的测试提供固定的基线。(可以理解为测试的固定配置,使不同范围的测试都能够获得统一的配置。)fixture提供了区别于传统单元测试(setup/teardown)风格的令人惊喜的功能:有独立的命名,可以按照测试的用途来激活,比翻译 2017-07-01 21:23:11 · 9375 阅读 · 0 评论 -
scrapy shell [url] TypeError: 'float' object is not iterable
python 3.6scrapy 1.1.1twisted 17.1.0运行scrapy shell [URL],得到TypeError:(scrapy) D:\>scrapy shell "www.python.com"2017-03-08 12:12:05 [scrapy] INFO: Scrapy 1.1.1 started (bot: scrapybot)2017-03-08 12原创 2017-03-08 13:11:05 · 2142 阅读 · 1 评论 -
Win下用Pycharm远程连接虚拟机Linux的环境准备
本文主要是如何准备Linux(Ubuntu14.04-32位)下python环境并用Pycharm远程连接开发,关键词: 1. ubuntu国内源替换以及pip国内源替换 2. 安装python的虚拟环境,virtualenv、virtualenvwrapper 3. 环境就续后,pycharm远程连接虚拟机环境和部署文件ubuntu环境的准备我用的是VMware傻瓜式安装的ubuntu14原创 2017-02-22 10:31:05 · 11524 阅读 · 0 评论 -
python3.6 mysql-connector-python 2.2.2
原因练习爬虫使用MySQL的时候,用到了官方的包mysql-connector-python。 1. 官网只能下到windows的msi安装包,但我是在conda虚拟环境中使用的python3.6,也没有去改path,所以安装包默认识别不了对应的python。 2. 于是我在网上找了一个博主提供的mysql-connector-python2.1.4的setup.py版本,以为python3.3原创 2017-01-24 13:30:07 · 6205 阅读 · 1 评论 -
Python pip pkg_resources.DistributionNotFound
在ubuntu下想用httpie请求数据的时候,一直提醒pkg_resources.DistributionNotFound: The 'httpie==0.9.2' distribution was not found and is required by the application查看httpie提示已经安装了最新的版本了,查了一下,有个答案可以解决问题,升级一下对应python环境中的s原创 2017-02-10 14:20:26 · 3322 阅读 · 1 评论 -
csv.writer写入文件有多余的空行
在用csv.writer写入文件的时候发现中间有多余的空行。最早打开方式只是‘w’,会出现多余的空行,网上建议使用binary形式‘wb’打开可以解决问题:with open('egg2.csv', 'wb') as cf:不过只能在python2下运行,python3报错:TypeError: a bytes-like object is required, not 'str'有人建议用enc原创 2017-02-09 14:00:33 · 6999 阅读 · 2 评论 -
python print UUID的问题
在项目中遇到了使用uuid作为主键的情况,有时为了测试方便会加几个print在代码里面,后来在一段代码中前后print内容一致的情况下,if 判定不等的条件一直为True,后来想到了之前也遇到了uuid转换为str使用的情况,这是解决问题的一个办法。这里要说的是print函数打印的问题,如果遇到特殊类型最好带上类型,下面是python官方文档对print的解释:print(*objects, sep原创 2017-11-16 15:38:10 · 1084 阅读 · 0 评论