1.几种打开模式
- r 只读
- w 只写
- a 不可读,只能在文本最末尾追加
- r+ 可读可写,光标默认移动到行尾
- w+ 可写可读
- a+ 可读可写,只能在文本最末尾追加
2.w和w+
open('note.txt', 'w', encoding='utf-8') 或 open('note.txt', 'w+', encoding='utf-8')
以这两种方式open文本时,执行完这条语句后,文本就立刻被清空掉,所以使用w和w+时要谨慎
3.python3下的编码问题
如果要打开的文本是用GBk编码的,那么open方法需要设置encoding='gbk'
如果要打开的文本是用utf-8编码的,那么open方法需要设置encoding='utf-8'
encoding的作用是将文本中的字符以指定的编码方式做解码,即将文本中字符解码为unicode
4.常用操作
#迭代方式读取文本,只将当前行读入内存 f = open('note.txt', 'r+', encoding='GBk') for line in f: print(line, end='')
#迭代方式读取文本,如果想要修改文本的内容,只能通过重新创建新文本的方式实现 f_write = open('new.txt', 'w', encoding='GBK') f_read = open('note.txt', 'r', encoding='GBk') for line in f_read: if 'Corner' in line: line = line.replace('Corner', '博客园思密达') f_write.write(line) f_read.close() f_write.close()
5.补充
两个常见方法tell()和seek()
windows的文本换行符