Python连接数据库的过程中,在print数据源变量的信息时,总是多打印一个字符b

请教各位大神,在Python中连接数据库后,我想输出数据源db的值,但是print('connect %s'% conn2db.user)的输出结果为 connect b'CloudAPS2',而不是 connect 'CloudAPS2',不明白为什么会多输出一个字符b

代码如下:
# -*- coding: utf-8 -*-
import pymysql

def connect():
# 创建数据库连接
conn2db = pymysql.connect(
host='127.0.0.1',# host
port = 3306, # 默认端口,根据实际修改
user='root',# 用户名
passwd='root', # 密码
db='CloudAPS2', # DB name
)
cur = conn2db.cursor() # 操作游标
print('connect %s'% conn2db.user)
return cur, conn2db

def main():
cur = connect()[0]
conn2db = connect()[1]
close(cur, conn2db)

if __name__ == '__main__':
main()

字符串前加 b
作用:python3.x里默认的str是(py2.x里的)unicode, bytes是(py2.x)的str, b”“前缀代表的就是bytes
python2.x里, b前缀没什么具体意义, 只是为了兼容python3.x的这种写法
你的print的用法是python2的用法,试试print('connect {0}'.format(conn2db.user))
温馨提示:答案为网友推荐,仅供参考
相似回答