【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保护机制。