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的文本换行符