seek() 默认从文件开头开始.seek(10) seek(10,1) 需要以b的模式读取文件,从相对位置进行移动光标 seek(-3,2) 倒着移动光标的模式 例如: f= open('aaa','rb') f.seek(-3,2) data = f.read() print(f.tell()) print(data) 输出: 18 b' 循环文件的方式 为了避免内存的浪费使用 f = open('aaa','r') 使用循环 for i in f: 一次
第一种.用for循环不断打开文件写入关闭 测试代码数据如下: import time begin = time.perf_counter() def a(f, lis): f.write(lis + '\n') lis = 'hello' lis2 = 'hello2' for i in range(100): with open('ces.txt', 'a+')as f: # 写入文件 a(f, lis) for j in range(10): with open('ces.txt', 'a+
在保存网页文字到txt文件下时,出现如下错误 UnicodeEncodeError: 'gbk' codec can't encode character u'\xa9' in position 24051: illegal multibyte sequence 解决方法: with open(“d:/1.txt”,‘a’,encoding=‘gb18030’) as f: GB18030是GBK的父集,所以能兼容GBK不能编码的字符
# -*- coding: utf-8 -*- #spyder (python 3.7) 1. 统计字符(可以在jieba分词之后使用) from collections import Counter from operator import itemgetter # txt_list可以写成函数参数进行导入 txt_list = ['千古','人间','人间','龙','龙','龙','哈哈哈','人才','千古','千古'] c = Counter() for x in txt_list:
文件写入: 文中的两个变量:f 和 f1(截图时被该死的灯泡遮挡住了) 被称作文件对象 或文件句柄(重口味的叫法,感觉很C++,句子又不是刀子,怎么还带柄?) 以逗号为界,open()方法所依赖的3个参数,依次是 l 路径---用来说明文件所处的位置,这里用的是绝对路径,有意思的是 黑色梦中.txt和 黑色梦中是两个不同的文件.(真骚,那为什么看起来这么像)(见图一) l ‘w’千万别忘了加单引号:注意,这是一个毁灭性的操作方法,会清空文件里的所有内容 l 编码格式:因为open()调用的是操作