Python的Django框架中的URL配置与松耦合

用 python 处理一个文本时,想要删除其中中某一行,常规的思路是先把文件读入内存,在内存中修改后再写入源文件。

但如果要处理一个很大的文本,比如GB级别的文本时,这种方法不仅需要占用很大内存,而且一次性读入内存时耗费时间,还有可能导致内存溢出。

所以,需要用另外一个思路去处理。

我们可以使用 open() 方法把需要修改的文件打开为两个文件,然后逐行读入内存,找到需要删除的行时,用后面的行逐一覆盖。实现方式见以下代码。

with open('file.txt', 'r') as old_file:
with open('file.txt', 'r ') as new_file:
current_line = 0
# 定位到需要删除的行
while current_line < (del_line - 1):
old_file.readline()
current_line = 1
# 当前光标在被删除行的行首,记录该位置
seek_point = old_file.tell()
# 设置光标位置
new_file.seek(seek_point, 0)
# 读需要删除的行,光标移到下一行行首
old_file.readline()
# 被删除行的下一行读给 next_line
next_line = old_file.readline()
# 连续覆盖剩余行,后面所有行上移一行
while next_line:
new_file.write(next_line)
next_line = old_file.readline()
# 写完最后一行后截断文件,因为删除操作,文件整体少了一行,原文件最后一行需要去掉
new_file.truncate()

以上这篇python 删除大文件里的某一行(最有效率的方法)就是小编分享给大家的全部内容了,希望能给大家一个参考

转载于:https://www.cnblogs.com/amengduo/p/9586557.html

Python的Django框架中的URL配置与松耦合相关推荐

  1. Python的Django框架中forms表单类的使用方法详解2

    用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,本文就Python的Django框架中forms表单类的使用方法详解. Form表单的功能 自动生成HTML ...

  2. mysql 中的neq_mysql中neq使用Python的Django框架中的压缩组件Django Compressor_MySQL

    为了加快网站的加载速度,我们通常要多js和css进行压缩处理.这些js和css的压缩工作如果都手动处理,费时费力. <mysql中neq使用Python的Django框架中的压缩组件Django ...

  3. python templates_详解Python的Django框架中的templates设置

    TEMPLATES Django 1.8的新特性 一个列表,包含所有在Django中使用的模板引擎的设置.列表中的每一项都是一个字典,包含某个引擎的选项. 以下是一个简单的设定,告诉Django模板引 ...

  4. python pipeline框架_介绍Python的Django框架中的静态资源管理器django-pipeline

    django-pipeline 是一个 Django 下非常方便的静态资源管理 app,尤其是 1.2 版本之后,利用 django-staticfiles 的collectstatic 命令,在开发 ...

  5. python include_tag_详解Python的Django框架中inclusion_tag的使用

    另外一类常用的模板标签是通过渲染 其他 模板显示数据的. 比如说,Django的后台管理界面,它使用了自定义的模板标签来显示新增/编辑表单页面下部的按钮. 那些按钮看起来总是一样的,但是链接却随着所编 ...

  6. python 编译函数_在Python的Django框架中编写编译函数

    当遇到一个模板标签(template tag)时,模板解析器就会把标签包含的内容,以及模板解析器自己作为参数调用一个python函数. 这个函数负责返回一个和当前模板标签内容相对应的节点(Node)的 ...

  7. python怎么更新数据库_在Python的Django框架中更新数据库数据的方法

    先使用一些关键参数创建对象实例,如下: >>> p = Publisher(name='Apress', ... address='2855 Telegraph Ave.', ... ...

  8. django新建php文件,在Python的Django框架中创建语言文件

    django-admin.py makemessages -l de -e html,txt -e xml 当创建JavaScript翻译目录时,你需要使用特殊的Django域:not -e js . ...

  9. python manager_详解Python的Django框架中Manager方法的使用

    在语句Book.objects.all()中,objects是一个特殊的属性,需要通过它查询数据库. 在第5章,我们只是简要地说这是模块的manager .现在是时候深入了解managers是什么和如 ...

  10. Python的Django框架中forms表单类的使用方法详解

    Form Form的验证思路 前端:form表单 后台:创建form类,当请求到来时,先匹配,匹配出正确和错误信息. Django的Form验证实例: 创建project,进行基础配置文件配置 set ...

最新文章

  1. 动画库 Lottie 的使用
  2. oracle bi publisher 安装,Oracle BI Publisher 企业版安装后的配置(BI Publisher Enterprise Edition)...
  3. NYOJ 336 子序列
  4. AR主要生产厂商与谷歌眼镜失败分析
  5. 实验1 开发环境的熟悉
  6. 从另一个角度理解分布式系统与CAP定理
  7. hashmap put方法_Java HashMap put()方法与示例
  8. jar bat dos窗口 隐藏
  9. Linux运维系统工程师系列---11
  10. 单板计算机作用上位机,SCB-1单板机的基本操作
  11. macos安装python3.6_在CentOS 7/Ubuntu 16.04/Debian 9/macOS上安装Python 3.6的方法
  12. [置顶]       jQuery旋转插件—rotate
  13. 2019-11-29GPS干扰技术解析
  14. LM317的调压原理与应用
  15. Spring Boot 监听 Activemq 中的特定 topic ,并将数据通过 RabbitMq 发布出去
  16. 免拆机,Kindle固件版本5.10.3~5.13.3如何越狱?简单、易操作版
  17. 华为系统更新彻底卸载_华为手机系统更新好吗 华为手机系统更新方法
  18. S32K1XX系列单片机 ——MCAL 的CAN模块配置
  19. netty初使用——实现http及https代理服务器
  20. windows怎么查看本地80端口被占用

热门文章

  1. 四级数据中心认证机构更新标准全新上线
  2. linux命令大全之ss命令详解(获取socket统计信息)
  3. 使用 Visual Studio Code 编写 TypeScript
  4. linux系统工程师修改打开文件数限制代码教程。服务器运维技术
  5. 自己定义android 4.0以上的对话框风格
  6. csharp:SQLite and Access using C# code read data
  7. hdu 4828 Grids(拓展欧几里得+卡特兰数)
  8. 谷歌浏览器F12快速定位网页上组件信息
  9. 从零开始搭建公司后台技术栈,这套架构绝了...
  10. Spring Boot 中的线程池,这也太好用了!