文件的打开模式
'r':以只读的方式打开文件(默认)
'w':以写入的方式打开文件,会覆盖已存在的文件
'x':用写入的方式打开文件,如果文件已存在,会抛出异常
'a':用写入的方式打开文件,如果文件已存在,则在末尾追加写入
'b':以二进制模式打开文件
't':以文本模式打开文件
文件对象方法
打开文件对象
1.在单独写程序时,代码中需要打开文件,将程序与文件位置放在一块即可
f=open(file_name)
2.在交互环境中打开文件,需写出文件的位置
f=open('E:/data/test.txt')
关闭文件对象
file_name.close()
当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入
只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了
从文件对象中读
1.从文件中读字符,以字符串返回。
给定size时,读取size个字符;未给或给负值时,读取文件中剩余的所有字符
file_name.read(size)
2.从文件中读一行字符,以字符串返回。
给定size时,读一行中的size个字符;未给或给负值时,返回整个一行字符
file_name.readline(size)
3.迭代打印出文件中的每一行数据
>>>for each_line in file_name:
print(each_line)
如果文件很小,read()一次性读取最方便;
如果不能确定文件大小,反复调用read(size)比较保险;
如果是配置文件,调用readlines()最方便
向文件对象写入
1.将字符串写入文件
file_name(str)
2.将序列写入文件
file_name.writelines(seq)
文件对象指针
1.返回当前指针在文件中的位置
file_name.tell()
2.移动文件指针。
offset是移动的字节数;from是开始位置(0:文件的起始位置,1:当前,2:文件末尾)
file_name.seek(offset,from)
将文件对象转换为列表
list(file_name)