python(三)

python文件操作

打开文件,注意文件地址统一使用 \ 而不是 /

a = open(r'D:\PyCharm 2017.3.1\beadtxt.txt','r',-1)
b = open(r'D:\PyCharm 2017.3.1\beadtxt.txt','w',-1)
c = open(r'D:\PyCharm 2017.3.1\beadtxt.txt','a+',-1)

python中使用open方法打开文件,括号中 r 是需要带的,方法编写格式如下:

open(file,mode,buffering,encoding,errors,newline,closefd)

可以只写前几样,但是如果需要写后边的(如encoding)的话前边的也必须都声明。

mode类型:
‘r’ 读模式
‘w’ 写模式
‘a’ 追加模式
‘b’ 二进制模式(可以添加到其他模式后共同作用)
‘+’ 读/写模式(也可以添加到其他模式后)

buffring是INT类型,如果是0,I/O操作无缓冲,直接写到磁盘上;如果是1,I/O操作就是先写到内存里,只有使用flush函数或者close函数才会将数据更新到硬盘上;如果参数大于一,代表缓冲区大小(单位字节),-1(默认值,或者任何负数)代表使用默认缓冲区大小。

文件打开后使用完毕必须使用close()方法关闭,因为文件对象会占用操作系统资源,影响系统的IO操作。

文件读取常用的方式是按字节读取和按行读取,经常用到的方法时read()、readline()、close()。
read()返回的是str类型的对象。

而由于文件操作可能会出现IO异常,一旦出现异常,后面的close()方法就不会调用。所以为了保证程序的健壮性,我们需要使用try … finally 来实现。

try:
    a = open(r'D:\PyCharm 2017.3.1\beadtxt.txt','r',-1)
    print(a.read())
finally:
    if a:
        a.close()

当然,为了减少代码长度,python提供了一种简单写法,使用with代替try…finally,如下所示:

with open(r'D:\PyCharm 2017.3.1\beadtxt.txt','r',-1) as fileReador:
    print(fileReador.read())

那么readline()又是什么时候用呢?当文件很大的时候,可能会出现内存不足的情况,这个时候我们可以反复调用read(size)方法,size表示字节数,如果文件是文本文件,那么可以使用readline()方法一次读取所有内容并按行返回列表。将上面稍作修改,采用readline()的方法实现如下:

with open(r'D:\PyCharm 2017.3.1\beadtxt.txt','r',-1) as fileReador:
    for line in fileReador.readline():
        print(line.strip())

以上是打开文件,下面我们介绍写入文件:
首先打开的时候是一样的,不同的是mode不同:

with open(r'D:\PyCharm 2017.3.1\beadtxt.txt','w',-1) as fileReador:
    fileReador.write('liuyuexiao')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值