python较大文件写入与读取,文件太大内存崩溃?这里教你怎么做

   日期:2020-08-08     浏览:388    评论:0    
核心提示:文章目录较大文件读取第一种第二种文件写入较大文件读取对于文件的读写操作可参考:https://blog.csdn.net/xdc1812547560/article/details/107860396通过read()读取⽂件内容时会将⽂件中所有的内容全部读取出来。如果对于 读取的⽂件⽐较⼤的话。会⼀次性的将⽂件加载到内容中。容易导致内存泄 露。所以对于较⼤的⽂件。不要直接调⽤read()第一种read()可以接收⼀个size作为的参数。该参数⽤来指定要读取字符的数量。默认值为-1,-1也就是要

文章目录

    • 较大文件读取
      • 第一种
      • 第二种
    • 文件写入

较大文件读取

对于文件的读写操作可参考:
https://blog.csdn.net/xdc1812547560/article/details/107860396
通过read()读取⽂件内容时会将⽂件中所有的内容全部读取出来。如果对于 读取的⽂件⽐较⼤的话。会⼀次性的将⽂件加载到内容中。容易导致内存泄 露。所以对于较⼤的⽂件。不要直接调⽤read()

第一种

read()可以接收⼀个size作为的参数。该参数⽤来指定要读取字符的数量。

默认值为-1,-1也就是要读取全部的内容 每次读取都会从上次读取到的位置开始。

如果字符的数量⼩于size。则会读 取所有的。如果读取到最后的⽂件。则会返回空串

# file代表123.txt文件
file = '234.txt'
# 打开文件123.txt别名f
with open(file,'r',encoding='cp936') as f:
    # 用r接收
    r = f.read(12)
    r1 = f.read(12)
    print(r,r1)
hello world
 hello python

可以配合while,for in来读取全部

第二种

readline()可以读取一行内容

# file代表123.txt文件
file = r'D:\新建文件夹\123.txt'
# 打开文件123.txt别名f
with open(file,encoding='cp936') as f:
    print(f.readline())
    print(f.readline())
hello world
hello pyrhon

readlines()用于一行一行读取,但是会将读取的全部内容封装到一个列表中返回

# file代表123.txt文件
file = r'D:\新建文件夹\123.txt'
# 打开文件123.txt别名f
with open(file,encoding='cp936') as f:
    print(f.readlines())
['hello world\n', 'hello python\n', 'welcome come my blogs\n', '你好,世界\n', '你好,python\n', '欢迎来的我的博客']

文件写入

上面了解了readline与readlines

而这里说writelines

其实都差不多,一个是读取,一个是写入
看以下的这串列表,想要整齐的写入到234.txt中需要换行符

在使用【write】写入时,只能写入单个字符串格式的内容而【writelines】可以是序列格式的内容,需要注意添加换行符【\n】,在写入时默认是不进行换行的。

list1 = ['hello world\n', 'hello python\n', 'welcome comr my blogs\n', '你好,世界\n', '你好,python\n', '欢迎来到我的博客']
file = '234.txt'

其实,实际应用中我们对列表每个元素都去添加【\n】是不现实的,一般都是遍历列表内容依次添加换行符【\n】。
如下写法:

list1 = ['hello world\n', 'hello python\n', 'welcome comr my blogs\n', '你好,世界\n', '你好,python\n', '欢迎来到我的博客']
file = '234.txt'
with open(file,'w',encoding='cp936') as f:
    for i in list1:
        f.writelines(i+'\n')

成功写入且整整齐齐

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服