python文件与异常

来源:互联网 发布:外网映射端口 编辑:程序博客网 时间:2024/05/29 12:07

1、读文件并且在屏幕上输出文件
在桌面上创建一个文件夹HeadFirstPython,文件夹下创建一个文件夹chapter3,然后再创建一个文件sketch.txt,文件内容为:
I am a big big girl
And I have a big dream
I love my family so much

>>> import os>>> os.getcwd() //获取当前文件路径'E:\\toolsroot\\python'>>> os.chdir('C:\Users\Administrator\Desktop\HeadFirstPython\chapter3')>>> os.getcwd()'C:\\Users\\Administrator\\Desktop\\HeadFirstPython\\chapter3'>>> data=open('sketch.txt')>>> print(data.readline()),I am a big big girl>>> print(data.readline()),And I have a big dream>>> data.seek(0)//返回文件起始位置>>> for each_line in data:    print(each_line)I am a big big girlAnd I have a big dreamI love my family so much>>> data.close()

2、split(),find()BIF内置函数
split():可以有一个参数如:split(‘:’),也可以有两个参数如:split(‘:’,1)其中1代表只把字符串按:分割成2段,如果有2个或3个:则后面分出来的不管
find():表示查看某个字符串中是否有某个字符如:find(‘:’),如果有的话返回该字符的位置,如果没有返回-1

>>> for each_line in data:    if not each_line.find(':')==-1:       (role,line_spoken)=each_line.split(':',1)       print(role),       print(' said:'),       print(line_spoken),

tip:
Python中有两种类型的列表:一种是可以改变的列表(用中括号包围),另一种是一旦创建就不可以改变的列表(用小括号包围),后者更常见的称呼是元组(tuple)。可以认为元组等同于列表,不过有一点区别,一旦创建元组中的数据在任何时候都不能改变,还可以认为元组是一种常量列表。
3、处理异常
try/except机制
try :
你的代码(可能导致一个运行时错误)
except:
错误恢复代码

如果程序可能出现运行时错误,错误出现又不处理,那可以用pass来处理

for each_line in data: try:        (role,line_spoken)=each_line.split(':',1)       print(role),       print(' said:'),       print(line_spoken),except:       passdata.close()

4、 特定指定异常
如果你的异常处理代码设计为处理特定类型的错误,一定要在except代码行上指定错误类型。这样就可以把一般化的代码处理异常转换为特定指定异常了。

try:    data=open('sketch.txt')    for eahc_line in data:        try:            (role,line_spoken)=each_line.split(':',1)            print(role),            print(' said:')            print(line_spoken)        except ValueError:            pass    data.close()except  IOError:    print('The data file is missing!')

总结:
1、“异常”(exception) 因运行时错误而出现,会产生一个traceback
2、 使用open()BIF打开一个磁盘文件,创建一个迭代器从文件读取数据,一次读取一个数据行。
3、readline()方法从一个打开的文件读取一行数据。
4、seek()方法可以将文件退回到起始位置。
5、close()方法,关闭之前打开的文件。
6、split()方法可以把一串字符串分割为一个子串列表。
7、 Python中不可变的常量列表成为元组(tuple)。一旦列表数据赋于一个元组,就不能再改变。元组是不能改变的。
8、数据不符合期望的格式时会报错:ValueError
9、数据无法正常访问时会出现IOError(例如你的数据文件已被移走或重命名)。
10、help()BIF允许你在IDLE shell中访问python文档。
11、find()方法会在一个字符串中寻找一个子串。
12、not 关键字将一个条件取反。
13、try/except提供了一个异常处理机制,从而保护可能导致运行时错误的代码。
14、pass语句是python空语句或null语句,它什么也不做。

原创粉丝点击