小工具      在线工具  汉语词典  css  js  c++  java

python开发常见错误

Python,python 额外说明

收录于:101天前

mysql.connector.errors.NotSupportedError: Authentication plugin ‘caching_sha2_password’ is not supported

出现的问题是mysql8.0之后加密方式发生了变化。

import mysql.connector
connection = mysql.connector.connect(
    host="localhost",
    user="root",
    passwd="password"
)
print(connection)

在这里插入图片描述
不支持身份验证插件“ caching_sha2_password”,

import mysql.connector

connection = mysql.connector.connect(
	host="localhost",
    user="root",
    passwd="password",
    auth_plugin='mysql_native_password'
)

print(connection)

在这里插入图片描述

TypeError: ‘module’ object is not callable

class User(object):
    def __init__(self, username, password):
        self.__username = username
        self.__password = password

    def getUserName(self):
        return self.__username

    def setUserName(self, username):
        self.__username = username
        return None

    def getPassword(self):
        return self.__password

    def serPassword(self, password):
        self.__password = password
        return None

import mysqlTest.User


if __name__ == "__main__":
    user = mysqlTest.User('zhangsan', 123456)
    print(user.getUserName())
    print(user.getPassword())

在这里插入图片描述
Python中有两种导入模块的方法

import modulefrom module import区别是前者是导入包的模块即包下的py文件,后者是深入模块即可以导入py文件定义的类和方法。

# 将import改为from...import深入内部
from mysqlTest.User import User

在这里插入图片描述

mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement

def method():
    cursor.execute('insert into user(username,password) values(%s,%d)',("zhansan1","123456"))
    values = cursor.rowcount

    print(values)

    cursor.close()
    try:
        #num = 5 / 0
        conn.commit()
    except Exception:
        conn.rollback()
    finally:
        conn.close

在这里插入图片描述

cursor的sql语句中使用了python%d占位符。以上代码会执行出错,因为无论是数字(包括整数和浮点数)、字符串、日期时间或其他任意类型,都应该使用%s占位符。

Duplicate entry ‘zhangsan’ for key ‘username’

出现该错的原因是username字段设置了unique键,表示该键不可重复,所以插入重复的键是会报错。解决方法,删除unique键drop index username on table_name

sqlalchemy.orm.exc.FlushError: Instance <User at 0x3a8e7a8> has a NULL identity key

在这里插入图片描述

出现该错误的原因是:id是字符串类型,无法自增长

# 定义User对象:
class User(Base):
    # 表的名字:
    __tablename__ = 'user'

    # 表的结构:
    id = Column(String(20), primary_key=True)
    username = Column(String(20))
    password = Column(String(11))

    def __init__(self, username, password):
        self.username = username
        self.password = password

如代码所示id应该是Iterger类型,却写成了String类型故报错。id = Column(Integer, primary_key=True)修改即可。

. . .

相关推荐

额外说明

leetcode567(字符串排列:滑动窗口)

给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。 换句话说,第一个字符串的排列之一是第二个字符串的子串。 示例1: 输入: s1 = “ab” s2 = “eidbaooo” 输出: True 解释: s2 包含 s1 的

额外说明

day34_JdbcTemplate

JdbcTemplate基本使用 01-JdbcTemplate基本使用-概述(了解) JdbcTemplate是spring框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装。spring框架为我们提供了很多的操作模板类。例如:操作关系

额外说明

Java 新手如何使用Spring MVC 中的双向数据绑定?

文章目录 什么是双向数据绑定? 使用Spring MVC实现双向数据绑定 步骤 1: 步骤 2: 步骤 3: 步骤 4: 步骤 5: 深入拓展双向数据绑定 结语 -欢迎来到架构设计专栏~Java 新手如何使用Spring MVC 中的双向数据绑定? ☆*

额外说明

android压力测试命令monkey详解

markdown 编辑 文章目录 一、Monkey 是什么? 二、Monkey 测试的目的? 三、Monkey 测试的特点? 四、Monkey 命令详解 1. 标准的monkey 命令 2. 常用选项 3. 事件选项 4. 约束选项 5. 调试选项 五、

额外说明

angular4实战一项目创建

最近一段时间在用angular开发项目,现把自己开发过程中一些体会以博客的形式写出来,分享自己心得,让彼此进步 一、开发环境 1、window10系统 2、node7.4.0 3、npm4.0.5 4、安装@angular/cli: 1.4.1 参考安装

额外说明

HIC-YOLOv5:改进的YOLOv5,用于小物体检测

文章目录 摘要 1、简介 2、相关工作 3、方法 4、实验结果 5、结论 摘要 论文链接:https://arxiv.org/pdf/2309.16393.pdf 小目标检测一直是目标检测领域的一个具有挑战性的问题。有一些工作提出了针对此任务的改进,例如

额外说明

Memcached FAQ(4) 选项、Item过期和命名空间方面的问题

最后更新时间 2009-04-10    更新人 [email protected] 这里收集了经常被问到的关于memcached的问题 memcached的选项 Item的过期 过期的item什么时候才会从cached中删除 命名空间 使用key的"

额外说明

Springboot+Vue+Nginx反向代理入门示例(含打包部署阿里云服务器)

一、效果展现 地址访问:网站地址 二、准备工作 1.阿里云服务器环境配置 (1)MySQL数据库 (2)Tomcat容器(本人开了8080-8084 五个端口,8081做后端,8080放web前端,其他几个拿来练手)并配置 (3)nginx安装并配置 2

额外说明

Windows系统缺少srchadmin.dll文件导致系统功能异常问题

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个srchadmin.dll文

额外说明

wordpress添加页面_如何在帖子和页面内容中添加WordPress小部件

WordPress 添加页面 Widgets make it easy for users to simply drag and drop items into their WordPress site. Even though you can 扩展默认

ads via 小工具