2017-11-04-10文件的输入输出,异常

文件的输入输出,异常

1.文件

2.异常

1.文件的输入输出

#1.打开文件open函数
open(file,[option])
#file是要打开的文件
#option是可选择的参数,常见有 mode等

#2.文件的打开模式
r 制度模式,文件不存在时会报错
w 写入模式,文件存在会清空之前的内容,文件不存在则会新建文件
x 写入模式,文件存在会报错,文件不存在则会新建文件
a 追加写入模式,不清空之前的文件,之间在后面添加内容
b 以二进制读写文件, wb,rb,ab
+ 可读写模式,r+,w+,x+,a+,这几种模式还遵循了r,w,x,a
  的基本原则。
 
#3.文件的读取
f.read(size)
#读取文件的内容,将文件的内容以字符串返回
f.readline()
# 从文件中读取单独行
字符串结尾会自动加上\n,只有当读到最后一行,才
停止添加换行符。
#如果是空行则描述为\n,一个只有换行符的字符串

f.readlines()
#一次读取所有,返回一个列表,列表的元素为文件行的
内容
#可以通过列表索引的方式将文件的每一行内容输出;
  也可以通过for循环迭代输出。
  
#4.文件的写入
f.write()#括号内必须是字符串
f.writelines()#括号内必须是字符串元素组成的序列

#5.保存和关闭
f.flush()#将缓存区内容保存到文件当中
f.close() #对一个已经关闭的文件操作会报错

#6.光标位置
f.tell() #返回当前光标位置
f.seek(offset,from)
#常用f.seek(0)返回起始位置

#7.查看文件信息
f.closed
f.mode
f.name

#8.with 形式打开文件,里面的语句执行完后自动关闭文件

with open('flieName') as f:
	f.read()
 

2.异常语法

try:
	suite
except:
	suite
except:
	suite
except Exception as reason:
	suite
else:
	suite
finally:
	suite
'''
注意:中间的except,else,finally都是可选的,但至少有一个,不然try就没有意义了,根据实际中的需求来选择。
所有错误类型都继承自BaseException
https://docs.python.org/3/library/exceptions.html#exception-hierarchy
'''
## assert 断言  用的不多
assert 1==1 #没有返回值
assert 1==2 #返回AssertionError

>>> li = ['a','b','c','d']
>>> try:
...     li.index('e')
... except Exception:
...     print("'e' is not in list")
... finally:
...     raise ValueError("'e' is not in list")
... 
'e' is not in list
Traceback (most recent call last):
  File "<stdin>", line 6, in <module>
ValueError: 'e' is not in list


#触发异常
#我们可以使用raise语句自己触发异常

#raise语法格式如下:

raise [Exception [, args [, traceback]]]


#实例
#一个异常可以是一个字符串,类或对象。 Python的内核提供的异常,大多数都是实例化的类,这是一个类的实例的参数。

#定义一个异常非常简单,如下所示:

def functionName( level ):
    if level < 1:
        raise Exception("Invalid level!", level)
        # 触发异常后,后面的代码就不会再执行

shell运行

f=open('test.txt','w')

b=2
d=1
try:
    b%d
except NameError:
    print('未定义')
except TypeError:
    print('类型错误')
except ValueError:
    print('值错误')
except Exception:
    print('b%d,报错了')
else:
    print('没有问题')
finally:
    print('不管你草不报错,我都要执行')

try:
    f=open('test.txt','w')
    f.read()
except Exception:
    print('文件操作有误')
finally:
    f.close()

print(f.closed)

try:
    a=input('输入数字: ')
    if a.isdigit():
        print('输入成功',a)
    else:
        raise TypeError
except Exception:
    print('输入有误,请重新输入')

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值