目录
1.2.3 读入所有行,以每行为元素形成一个列表——f.readlines()
1.3.1 向文件写入一个字符串或字节流(二进制)——f.write()
1.3.3 将一个元素作为字符串的列表整体写入文件——f.wirtelines()
2.1.2 找不到可读文件——FileNotFoundError
3.2.3 从模块中导入类或函数——form模块 import类名或函数名
3.2.3 导入模块中所有类和函数——form模块 import*
本章导读
一,文章的读写
1.1文件的打开
例:一个简单的文件读写
with open("E:\ipython\test.txt","r",encoding=gbk"") as f: #第一步:打开文件
text = f.read #第二步:读取文件
print(text)
1.1.1 文件路径
·完整文件路径,如上例所示
·程序与文件在同一个文件夹里,可以简化成文件名
with open("test.txt","r",encoding=gbk"") as f: #第一步:打开文件
text = f.read #第二步:读取文件
print(text)
1.1.2 打开模式
·打开模式如果缺省,默认为只读模式
1.1.3 字符编码
1.2 文件的读取
1.2.1 读取整个内容
如果用gbk格式 来解码,解码格式不匹配,会产生报错
1.2.2 逐行进行读取——f.readline()
注:在最后一行中,print(text,end=“”)中end=“”的作用是防止换行,但是在打印输出中为什么还有换行了呢?其实在文本中本身就是换行符,如果不加end=“”的话,会产生两个换行,有一行为空。
1.2.3 读入所有行,以每行为元素形成一个列表——f.readlines()
1.2.4 文本文件读取小结
可以采用下面这个特别的办法
1.2.5 二进制文件读取
1.3 文件的写入
1.3.1 向文件写入一个字符串或字节流(二进制)——f.write()
1.3.2 追加模式——a
1.3.3 将一个元素作为字符串的列表整体写入文件——f.wirtelines()
1.4 既读又写
1.4.1 “r+”
关于这个,如果不移动指针的话,会导致前面的内容被覆盖掉,
原文件 使用代码后
可以人为的移动指针
1.4.2 w+
在第二段代码中,f.seek 把指针移动带开始的地方,再进行读取,因为读取都是从指针开始读取的,不手动移动指针的话,会导致无法正常读取内容
1.4.3 a+
使用时,指针在最后
1.5 数据的存取与读取1.
通用的数据格式,可以在不同语言中加载和存储
本节简单了解两种数据存储结构csv和json
1.5.1 csv格式
由逗号将数据分开的字符序列,可以由EXCEL打开
·读取
·写入
可以借助csv模块完成上诉操作
1.5.2 json格式
常被用来存储字典类型
·写入-dump()
·读取——load()
二,程序异常处理
2.1 常见异常的产生
2.1.1 除0运算——ZeroDivisionError
2.1.2 找不到可读文件——FileNotFoundError
2.1.3 值错误 ——ValueError
感觉这个和c##里面不一样,这里的int 作用是将字符型的整数转换成数字,,而这里的s我字符 型的小数,转变不了
2.1.4 索引错误——IndexError
2.1.5 类型错误——TypeError
2.1.6 其他
当异常发送时,如果不先设定一些处理方法,程序就会发送中断
2.2 异常的处理
提高程序的稳定性与可靠性
2.2.1 try_except
·单分支
如果改为NameError ,同样会报错
·多分支
·万能异常 Exception
·捕获异常值
2.2.2 try_excpet_else
·如果try模块执行,则else模块也执行
可以将else看做try成功的额外奖赏
2.2.3 try_excpet_finally
·不论try模块是否执行 ,finally最后都执行
三,模块简介
3.1广义模块分类
3.1.1 python内置
3.1.2 第三方库
3.1.3 自定义文件
3.2 模块的使用
3.2.1 导入整个模块——import 模块名
·调用方法 :模块名.函数名或类名
3.2.3 从模块中导入类或函数——form模块 import类名或函数名
·调用方法 函数名或类名
一次导入多个
3.2.3 导入模块中所有类和函数——form模块 import*
3.3 模块查找路径
知识总结