Python 文件对象

        文件对象就是IO管理器在内存中表示一个已打开的对象的数据结构,简单来说,如果你想对文件进行操作,就必须先要有一个文件对象。Python中,可用内建函数open()来创建一个文件对象,Python也建议使用open()(When opening a file, it’s preferable to use open() instead of invoking the file constructor directly)打开一个文件。

        打开一个文件失败时,会出发IOError异常,open(name[,mode[,buffering=-1]])函数有三个参数,name为想要打开文件的文件名,mode是打开文件的模式,可为 w , r , a 等值,分别表示可读,可写,追加。buffering表示缓冲方式,值为0表示不缓冲,为1表示缓冲一行数据,其他任何正数表示缓冲区大小(bytes),小于0表示或缺省时表示运用系统默认的缓冲方式。

        文件操作主要是读和写,在此围绕read()和write()学习Python对文件的操作。

        read([size=-1]):size缺省或为负数时,读取全部字节,

 

#-----------#
# 输  入
#-----------#
# read([size=-1])):缺省或为负数时,文件被读至末尾,否则最多读取size个字节,以字符串返回读取部分
    #**# 当文件很大是,该方法会很占用内存
# readline([size=-1]):size为负或缺省时读取至下一个行结束符处,返回包含行结束符的字符串,
#     否则返回最多size字节的不完整行
# readlines([size=-1]):返回每行作为元素的*字符串列表*,当size>0时,每行大约有size字节数据

#-----------#
# 输  出
#-----------#
# write(str):将字符串写入到文件中
# writelines(sequence):将系列写入到文件中,不会自动添加换行符

         下面给出一个Python操作文件的小实例

#_*_encoding:utf8_*_

import os
'''
    从from.txt中读取数据,打印到控制台,
    把读出的数据写入到to.txt中
'''
def fileDemo():
    # os.getcwd():当前路径
    # os.sep:python跨平台的路径名分隔符
    ffile = os.getcwd() + os.sep + 'from.txt'
#     print ffile
    tfile = os.getcwd() + os.sep + 'to.txt'
#     print tfile
    fofile = open(ffile,'r')
    #文件对象属性
    #fofile.encoding:文件使用的编码
    #fofile.closed:文件是否关闭
    #fofile.mode:打开文件的模式
    #fofile.name:文件名
    tofile = open(tfile,'w')
    '''
        文件迭代,意味着用户不必调用readxxx()方法
        就可以在for循环里迭代文件的每一行
        文件迭代更高,读写代码更简单
        for eachline in f:
            ...
    '''
    for line in fofile:
        print line,
        #写入到to.txt
        tofile.writelines(line)
    #操作完文件时,一定记得关闭文件
    fofile.close()
    
if __name__ == '__main__':
    fileDemo()


        看看效果

控制台打印效果:


to.txt中的呢


        越发觉得简单高效了
     

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值