python3 学习总结

  1. 关于文件函数 open() 中打开模式 r+w+ 的理解,先来看看具体的描述:
模式描述
r+打开一个文件用于读写。文件指针将会放在文件的开头。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

a. r+:该模式是会覆盖的,但是只是局部覆盖,例如:如果原始内容为:123456,然后通过 f.write("6") 的时候,这个时候文件的内容变为了: 623456,只替换了输入的位数。如果想要读取然后覆盖则需要重新来写入:

with open('a.txt') as fr:
    print(fr.read())
with open('a.txt', 'w') as fw:
    fw.write('12')

b. w+:该模式的读写其实可以理解为写读,如果原来的文件有内容,通过该模式打开的时候已经被清除了,只能重新写入后才能读取到内容。

with open('a.txt', 'w+') as fw:
	fw.write('12')
    fw.seek(0)
    print(fw.read()) # 12
  1. 通过 SAX 解析 xml 时需要中途退出停止解析则需要通过抛出异常的方式:
from xml.sax import ContentHandler, make_parser, handler

class XmlHandler(ContentHandler):
	def endElement(self, name):
		if name == "body"
			raise Exception("full_load") # 通过抛出异常的方式来停止 sax 的解析
			
# 创建一个 XMLReader
xmlParser = make_parser()
# 关闭命名空间
xmlParser.setFeature(handler.feature_namespaces, 0)
xmlParser.setContentHandler(XmlHandler())
xmlParser.parse("b.xml")
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值