with open(r'xxx', 'w+', encoding='utf-8') as f:
print(f.readlines())
本来是想读取并修改一个文件,想一边读取一边写入,发现读取出来是空。
原因:'w+'表示覆盖写入,这时f表示的是新建的那个文件,还没有写入任何内容,自然是空,这时不论是f.readlines()还是f.readline()都是空。
with open(r'xxx', 'r', encoding='utf-8') as f:
print(f.readlines())
with open(r'xxx', 'r', encoding='utf-8') as f:
lines = f.readlines()
for i, line in enumerate(lines):
lines[i] = line.replace('要修改的局部内容','修改后的局部内容')
with open(r'xxx', 'w+', encoding='utf-8') as w:
w.writelines(lines)
with open相关参数说明
错误代码with open(r'xxx', 'w+', encoding='utf-8') as f: print(f.readlines())本来是想读取并修改一个文件,想一边读取一边写入,发现读取出来是空。原因:'w+'表示覆盖写入,这时f表示的是新建的那个文件,还没有写入任何内容,自然是空,这时不论是f.readlines()还是f.readline()都是空。正确代码with open(r'xxx', 'r', encoding='utf-8') as f: print(f.read
我在使用readlines()方法读取一个1.8万行的txt文件时,发现得到的结果却是空的,
with open('THUOCL_medical.txt','r',encoding='utf-8') as file,\
open('THUOCL_new.txt','w',encoding='utf-8') as file2:
lines = file.readlines()
也就是debug的时候,lines是一个空列表,一开始我还以为是内存不够,后来搜索了一下相关的文章,感觉并不是这个问
众所周知在python中读取文件常用的三种方法:read(),readline(),readlines(),今天看项目是又忘记他们的区别了。以前看书的时候觉得这东西很简单,一眼扫过,待到用时却也只知道有这么几个方法,不懂得它的原理与用法。也许吧,没有永远的记忆,况且根本没有用心去记它。话不多说,来一起看看详细的介绍:
假设a.txt
一、read([size])方法
read([size])...
这个函数是把一个文档当成一个字符串(结尾有空字符串)返回。也就是一个文档存储在一个字符串对象中,如果文件很大,就很耗内存。
2.readlines(),是把一个文档的每一行(包含行前的空格,行末加一个\n),作为列表的一个元素,存储在一个list中。每一个行作为list的一个元素。
3.readline(),类似于readlines(),不过它每次只读取文档的一行。以后需要逐步循环(一般用whicl