python 中的编码声明有两种使用广泛的:
#coding: utf-8
# -*- coding=utf-8 -*-
但以自己的使用体验来看,#coding: utf-8很多时候还是会显示乱码或者莫名其妙的不正常,
一般代码出错很少会怀疑#coding: utf-8,这也是大量调试的出来的认识,所以,以后还是一律用:
# -*- coding=utf-8 -*-
打开模式 | 执行操作 |
'r' | 以只读方式打开文件(默认) |
'w' | 以写入的方式打开文件,会覆盖已存在的文件 |
'x' | 如果文件已经存在,使用此模式打开将引发异常 |
'a' | 以写入模式打开,如果文件存在,则在末尾追加写入 |
'b' | 以二进制模式打开文件 |
't' | 以文本模式打开(默认) |
'+' | 可读写模式(可添加到其他模式中使用) |
'U' | 通用换行符支持 |
文件对象方法 | 执行操作 |
f.close() | 关闭文件 |
f.read(size=-1) | 从文件读取size个字符,当未给定size或给定负值的时候,读取剩余的所有字符,然后作为字符串返回 |
f.readline() | 以写入模式打开,如果文件存在,则在末尾追加写入 |
f.write(str) | 将字符串str写入文件 |
f.writelines(seq) | 向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象 |
f.seek(offset, from) | 在文件中移动文件指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节 |
f.tell() | 返回当前在文件中的位置 |
用法: f=open(........) lines=list(f) 直接转化为列表 for each_line in lines: 这种转为列表的方法效率低 用下面的方法 for each_line in f :
|