python对文件进行读写

python进行文件读写的函数是open或file

file_handler = open(filename,,mode)

Table mode

模式

描述

r

以读方式打开文件,可读取文件信息。

w

以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容

a

以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建

r+

以读写方式打开文件,可对文件进行读和写操作。

w+

消除文件内容,然后以读写方式打开文件。

a+

以读写方式打开文件,并把文件指针移到文件尾。

b

以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix的文件是用二进制模式进行操作的。


Table 文件对象方法

方法

描述

f.close()

关闭文件,记住用open()打开文件后一定要记得关闭它,否则会占用系统的可打开文件句柄数。

f.fileno()

获得文件描述符,是一个数字

f.flush()

刷新输出缓存

f.isatty()

如果文件是一个交互终端,则返回True,否则返回False。

f.read([count])

读出文件,如果有count,则读出count个字节。

f.readline()

读出一行信息。

f.readlines()

读出所有行,也就是读出整个文件的信息。

f.seek(offset[,where])

把文件指针移动到相对于where的offset位置。where为0表示文件开始处,这是默认值 ;1表示当前位置;2表示文件结尾。

f.tell()

获得文件指针位置。

f.truncate([size])

截取文件,使文件的大小为size。

f.write(string)

把string字符串写入文件。

f.writelines(list)

把list中的字符串一行一行地写入文件,是连续写入文件,没有换行。


例子如下:

读文件

# -*- coding: utf-8 -*-

'''
有三种读取方式
read() 一次读取所有的  之鞥适用于小文件
readline()一次读取一行 效率较低,再处理一行
readlines()一次读取多行,在一行一行处理 for line in readlines()

直接读取 for line in open('text.txt',r)  效率最高

'''
def IOs():
    filePath = './day.txt'
    wfilePath = './test.txt'
    file = open(filePath,'r')
    try:    
       # str ="234 sdsf 2 3"
       # file.write(str)
        #print(file.readline())
        start = time()
        list = file.readlines()
     #   print list 直接输出list会每行都带有\n
        for line in list:
            print line
        end = time()
        print "运行时间"+(end-start)
    finally:
        file.close()
IOs()

'''
readlines(size) 存在的问题是 一次读取的数据不全
'''    
def WriteLog():    
    file = open('./day.txt', 'r')
    sizehint = 20
    # 200M
    position = 0
    lines = file.readlines(sizehint)
   # print lines
    print lines
    for line in lines :
        print "333"
        print line
    print file.tell()    
'''
    while not file.tell() - position < 0:
      
        position = file.tell()      
        print "www"
        lines = file.readlines(sizehint)
        print "222"
'''  
#WriteLog()

def BigFile():
    file_object = open('./day.txt', 'rU')
    try:
        for line in file_object:
            print line
    finally:
        file_object.close( )
        
BigFile()
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值