【Python】[04]文件与异常

 

大多数程序都遵循:输入--处理--输出的模型。首先是输入数据,之后是处理数据,然后进行存储、显示、打印或传输。

Python中的基本输入机制是基于行的:从文本文件向程序读入数据时,一次只会到达一个数据行。

接下来,再来认识几个Python的BIF大佬:

open():与文件交互的BIF,用来打来文件的,与for结合使用,可以将文件一行行向代码中输入。

readline():从一个打开的文件读取一行数据。

close():打开文件后,对应关闭文件的BIF,做事要善始善终嘛,打开了用完之后再关掉,这个习惯还是很好的。

getcwd():定位到当前工作目录

chdir():切换目录。(注意:目录一般会带有”\“,但是python中的”\“有转义的意思,所以括号中的新目录前加个字母“r”转义一下比较保险)

seek():可以用来将文件“退回”到起始位置。

split():将一个字符串分解为一个子串列表。他的第一个参数为分离的字符,第二个参数可以决定要分成几个子串。

还有一个不是BIF的知识点(由于本人老是容易忘记,所以也记下来吧):end=”“:表示在输入中自动包含换行动作。

以上就是这章中要用到的方法。

打开读取文件

这是最简单的打印方法。

现在需要把内容分成两个部分,一部分是说话的人,另一部分是说话的内容。

split()方法可以满足这种拆分操作。

但是在sketch文件中,内容格式不是完全一样的,如:

一行中有两个字符“:”,split()会搞不懂怎么分离这段话

再如:

一行中没有字符“:”,split()依旧不知道怎么进行分离操作。

对于以上的情况,程序会给你报个ValueError

如果从测试的角度验证的话,这个sketch.txt文件本就不存在的时候,程序可能又会报错了。

这么多可能存在的问题,都来报错,那这个程序真是不友好。

try/except机制保护程序

格式:try:

                 被保护的代码(可能存在运行错误)

           except:

                错误恢复代码

对于这个保护程序的机制,总的来说,就是放过错误,忽略掉不符合期望的那些数据行,可让代码继续执行。

就好像你的男朋友做了一件让你不开心的事,你可以为了大局考虑,暂时忽略掉那些让你不高兴的事,等到后面再来一一解决这中间发生的不愉快的问题。

 

 

错误处理机制可以避免向程序增加不必要的代码和逻辑,关注真正需要的核心代码。

一个try可以对应多个不同的except保护机制。

 

posted on 2018-11-12 21:08  掉毛小个  阅读(154)  评论(0编辑  收藏  举报