python 3.0 ——20190305

1,捕捉错误格式

      try:

      except Exception as e:

      except .... as e:

           当前的错误类型发生时执行,错误本身也是类,被父类捕获后子类不执行

       else:

           没有错误发生时执行

       finally:

            始终执行

        注意:如果错误没有被捕获,会一直往上抛,最后被python解释器捕获,打印错误信息,程序退出

2,可以用logging.exception(e)  记录错误,同时让程序继续往下执行

3,raise可以把错误抛给上一层,不带参数就原样抛出,带参数就按参数

4,迭代器只能迭代一次,再去迭代就是空了 list(a),之后,a所指向的区域变成空

5,调试的方法

  • print():缺点:到处都是print
  • assert :断言  assert n != 0, 'n is zero'  如果n为0,会抛出assertionError
  • logging: logging.basicConfig(level=logging.INFO  (一共有debug,info,warning,error等几个级别)  loggong.info()调用
  • pdb:就是设置断点
  • ide工具

6,可以编写测试单元来测试某个代码,引入unittest,对于多个方法都需要用到的,可以用setUp(),teardown()在头尾先写好,比如打开数据库 https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143191629979802b566644aa84656b50cd484ec4a7838000

7,读取文件(所有文件读取都是调用操作系统的,所以用完要立马关闭,不然文件对象会占用操作系统资源)

      f = open(文件路径,'r'),可以接受编码,默认是utf8,如果编码混乱,可以设置errors处理方式,一般‘ignore’

      无论文件是否读取成功,都关闭,可以将f.close()放在 finally里,或者直接用 with ...

  • f.read(size) :一次读取size,没有size表示全部读取
  • f.readlines():一次读取全部,并按行返回,可以for循环出来
  • f.readline():每次读取一行

8,StringIO 在内存中读写字符串str,write(),写入  getvalue() 读取

9,BytesIO 在内存中读写bytes

10,python的os模块可以操作操作系统,分布在os,os.path,shutil模块也提供了补充方法,比如复制文件copyfile()

11,Python语言特定的序列化模块是pickle,但如果要把序列化搞得更通用、更符合Web标准,就可以使用json模块。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值