Python学习笔记(二)——文件与异常
基于行的输入机制
从文本文件向程序读入数据时,一次会到达一个数据行。
常用的BIF open()
文件基本操作:
import os //从标准库导入os os.getcwd()//获取当前工作目录 os.chdir()//切换文件目录到目标目录 data=open('test.txt')//打开测试文件test.txt print(data.readline(),end='')//读取文件中的一行,默认位置在第一行 print(data.readline(),end='')//已经读取了第一行,这次会读取第二行 data.seek(0)//使用seek()返回文件的起始位置,当然,对于python文件也可以用tell() for each_line in data://利用迭代输出每一行 print(each_line,end='') data.close()//处理完文件一定要将其关闭
进一步处理数据
用split()方法对文本数据进行分割
for each_line in data: (role,line_spoken)=eeach_line.split(':') print(role,end='') print(line_spoken,end='')
split()方法返回一个字符串列表,会赋值给一个目标标识符列表,成为多重赋值(mulitple assignment)
split()含有一个可选参数,默认的将会尽可能多的分割,如果将这个参数设置为1,则分割成两部分。
find()方法:字符串的查找方法,可以来尝试找出一个字符串中的子串,如果无法找到,find()发放会返回值-1,如果找到,这个方法会返回该子串在原字符串中的索引位置。
一个简单的判断:if not each_line.find(':')==-1 这里用not对后面的条件取反
异常处理
异常的形式:traceback
如果你在异常出现时将其忽略,那么这个程序将会崩溃。
不过python允许你在异常出现时将其捕获,可以从这个错误中恢复,最重要的是避免了崩溃。
通过控制程序的运行时行为,你可以确保你的python程序在面对大多数运行时错误时是最健壮的。
强大的try/except机制:
在正常的控制流期间,python尝试运行你的代码,如果没有任何问题,代码会继续正常执行。在异常控制流期间,python先尝试运行你的代码,如果发现有问题,就会执行恢复代码,然后继续正常执行你的代码。
检查一个文件是否存在,防止错误发生
(1)os.path.exists() //异常出现前进行判断,增加了程序复杂性
(2)try:
except: //允许出现错误,出现后对错误进行处理,不必用过多的代码来进行数据筛选和判断
异常处理机制完胜!
特定制定异常
valueError
IOError
阅读剩余
版权声明:
作者:windchao
链接:http://www.naoxiaogen.com/python/2017-11-19/python-study2.html
文章版权归作者所有,未经允许请勿转载。
THE END