首页 > 代码库 > Crossin 8-3;8-4

Crossin 8-3;8-4

8-3
文件打开模式:
r:只读模式、默认
w:只写模式、会先清空文件
a:追加写入模式,在文件末尾写入,不可读
r+:打开一个文件用于读写。文件指针将会放在文件的开头,原文件内容不会清空
b:二进制模式,与前面几种模式并存
w+:打开一个文件用于读写。如果该文件已存在则将其覆盖,如果该文件不存在,创建新文件爱你
wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖,不存在创建新文件
a+:打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。追加写入。
不存在则创建新文件
ab+:……

模式很多,但是并不难记。 
主要的模式只有三种 r:只读;w:重写; a:追加; 
这三种模式的变型 b:二进制; +:读写合一; 
变型只能附加在主模式上,两者一组合,就有了这些看起来复杂的模式。
Tips: 
b 二进制模式主要用于图片、音频、视频等多媒体文件的读写; 
a 是在文件末位追加信息,r+ 是在文件开头追加信息
-------------------------------------------------------------

write:写入
writelines:按行写入,但不会自主换行需加“\r\n”

8-4异常处理
try:
    XXXXXX #可能引发异常的代码
except:
    XXXXXXX #异常处理代码
else:
    XXXXXX #未发生异常时执行
finally:
    XXXXX #结束异常处理前执行

IOError:输入/输出操作失败
ValueError:传入无效的参数
ImportError:导入模块/对象失败
IndexError:序列中没有此索引
NameError:未声明/初始化对象
SyntaxError:语法错误
IndentationError:缩进错误
TypeError:对类型无效的操作
ZeroDivisionError:除零错误

添加具体异常处理代码:
try:
    XXXX
except IOError:
    XXXX
注:未注明错误类型的异常处理,要放在最后

输出异常内容方法:
try:
    XXXX
except IOError,e:#为异常内容定义一个变量e存放
    XXXX
    print e
except Exception,f#为异常内容定义一个变量f存放
    XXXX

Crossin 8-3;8-4