文件的打开及方法:

1、关于文件的打开模式 

python open打开文件并没有创建 python open打开文件报错_迭代

  其中要注意的是如果以二进制方式写入文件的话,格式为 open(filename, 'wb')

python open打开文件并没有创建 python open打开文件报错_字符串_02

  补充:方法readlines(),可以将文件对象迭代成一个正式的列表,列表中的每个元素是字符串格式

open打开的文件对象可以将其视为一个序列迭代,read()是对迭代对象字符串化的翻译过程。

个人理解:open()是计算机将一个文件导入内存的过程,计算机已经将该文件转化成迭代对象,但是无法对用户显示。而readilnes是计算机对该迭代对象的翻译过程,将计算机语言转化为可视化语言。read()是将该文件对象完全可视化可视化。

同时,对于open的对象可作为一个迭代对象iterable,直接用list生成或者for循环。

文件中的指针一开始位于文件开头,指针指向位置为read或者readline所打印的字符串位置

2、关于文件的外包存储(pickle模块)

将几乎任何对象转化成二进制存储。

        dump(object, file)
        dumps(object) -> string
        load(file) -> object
        loads(string) -> object

pickle模块的函数。load类似于read,是一个计算机翻译成可视化语言的过程。

 

3、文件的异常

常见的类型错误有

IndexError

索引超出序列的范围

KeyError

字典中查找一个不存在的关键字

NameError

尝试访问一个不存在的变量

OSError

操作系统产生的异常(例如打开一个不存在的文件)

SyntaxError

Python的语法错误

TypeError

不同类型间的无效操作(如  1 + '1')

ValueError

传入无效的参数(如  int('abc')  )

ZeroDivisionError

除数为零

 

4、文件异常的处理——try语句

try:后面跟检验的代码行

若为True,则不报错或执行else中的语句

若为False,则执行Exception中的语句。其中可以将Error储存到变量reason中,用一个print(str(reason))将其打印出来

无论为True或者False,都将会执行finally语句

 

5、补充while...else语句

当while循环break之后,将会执行else语句。