python文件与异常

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 girl

And I have a big dream

I 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:
       pass
data.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语句,它什么也不做。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值