# 1.open文件
# 2.文件操作(读或者写)
# 3.关闭文件
1)读文件
import codecs //codecs模块主要是解决文件乱码问题
f = codecs.open('D:\\file_test.txt') //传入文件路径
print(f.read())
f.close()
open(filename,mode)
mode有几个参数需要学习:
r -- 读
w -- 写
b -- 二进制
a -- 追加
2)写文件
import codecs
f = codecs.open('D:\\file_test.txt','w')
f.write('you are very cool {0}\n'.format('feng'))
f.write('you are very cool %s\n' %'jin')
f.close()
3)file常用方法
file.read()
一次性读取所有内容,以字符串的方式存取
file.readline()
返回文件的一行内容,返回一个字符串
file.readlines()
读取所有内容然后以列表的形式返回,每一行作为列表的一个元素(适合小文件操作)
file.readlines()[index]
根据index读取返回列表中的元素
file.next()
读取文件下一行内容,返回一个字符串
file.tell()
返回一个整数,表示当前文件指针的位置(就是到文件头的比特数).
file.seek(偏移量,[起始位置])
用来移动文件指针的位置
偏移量:单位:比特,可正可负
起始位置:0-文件头,默认值;1-当前位置;2-文件尾
file.flash()
强制刷新文件,把内部缓冲区的数据立刻写入文件, 不用被动的等待输出缓冲区写入
file.write("hello\n")
将字符串写入文件,如果要写入字符串以外的数据,先将他转换为字符串.
file.writelines()
将字符串列表写入文件,必须传入一个序列
file.name
获取文件名称
file.closed
判断文件是否关闭,未关闭返回False,已关闭提示True
file.close()
关闭文件,关闭后文件不能再进行读写操作
file.encoding
查看文件编码
file.mode
查看文件的打开模式
for line in f: print line
通过迭代器访问
4)with的用法
使用 open() 打开文件,最后必须用 close() 方法来关闭文件,否则会占用内存,而 with open() 则不需要手动添加该步骤,会自动关闭文件
import codecs
with codecs.open('D:\\file_test.txt','rb') as f:
print(f.read())
print(f.closed) //False
print(f.closed) //True,文件退出缩进后已经自动关闭
import codecs
with codecs.open('D:\\file_test.txt','rb') as f:
for line,value in enumerate(f):
print(line,value)
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中