Python3 基础教程 - 廖雪峰不过,也不用过于担心,Python 虽然不能利用多线程实现多核任务,但 可以通过多进程实现多核任务。多个 Python 进程有各自独立的 GIL 锁, 互不影响。 小结 多线程编程,模型复杂,容易发生冲突,必须用锁加以隔离,同时,又 要小心死锁的发生。 Python 解释器由于设计时有 GIL 全局锁,导致了多线程无法利用多核。 多线程的并发在 Python 中就是一个美丽的梦。 参考源码 multi_threading jinja 2.7,而应 用 B 需要 jinja 2.6 怎么办? 这种情况下,每个应用可能需要各自拥有一套“独立”的 Python 运行环 境。virtualenv 就是用来为一个应用创建一套“隔离”的 Python 运行环境。 Python3 基础教程【完整版】 http://www.yeayee.com/ 344/531 首先,我们用 pip 安装 virtualenv: 此时就回到了正常的环境,现在 pip 或 python 均是在系统 Python 环境 下执行。 完全可以针对每个应用创建独立的 Python 运行环境,这样就可以对每 个应用的 Python 环境进行隔离。 virtualenv 是如何创建“独立”的 Python 运行环境的呢?原理很简单,就 是把系统 Python 复制一份到 virtualenv 的环境,用命令 source venv/bin/activate0 码力 | 531 页 | 5.15 MB | 1 年前3
Python 标准库参考指南 3.13 本文档包括了四个主要部分: • 教程 将教你如何使用 sqlite3 模块。 • 参考 描述了该模块定义的类与函数。 • 常用方案指引 详细介绍了如何处理一些特定的任务。 • 说明 提供了关于事务控制(transaction control)的更深一步的背景。 � 参见 https://www.sqlite.org SQLite 的主页;它的文档详细描述了它所支持的 SQL 方言的语法和可用的数据类型。 Completely Different', 1971, 7.5) """) INSERT 语句将隐式地创建一个事务 (transaction) ,事务需要在将更改保存到数据库前提交(更多细节请 参考事务控制 )。我们通过在一个连接对象(本例中为 con)上调用con.commit() 提交事务: con.commit() 我们可以通过执行一个 SELECT 查询以验证数据是否被正确地插入表中。下面的代码中,我们使用我们 8.0), ] cur.executemany("INSERT INTO movie VALUES(?, ?, ?)", data) con.commit() # 记得在执行 INSERT 之后提交事务。 12.6. sqlite3 --- SQLite 数据库的 DB-API 2.0 接口 497 The Python Library Reference, 发行版本 3.13.0 请注意,占位符0 码力 | 2246 页 | 11.74 MB | 9 月前3
Python 标准库参考指南 3.12 本文档包括了四个主要部分: • 教程 将教你如何使用 sqlite3 模块。 • 参考 描述了该模块定义的类与函数。 • 常用方案指引 详细介绍了如何处理一些特定的任务。 • 说明 提供了关于事务控制(transaction control)的更深一步的背景。 � 参见 https://www.sqlite.org SQLite 的主页;它的文档详细描述了它所支持的 SQL 方言的语法和可用的数据类型。 Completely Different', 1971, 7.5) """) INSERT 语句将隐式地创建一个事务 (transaction) ,事务需要在将更改保存到数据库前提交(更多细节请 参考事务控制 )。我们通过在一个连接对象(本例中为 con)上调用con.commit() 提交事务: con.commit() 我们可以通过执行一个 SELECT 查询以验证数据是否被正确地插入表中。下面的代码中,我们使用我们 8.0), ] cur.executemany("INSERT INTO movie VALUES(?, ?, ?)", data) con.commit() # 记得在执行 INSERT 之后提交事务。 请注意,占位符 (placeholders) ? 是用来在查询中绑定数据 data 的。在绑定 Python 的值到 SQL 语句中时, 请使用占位符取代格式化字符串 (string formatting0 码力 | 2253 页 | 11.81 MB | 9 月前3
Python 标准库参考指南 3.13 本文档包括了四个主要部分: • 教程 将教你如何使用 sqlite3 模块。 • 参考 描述了该模块定义的类与函数。 • 常用方案指引 详细介绍了如何处理一些特定的任务。 • 说明 提供了关于事务控制(transaction control)的更深一步的背景。 � 参见 https://www.sqlite.org SQLite 的主页;它的文档详细描述了它所支持的 SQL 方言的语法和可用的数据类型。 Completely Different', 1971, 7.5) """) INSERT 语句将隐式地创建一个事务 (transaction) ,事务需要在将更改保存到数据库前提交(更多细节请 参考事务控制 )。我们通过在一个连接对象(本例中为 con)上调用con.commit() 提交事务: con.commit() 我们可以通过执行一个 SELECT 查询以验证数据是否被正确地插入表中。下面的代码中,我们使用我们 8.0), ] cur.executemany("INSERT INTO movie VALUES(?, ?, ?)", data) con.commit() # 记得在执行 INSERT 之后提交事务。 12.6. sqlite3 --- SQLite 数据库的 DB-API 2.0 接口 493 The Python Library Reference, 发行版本 3.13.0 请注意,占位符0 码力 | 2242 页 | 11.73 MB | 9 月前3
Python 标准库参考指南 3.12 本文档包括了四个主要部分: • 教程 将教你如何使用 sqlite3 模块。 • 参考 描述了该模块定义的类与函数。 • 常用方案指引 详细介绍了如何处理一些特定的任务。 • 说明 提供了关于事务控制(transaction control)的更深一步的背景。 � 参见 https://www.sqlite.org SQLite 的主页;它的文档详细描述了它所支持的 SQL 方言的语法和可用的数据类型。 Completely Different', 1971, 7.5) """) INSERT 语句将隐式地创建一个事务 (transaction) ,事务需要在将更改保存到数据库前提交(更多细节请 参考事务控制 )。我们通过在一个连接对象(本例中为 con)上调用con.commit() 提交事务: con.commit() 我们可以通过执行一个 SELECT 查询以验证数据是否被正确地插入表中。下面的代码中,我们使用我们 8.0), ] cur.executemany("INSERT INTO movie VALUES(?, ?, ?)", data) con.commit() # 记得在执行 INSERT 之后提交事务。 请注意,占位符 (placeholders) ? 是用来在查询中绑定数据 data 的。在绑定 Python 的值到 SQL 语句中时, 请使用占位符取代格式化字符串 (string formatting0 码力 | 2253 页 | 11.81 MB | 9 月前3
Python 标准库参考指南 3.10.15 本文档包括了四个主要部分: • 教程 将教你如何使用 sqlite3 模块。 • 参考 描述了该模块定义的类与函数。 • 常用方案指引 详细介绍了如何处理一些特定的任务。 • 说明 提供了关于事务控制(transaction control)的更深一步的背景。 参见: https://www.sqlite.org SQLite 的主页;它的文档详细描述了它所支持的 SQL 方言的语法和可用的数据类 Completely Different', 1971, 7.5) """) INSERT 语句将隐式地创建一个事务 (transaction) ,事务需要在将更改保存到数据库前提交(更多细节请 参考事务控制 )。我们通过在一个连接对象(本例中为 con)上调用con.commit() 提交事务: con.commit() 我们可以通过执行一个 SELECT 查询以验证数据是否被正确地插入表中。下面的代码中,我们使用我们 Python 类型适配到 SQLite 值 – 如何将 SQLite 值转换为自定义 Python 类型 – 如何使用连接上下文管理器 – 如何创建并使用行工厂对象 • 参阅说明 以获取关于事务控制的更深一步的背景。 12.6.2 参考 模块函数 sqlite3.connect(database, timeout=5.0, detect_types=0, isolation_level=’DEFERRED’0 码力 | 2072 页 | 10.39 MB | 9 月前3
Python 标准库参考指南 3.10.15 本文档包括了四个主要部分: • 教程 将教你如何使用 sqlite3 模块。 • 参考 描述了该模块定义的类与函数。 • 常用方案指引 详细介绍了如何处理一些特定的任务。 • 说明 提供了关于事务控制(transaction control)的更深一步的背景。 参见: https://www.sqlite.org SQLite 的主页;它的文档详细描述了它所支持的 SQL 方言的语法和可用的数据类型。 Completely Different', 1971, 7.5) """) INSERT 语句将隐式地创建一个事务 (transaction) ,事务需要在将更改保存到数据库前提交(更多细节请参 考事务控制 )。我们通过在一个连接对象(本例中为 con)上调用con.commit() 提交事务: con.commit() 我们可以通过执行一个 SELECT 查询以验证数据是否被正确地插入表中。下面的代码中,我们使用我们已经 Python 类型适配到 SQLite 值 – 如何将 SQLite 值转换为自定义 Python 类型 – 如何使用连接上下文管理器 – 如何创建并使用行工厂对象 • 参阅说明 以获取关于事务控制的更深一步的背景。 12.6.2 参考 模块函数 sqlite3.connect(database, timeout=5.0, detect_types=0, isolation_level=’DEFERRED’0 码力 | 2207 页 | 10.45 MB | 9 月前3
Python 标准库参考指南 3.11.10 本文档包括了四个主要部分: • 教程 将教你如何使用 sqlite3 模块。 • 参考 描述了该模块定义的类与函数。 • 常用方案指引 详细介绍了如何处理一些特定的任务。 • 说明 提供了关于事务控制(transaction control)的更深一步的背景。 参见: https://www.sqlite.org SQLite 的主页;它的文档详细描述了它所支持的 SQL 方言的语法和可用的数据类型。 Completely Different', 1971, 7.5) """) INSERT 语句将隐式地创建一个事务 (transaction) ,事务需要在将更改保存到数据库前提交(更多细节请参 考事务控制 )。我们通过在一个连接对象(本例中为 con)上调用con.commit() 提交事务: con.commit() 我们可以通过执行一个 SELECT 查询以验证数据是否被正确地插入表中。下面的代码中,我们使用我们已经 Python 类型适配到 SQLite 值 – 如何将 SQLite 值转换为自定义 Python 类型 – 如何使用连接上下文管理器 – 如何创建并使用行工厂对象 • 参阅说明 以获取关于事务控制的更深一步的背景。 12.6. sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块 503 The Python Library Reference, 发行版本 30 码力 | 2399 页 | 11.19 MB | 9 月前3
Python 标准库参考指南 3.11.10 本文档包括了四个主要部分: • 教程 将教你如何使用 sqlite3 模块。 • 参考 描述了该模块定义的类与函数。 • 常用方案指引 详细介绍了如何处理一些特定的任务。 • 说明 提供了关于事务控制(transaction control)的更深一步的背景。 参见: https://www.sqlite.org SQLite 的主页;它的文档详细描述了它所支持的 SQL 方言的语法和可用的数据类型。 Completely Different', 1971, 7.5) """) INSERT 语句将隐式地创建一个事务 (transaction) ,事务需要在将更改保存到数据库前提交(更多细节请 参考事务控制 )。我们通过在一个连接对象(本例中为 con)上调用con.commit() 提交事务: con.commit() 我们可以通过执行一个 SELECT 查询以验证数据是否被正确地插入表中。下面的代码中,我们使用我们 Python 类型适配到 SQLite 值 – 如何将 SQLite 值转换为自定义 Python 类型 – 如何使用连接上下文管理器 – 如何创建并使用行工厂对象 • 参阅说明 以获取关于事务控制的更深一步的背景。 12.6. sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块 471 The Python Library Reference, 发行版本 30 码力 | 2248 页 | 11.10 MB | 9 月前3
Python 标准库参考指南 3.9.20 SQLite 与 Python 类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 12.6.7 控制事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 12.6.8 有效使用 对于当前目录的相对路径),它是path-like object。你也可以用 ":memory:" 在内存中打开一个数据库。 当一个数据库被多个连接访问的时候,如果其中一个进程修改这个数据库,在这个事务提交之前, 这个 SQLite 数据库将会被一直锁定。timeout 参数指定了这个连接等待锁释放的超时时间,超时之 后会引发一个异常。这个超时时间默认是 5.0(5 秒)。 isolation_level SQLite 数据库连接对象有如下的属性和方法: isolation_level 获取或设置当前默认的隔离级别。表示自动提交模式的None 以及”DEFERRED”, ”IMMEDI- ATE” 或”EXCLUSIVE” 其中之一。详细描述请参阅控制事务。 in_transaction 如果是在活动事务中(还没有提交改变),返回True,否则,返回False。它是一个只读属性。 3.2 新版功能.0 码力 | 2015 页 | 10.12 MB | 9 月前3
共 27 条
- 1
- 2
- 3













