Python文件读写

Python的文件操作函数:open(filename,mode)

文件打开模式 执行操作
'r' 以只读方式打开(默认)
'w’ 以写入的方式打开文件,会覆盖已经存在的文件
'x' 如果指定文件已经存在,使用此模式打开将引发异常
'a' 以写入模式打开,如果指定文件,存在,则在末尾追加写入
'b' 以二进制模式打开文件
't' 以文本模式打开(默认)
'+' 可读写模式(客添加到其他模式中使用)
'U' 通用换行符支持


文件对象方法 执行操作
f.close() 关闭打开的文件


f.read([size=-1]) 从文件读取size个字符,当为给定size或给定负值的时候,读取剩余的所有字符,然后作为字符串返回


f.readline([size=-1]) 从文件中读取一行(包括行结束符),如果有size则返回size个字符


f.write(str) 将字符串str写入文件


f.writeline(seq) 向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象


f.seek(offset,from) 移动文件指针的位置,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节


f.tell() 返回当前在文件的位置


f.truncate([size=file.tell()]) 截取文件到size个字节,默认是截取到文件指针当前位置(注意只能在打开模式为写的情况下,才能清空文件内容)

部分示例代码:

#coding:utf-8
import os

context = '''
'r'		以只读方式打开(默认)
'w’		以写入的方式打开文件,会覆盖已经存在的文件
'x'		如果指定文件已经存在,使用此模式打开将引发异常
'a'		以写入模式打开,如果指定文件,存在,则在末尾追加写入
'b'		以二进制模式打开文件
't'		以文本模式打开(默认)
'+'		可读写模式(客添加到其他模式中使用)
'U'		通用换行符支持
'''

#以只读方式读取文件所有内容
def readFile(name):
    fileObject = open(name,'r')
    try:
        allText = fileObject.read()
    finally:
        fileObject.close()

#创建文件
def createFileByWrite(filename):
    f=open(filename,'w')    #打开文件open()是file()的别名
    try:
        f.write(context)    #把字符串写入文件
    finally:
        f.close()   #关闭文件

#注意,用writelines写入多行在性能上会比使用write一次性写入要高
def createFileByWriteLines(filename):
    f=open(filename,'w')
    try:
        f.writelines(context)   #把字符串写入文件
    finally:
        f.close()   #关闭文件

# readline()读取文件内容
def readByReadline(filename):
    f=open(filename,'r')
    while True:
        line = f.readline() #当文件指针移动到文件末尾,readline会出错
        if line:
            print line
        else:
            break
    f.close()

# readlines()读取文件内容
def readByReadlines(filename):
    f = open(filename,'r')
    try:
        lines = f.readlines()
        for line in lines:
            print line
    finally:
        f.close()

#从文件中读取所有内容,赋值给一个字符串变量
def readByread(filename):
    f = open(filename,'r'r)
    try:
        content = f.read()
    finally:
        f.close()
    print content

if __name__ == '__main__':
    filename = 'filetest.txt'
    createfileByWritelines(filename)
    #把文件删掉
    if os.path.exists(filename):
        print '文件存在%s' %filename
        os.remove(filename)

    



posted @ 2015-05-23 21:47  星空天宇  阅读(95)  评论(0编辑  收藏  举报