Pythonic方式逐行读取文件?

2024-05-06

以下两种方法中逐行读取文件的 Pythonic 方法是什么?

with open('file', 'r') as f:
    for line in f:
        print line

or

with open('file', 'r') as f:
    for line in f.readlines():
        print line

或者我缺少什么?


文件句柄是它们自己的迭代器(具体来说,它们实现了迭代器协议),因此

with open('file', 'r') as f:
  for line in f:
    # code

是首选用法。f.readlines()返回一个行列表,这意味着将整个文件吸收到内存中 -> 通常不建议,特别是对于大文件。

应该指出的是,我同意上下文管理器是有价值的观点,并且在我的代码示例中包含了一个上下文管理器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pythonic方式逐行读取文件? 的相关文章

随机推荐

  • CSS 中的垂直线(与
    相对)

    我知道它不存在 但是有纯CSS版本吗 想要设置高度 并将其设置为 1px 宽 如果可能的话 带有阴影 只是无法理解纯 CSS 的方式来做到这一点 需要绝对定位 因为我的容器有两个并排的 div 例如 60 40 的分割 需要两者之间的垂直规
  • 在 Kivy 应用程序中获取文本输入值

    Python Kivy 新手尝试构建一个测试应用程序 其中包含输入框 确定按钮和单击确定按钮时应更改文本的标签 但我得到了 NameError 全局名称 txt1 未定义 我究竟做错了什么 import Kivy import kivy i
  • 无法从同一项目的 bin 目录导入模块

    我正在构建一个库 该库将通过 pip 包含在其他项目中 我有以下目录 venv 是 virtualenv project bin run py myproj init py logger py venv 我激活虚拟环境 在 bin run
  • 减法进位标志

    我正在使用 MASM32 有了这个代码 mov eax 5 sub eax 10 CF 状态标志将被设置 但使用我的铅笔和纸 我实际上看到 MSB 没有任何进位 是的 我知道从较少的数字中减去大的数字集CF 但我想知道为什么 因为使用这段代
  • 等待多个延迟对象完成并使用解析值

    我正在尝试找出一种方法来等待多个延迟对象并在完成后处理它们 可能就像开始延迟对象的下一组 我被困住了 因为以下结果不是预期的结果 我期待结果为 allDone resovled values are 1 2 3 实际结果是 allDone
  • Android EditText 验证后更改焦点并在对话框中显示错误

    我有一个带有 3 个 EditText 字段的简单活动 用户 通行证 确认 在 用户 字段中输入内容并且该人在键盘上单击 下一步 后 我在那里有一个 setOnFocusChangeListener 来验证输入 如果验证失败 将打开一个对话
  • 将 Django South 与多个代码分支结合使用的工作流程

    我很好奇其他 Django 开发人员在使用多个代码分支进行开发时如何使用 South 管理数据库迁移 让我举一个示例场景 举例来说 您从主干开始开发 您从主干创建分支 A 此时 最后一个迁移版本为app 1是0010 然后您为app 1在创
  • Ajax - 下载前获取文件大小

    基本上 我想弄清楚是否应该使用 AJAX 下载文件 具体取决于文件大小有多大 我想这个问题也可以改写为 如何仅获取ajax请求的标头 EDIT ultima rat0 https stackoverflow com users 239962
  • 如何使用流对 Map 中的值求和?

    我想要与流等效的内容 public static
  • 当用户拖动列表视图项目时检测何时需要滚动

    介绍 我正在实现列表视图项目的重新排列 而不使用 OLE 拖放 PROBLEM 我已经成功解决了大部分任务 除了当用户想要将项目放置在当前不可见的位置时向上 向下滚动之外 问题 我可以使用以下消息向上 向下滚动列表视图 SendMessag
  • LegacyUnhandledExceptionPolicy 不允许捕获(并吞下)ThreadAbortException?

    我正在使用 NET 1 1 兼容模式来处理未处理的异常 问题是 当 LegacyUnhandledExceptionPolicy 设置为 1 这就是我想要的 时 我无法捕获并吞下 ThreadAbortException 示例代码 应用程序
  • Bokeh 相当于 matplotlib 子图

    我正在寻找一种方法来创建包含多个子图的绘图 例如 fig ax0 ax1 plt subplots nrows 2 sharex True 可以在 matplotlib 中完成 然后可以通过以下方式解决ax0 and ax1 有没有办法在
  • 使用未声明的标识符“gl_InstanceID”

    大家好 我一直在IOS平台上尝试在OpenGLES2 0中进行实例化绘制 我的渲染代码 glEnableVertexAttribArray glVertexAttribPointer glDrawElementsInstancedEXT G
  • 如何向 tabularinline 块的每一行添加行号

    我有一个 ModelAdmin 类 其内联类型为 TabularInline 我希望 TabularInline 的每一行在其左侧显示一个行号 随着新记录添加到内联中 该数字会增加 并且会在编辑表单时显示 我更喜欢行号不是内联数据模型的一部
  • R 在 readHTMLTable 调用维基百科时崩溃

    尝试抓取维基百科页面 类似的事情我之前已经做过很多次了 library XML myURL lt http en wikipedia org wiki List of US Open MenUs Singles champions y lt
  • 如何通过Java编码在运行时将My Jar加载到ClassPath?

    我正在 Net Beans 中使用 Swing 我有自己的 jar 其中包含类和方法 我将使用 JAVA Reflection API 调用这些类和方法 但在此之前我想在运行时将 Jar 加载到类路径中 我有一个 J 按钮 单击该按钮我将获
  • WebView (OSX) 未在打印面板预览中呈现

    我的应用程序创建并打印 WebView 输出页面正在正确组装和打印 但我没有在打印面板中预览页面 NSRect printViewFrame printViewFrame size width paperSize width marginL
  • 使用Puppeteer拦截请求时如何获取原始编码响应大小?

    我使用此代码来记录在 Chrome 中加载页面时编码的响应大小 const puppeteer require puppeteer async function const browser await puppeteer launch co
  • 如何在 ASP.NET MVC RC 1.0 中使用动态母版页

    我不知道如何在 ASP NET MVC RC 1 0 中使用动态母版页 请帮忙 您可以在使用 View 辅助方法时指定母版页的名称 return View About AlternateMaster model AlternateMaste
  • Pythonic方式逐行读取文件?

    以下两种方法中逐行读取文件的 Pythonic 方法是什么 with open file r as f for line in f print line or with open file r as f for line in f read