Python学习记录

Python的创始人为
吉多·范罗苏姆
(Guido van Rossum)

    Python英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/),是一种面向对象直译式电脑程序语言。它包含了一组功能完备的标准库,能够轻松完成很多常见的任务。它的语法简单,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    与SchemeRubyPerlTcl动态语言一样,Python具备垃圾回收功能,能够自动管理内存使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python虚拟机本身几乎可以在所有的操作系统中运行。使用一些诸如py2exe、PyPy、PyInstaller之类的工具可以将Python源代码转换成可以脱离Python解释器运行的程序。

    Python的官方解释器是CPython,该解释器用C语言编写,是一个由社区驱动的自由软件,目前由Python软件基金会管理。

Python支持命令式程序设计面向对象程序设计函数式编程面向侧面的程序设计泛型编程多种编程范式。

MySQLdb 异常处理

2019年03月04日

程序在生产环境中运行,具体有没有异常,有没有什么问题,都需要及时了解。生产环境中外部的多变,有一些是在编码过程中很难预料到的,所以需要通过异常捕获,来了解程序的运行状况。在数据库保存数据当中,会产生很多异常:数据长度超限、网络异常、用户恶意提交、字符问题等都会产生异常。为了捕捉在使用MySQLdb的过程中产生的一些异常与警告,通用代码如下:# SQL 插入语句 sql = "INSERT INT...

MySQLdb 自动处理关闭连接

2019年03月04日

在数据库操作中,打开了数据库连接,一定要及时关闭。如果不及时关闭,导致连接池用完,导致数据库连接失败。所以在使用MySQLdb的时候,自动处理连接关闭很有必要。下面是通用连接关闭的方式:from contextlib import closing with closing(Conn_Config().Conn_MySQL()) as conn_mysql: with closing...

MySQLdb连接数据库封装

2019年03月04日

最近在大量使用MySQLdb,有一些公共代码总结记录,方便以后其他项目使用。在使用MySQLdb库的时候,首先是需要连接数据库,对连接数据库部分做一个封装,方便以后调用。具体代码如下:# !/usr/bin/env python # -*- coding: utf-8 -*- import MySQLdb class Conn_Config: """MySQL连接""" ...

AttributeError: 'Connection' object has no attribute 'execute'

2019年03月04日

在使用MySQLdb的时候,查询数据,出现了如下错误:AttributeError: 'Connection' object has no attribute 'execute'具体代码如下:# 数据库保存原始数据 mysql_conn = Conn_Config().Conn_MySQL() with closing(Conn_Config().Conn_MySQL()) as cur: ...

commands out of sync you can't run this command now python

2019年03月04日

最近在使用MySQLdb插入数据的时候,报如下错误:commands out of sync you can't run this command now python(2014, "Commands out of sync; you can't run this command now")具体截图如下:可以看到有人通过恶意提交,将一部分SQL语句注释掉了,本来一次执行完成的语句,分成两次执行。不...

execute command denied to user

2019年03月04日

在使用MySQLdb保存数据的时候,出现了如下错误:_mysql_exceptions.OperationalError: (1370, "execute command denied to user 'user'@'%' for routine 'database.pg_sleep'")出现这个错误的原因:是没有给表对应的用户赋予相应的权限,这个是没有赋予execute权限。解决方案:用户对应的...

MySQLdb except 的捕捉方式

2019年03月04日

最近使用Python写的后台代码出了一点问题,在排查的时候,定位到数据存储存在异常,但是使用的是except方式,并没有看出来是哪里存在什么样的异常,导致排除异常很棘手。具体代码如下:try: # 执行sql语句 cursor.execute(sql) # 提交到数据库执行 db.commit() except: # 发生错误时回滚 d...

TypeError: clean_counters() missing 1 required positional argument: 'self'

2019年03月04日

最近在调用其他方法的时候报如下错误:TypeError: clean_counters() missing 1 required positional argument: 'self'具体调用方式:from ..Save_Redis_Original_Data import Save_Redis_Original_Data Save_Redis_Original_Data.clean_count...