2021-07-20

此为便于期末复习总结的一些简单的python小知识,祝大家期末顺利

两种数据库知识

<1> DBM database
1.DBMs就像Python字典一样工作,除了它们通常保存在磁盘上而不是内存中,而且它们的键和值总是字节串对象
2.两种方法: shelve module/ SQLite database
(Both programs can also load and save a simple XML format I which allows, for example, to export DVD data from one program I and import it into the other /基于sql的版本提供了更多的功能,数据设计也更简洁)
3.shelve模块提供了一个DBM 的包装器,只要我们只使用字符串键和可pickle的值,就可以将DBM作为字典I进行交互
在这里插入图片描述
shelve模块:不需要做任何数据转换,而且我可以把DBM对象当作字典来对待
4.最后,关闭DBM,这将

  • 清除DBM的内部缓存
  • 确保磁盘文件反映了所做的任何更改
  • 同时关闭该文件
    在这里插入图片描述
1.shelve.open(filename, flag=’c’, protocol=None, writeback=False):创建或打开一个shelve对象。shelve默认打开方式支持同时读写操作。  
filename是关联的文件路径。  
可选参数flag,默认为‘c’,如果数据文件不存在,就创建,允许读写;可以是: ‘r’: 只读;’w’: 可读写; ‘n’: 每次调用open()都重新创建一个空的文件,可读写。  
protocol:是序列化模式,默认值为None。具体还没有尝试过,从pickle的资料中查到以下信息【protocol的值可以是1或2,表示以二进制的形式序列化】  

2.shelve.close()  
同步并关闭shelve对象。  
注意:每次使用完毕,都必须确保shelve对象被安全关闭。

=>注意点:
在这里插入图片描述
<2> SQL database
1.
在这里插入图片描述

所有查询都是通过数据库对象的cursor()方法提供的数据库游标I执行的
2.dirs = cursor.fetchall() 用于输出list类型
3.我们使用fetchone(),因为有零个或一个匹配的记录,但fetch方法总是返回字段F或None的序列,如果没有记录,即使我们要求只检索一个字段
在这里插入图片描述

数据库访问的补充

1.要操作关系数据库,首先需要连接到数据库,一个数据库连接称为Connection;
连接到数据库后,需要打开游标,称之为Cursor,通过Cursor执行SQL语句,然后,获得执行结果(SQLite是一种嵌入式数据库,它的数据库就是一个文件)
2.
在这里插入图片描述

3.在Python中操作数据库时,要先导入数据库对应的驱动,然后,通过Connection对象和Cursor对象操作数据。
要确保打开的Connection对象和Cursor对象都正确地被关闭,否则,资源就会泄露。
如何才能确保出错的情况下也关闭掉Connection对象和Cursor对象呢?请回忆try:…except:…finally:…的用法

# 关闭Cursor:
>>> cursor.close()
# 提交事务:
>>> conn.commit()
# 关闭Connection:
>>> conn.close()

正则表达式

1.正则表达式是表示字符串集合的紧凑符号,用re模块
2.Function m.group(g, …) works on a match object m I Returns the numbered capture group g F the whole match is group 0

>>> match.group(0) if match else print("no match")
#整个正则表达式是否匹配
#group(0)永远是原始字符串,group(1)、group(2)……表示第1、2、……个子串

3.对于^(如果位于开头,则作用于全部字符串),如果它是字符类中的第一个字符,它就具有否定的含义,否则它只是一个文字插入符号/ if only one number is given in the quantifier it is taken to be both the minimum and the maximum
4.

  • ?: The {0,1} quantification is so often used
  • +:stands for {1,n}
    • :stands for {0,n}
      5.Regular expressions are used in:
      Parsing/Searching/Searching and replacing/Splitting strings/Validation
      (解析/搜索/搜索和替换/分割字符串/验证)

      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值