Week3-文件读写和字符编码
7、文件读写:
open("filename","r",encoding="utf-8"): with open as f:
8、字符编码:
utf-8:英文依然用ASCII,中文统一用3个字节;
utf8.decode(utf8) --> unicode unicode.encode("gbk") --> gbk
#!/usr/bin/en python # Author:lijun ''' 模式 可做操作 若文件不存在 是否覆盖 r 只能读 报错 - r+ 可读可写 报错 是 w 只能写 创建 是 w+ 可读可写 创建 是 a 只能写 创建 否,追加写 a+ 可读可写 创建 否,追加写 ''' ''' f = open("file.txt","r",encoding="utf-8") #文件句柄 #一次行读出全部 data = f.read() print(data) f.close() ''' '''#读前5行 g = open("file.txt","r",encoding="utf-8") for i in range(5): print(g.readline().strip()) g.close() #不打印指定行: h = open("file.txt","r",encoding="utf-8") count = 0 for line in h: if count == 5: count += 1 continue print(line) count += 1 h.close() ''' #光标: j = open("file.txt","r",encoding="utf-8") print(j.tell()) #打印光标所处位置,一个字符是一位 print(j.readline()) print(j.tell()) print(j.seek(2)) #移动到指定位置 print(j.readline()) print(j.encoding) #返回文件的编码格式 #print(j.fileno()) #不常用 print(j.name) #打印文件名字 print(j.isatty()) #如果文件连接到一个终端设备返回 True,否则返回 False。 #判断文件是否可读可写 print(j.readable()) print(j.writable()) #print(j.flush()) #刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。 print(j.__next__()) #返回文件下一行。 #print(j.truncate()) #截取文件