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

 

 

阅读剩余
THE END