Python3.x版本中新的字符串格式化方法

yipeiwu_com6年前Python基础

我们知道Python3.x引入了新的字符串格式化语法。不同于Python2.x的

复制代码 代码如下:

"%s %s "%(a,b) 

Python3.x是
复制代码 代码如下:

"{0} {1}".format(a,b) 

今天我在用MySQLdb时,需要用带参数的
复制代码 代码如下:

cursor.execute(sql,param) 

语句来完成SQL操作。被其他文章的陈旧说法给误导,用了

复制代码 代码如下:

cursor.execute('insert into test values(%s,%s,%s)',param) 

其中param是一个元组,表示要插入的数据,元组中的各个元素即是数据库中各列的值。
但是执行起来总是会抛出数据库异常,错误信息:
复制代码 代码如下:

【1064】You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near'(%s,%s,%s)'at line……(以下省略)。

其实只要改成这样就好:
复制代码 代码如下:

cursor.execute('insert into test values({0},{1},{2})',param) 

实话说,Python3为了填上Python2的各坑导致了不向下兼容,使得学习Python3的成本提高了不少。但是为了不阻碍科技发展、社会进步,我还是毅然决然投身新版本……

相关文章

使用python 打开文件并做匹配处理的实例

如下所示: import os import re import string file = open("data2.txt") p1 = re.compile(r"^(\d...

Python第三方库xlrd/xlwt的安装与读写Excel表格

前言 相信大家都应该有所体会,在平时经常会遇到处理 Excel 表格数据的情况,人工处理起来实在是太麻烦了,我们可以使用 Python 来解决这个问题,我们需要两个 Python 扩展,...

Python 探针的实现原理

探针的实现主要涉及以下几个知识点: sys.meta_path sitecustomize.py sys.meta_path sys.meta_path 这个简单的来说就是可以实现 im...

python elasticsearch从创建索引到写入数据的全过程

python elasticsearch从创建索引到写入数据的全过程

python elasticsearch从创建索引到写入数据 创建索引 from elasticsearch import Elasticsearch es = Elasticsea...

Python模块_PyLibTiff读取tif文件的实例

Usage example (libtiff wrapper) from libtiff import TIFF # to open a tiff file for reading:...