公开标签 #Python
有些操作使用SQLAlchemy框架里的 query, add, update, delete 操作就可以完成,但有些任务使用框架里的 CRUD 操作会很复杂,远没有直接执行原生 SQL 语句方便。前提是,熟悉掌握 SQL 语句的语法。 例如,表 user 里有个字段是 score,每次被点赞该字段的值就要加1,如果用 SQLAlchemy 的 CRUD 就会很麻烦,但是用原生 SQL 就非常简单: update user set score=score+1 where id=123; 那 SQLAlc
在本文中,我们将学习如何使用 multiprocessing 模块中的特定 Python 类,即 process 类。我将通过示例快速概述一下。 什么是 Python 的 multiprocessing 模块? 除了从官方文档中提取内容外,还有什么更好的方法来描述这个模块呢?multiprocessing 是一个支持使用类似于 threading 模块的 API 生成进程的包。multiprocessing 包提供本地和远程并发,通过使用子进程而不是线程来有效地避开全局解释器锁。 本文的重点不是 thr
方法一:使用 in 或 not in 来判断。首推该方法。 dict = { 'name': 'Jack', 'age': '21' } 'name' in dict => True 'name' not in dict => False 'id' in dict => False 'id' not in dict => True 'age' not in dict => False 方法二:使用 in dict.keys() 方法来判断,也可以使用 not in dict.keys() dict =
有一个 Python 列表,如下: pl = [1,2,3,4,5,6,7,8,9] 通过 for 循环 if 条件判断找出这个数字列表中的奇数: odd = [str(x) for x in pl if x%2==1] print(','.join(odd)) 打印结果: 1,3,5,7,9
直接使用 SQLAlchemy 的 scalar() 就可以进行求和计算了。 session.query(func.sum(Money.amount)).filter(.....).scalar() 在介绍下查询对象时常用到的其他几种方法,包括 .one(),.all(),.scalar(),.one_or_none(),.get(),.first()等。 ▶ .one() 如果只能查询到一个结果,返回它,否则抛出异常。 没有结果时抛sqlalchemy.orm.exc.NoResultFound,有超
Python项目使用的Flask框架,操作数据库使用的 SQLAlchemy。 from sqlalchemy import Column, Integer, String, SmallInteger from sqlalchemy import func __mysql = 'mysql+pymysql://
[email protected]:3306/xxx?charset=utf8mb4' __engine = create_engine(__mysql, pool_size=5, max_overflo
Python 列表可以使用 data.sort() 或 sorted(data) 排序。 注意: 1,sort()函数会直接修改原有列表,永久改变,无法返回,函数返回为None 2,sorted()函数会返回一个排序后的列表,原有列表保持不变 3,sort() 效果高,如果改变原来的列表不影响逻辑,优先使用 sort() 一,单个属性排序 利用operator模块和sort()函数根据单个属性进行排序 import operator class Student: def __init__(self, i
使用SQLAlchemy时报错: sqlalchemy.orm.exc.DetachedInstanceError: Instance <User at 0x809ab1f> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: http://sqlalche.me/e/bhk3) 解决方案: 在初始化数据库的代码中,将 maker = sessionmake
项目开发使用的是 Python Flask 框架,每次修改前端 HTML 和静态文件后,都要重启一下 Flask 服务后才能查看修改的效果,非常不方便。 Flask框架提供了内部配置可以让更改及时显示,不需要重启 Flask 服务,只需要刷新页面就能查看修改的效果。 只需要在代码中添加如下代码即可: app.jinja_env.auto_reload = True app.config['TEMPLATES_AUTO_RELOAD'] = True 完整代码: from main import crea
使用 @app.context_processor 和 @app.app_template_global() 修饰器的方法,可当做全局上下文变量在所有模板中直接被调用。 @app.context_processor 修饰的方法返回的是一个字典(注意 context_processor 后没有括号)。例如: @app.context_processor def context_user(): user={'name':'Jack','email':'
[email protected]'} return {'use