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)