python处理异常,JSON

异常处理

python 复制代码
#异常处理
# 在连接MySQL数据库的过程中,如果不能有效地处理异常,则异常信息过于复杂,对用户不友好,暴露过多的敏感信息
# 所以,在真实的生产环境中, 程序必须有效地处理和控制异常,按照既定的流程进行

# 建立连接
import pymysql

# 基本的异常处理结构: try ... except ...
# try:
#     conn = pymysql.connect(host='localhost', user='root', password='123456', database='learn', charset='utf8')
#     print("连接到数据库成功")
# except:
#     print("连接数据库失败")

# 更完整的异常处理结构:try...except...finally...
# finally 后的语句一定会执行

# 对不同的异常,展示不同的错误信息
try:
    a = 1/0
    conn = pymysql.connect(host='localhost', user='root', password='123456', database='learn', charset='utf8')
    cursor = conn.cursor()
    cursor.execute("select * from users")
    print("连接到数据库成功")

except pymysql.err.OperationalError as e:
    print("错误信息1")
except pymysql.err.OperationalError as e:
    print("错误信息2")
except Exception as e:
    print("其他异常")
finally:
    # conn.close()
    pass

python处理JSON

python 复制代码
import json
my_dict = {'key1': 'value1', 'key2': 'value2'}
print(my_dict)
print(type(my_dict)) #<class 'dict'>

# 将python对象序列化成字符串
jsonstr = json.dumps(my_dict)
print(jsonstr)
print(type(jsonstr)) #<class 'str'>

# 将JSON字符串反序列化成python对象
source = '[{"key1": "value1", "key2": "value2"},{"key3": "value3", "key2": "value2"}]'
jsonobj = json.loads(source)
print(jsonobj[1]['key3'])

# json库中的json.load和json.dump,用于操作文件
with open("./json.txt",mode='w') as f:
    json.load(my_dict,f)
相关推荐
Goona_4 分钟前
拒绝SQL恐惧:用Python+pyqt打造任意Excel数据库查询系统
数据库·python·sql·excel·pyqt
xw33734095641 小时前
彩色转灰度的核心逻辑:三种经典方法及原理对比
人工智能·python·深度学习·opencv·计算机视觉
倔强青铜三1 小时前
为什么 self 与 super() 成了 Python 的永恒痛点?
人工智能·python·面试
墨尘游子1 小时前
目标导向的强化学习:问题定义与 HER 算法详解—强化学习(19)
人工智能·python·算法
小白学大数据2 小时前
基于Python的新闻爬虫:实时追踪行业动态
开发语言·爬虫·python
freed_Day2 小时前
python面向对象编程详解
开发语言·python
普郎特3 小时前
张三:从泥水匠到包工头的故事 *—— 深入浅出讲解 `run_in_executor()` 的工作原理*
python
我要学习别拦我~3 小时前
kaggle分析项目:steam付费游戏数据分析
python·游戏·数据分析
大模型真好玩3 小时前
深入浅出LangChain AI Agent智能体开发教程(四)—LangChain记忆存储与多轮对话机器人搭建
前端·人工智能·python
love530love3 小时前
命令行创建 UV 环境及本地化实战演示—— 基于《Python 多版本与开发环境治理架构设计》的最佳实践
开发语言·人工智能·windows·python·conda·uv