从Python文件中读取单个字符?

2024-01-03

我的问题是,除了下面之外,是否还有其他方法可以一次一个字符地遍历文件?

with open(filename) as f:
  while True:
    c = f.read(1)
    if not c:
      print "End of file"
      break
    print "Read a character:", c

既然没有像Java中那样检查是否有东西要读取的函数,那么还有什么其他方法呢。另外,在示例中,当变量 c 到达文件末尾时,它会包含什么?感谢任何人的帮助。


另一种选择是使用itertools.chain.from_iterable() http://docs.python.org/library/itertools.html#itertools.chain.from_iterable:

import itertools

with open("test.txt") as f:
    for c in itertools.chain.from_iterable(f):
        print(c)

chain.from_iterable创建一个 iterable,它从给定 iterable 中的第一个 iterable 返回元素,直到耗尽,然后继续处理下一个 iterable,直到所有 iterable 都耗尽。通常,这用于展平列表的列表,但在这种情况下,它允许您忽略这些行。

这是否真的比嵌套循环更好是另一回事(它会快一点,但这不太重要),但值得一提。

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

从Python文件中读取单个字符? 的相关文章

  • (discord.py) 尝试更改成员角色时,“用户”对象没有属性“角色”

    因此 我正在尝试编写一个机器人 让某人在命令中指定的主持人指定的一段时间内暂停角色 我知道该变量称为 小时 即使它目前以秒为单位 我稍后会解决这个问题 基本上 它是由主持人在消息 暂停 personmention numberofhours
  • Python PAM 模块的安全问题?

    我有兴趣编写一个 PAM 模块 该模块将利用流行的 Unix 登录身份验证机制 我过去的大部分编程经验都是使用 Python 进行的 并且我正在交互的系统已经有一个 Python API 我用谷歌搜索发现pam python http pa
  • 使用 openCV 对图像中的子图像进行通用检测

    免责声明 我是计算机视觉菜鸟 我看过很多关于如何在较大图像中查找特定子图像的堆栈溢出帖子 我的用例有点不同 因为我不希望它是具体的 而且我不确定如何做到这一点 如果可能的话 但我感觉应该如此 我有大量图像数据集 有时 其中一些图像是数据集的
  • 如何使用固定的 pandas 数据框进行动态 matplotlib 绘图?

    我有一个名为的数据框benchmark returns and strategy returns 两者具有相同的时间跨度 我想找到一种方法以漂亮的动画风格绘制数据点 以便它显示逐渐加载的所有点 我知道有一个matplotlib animat
  • 如何收集列表、字典等中重复计算的结果(或制作修改每个元素的列表的副本)?

    There are a great many existing Q A on Stack Overflow on this general theme but they are all either poor quality typical
  • 如何在android上的python kivy中关闭应用程序后使服务继续工作

    我希望我的服务在关闭应用程序后继续工作 但我做不到 我听说我应该使用startForeground 但如何在Python中做到这一点呢 应用程序代码 from kivy app import App from kivy uix floatl
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • keras加载模型错误尝试将包含17层的权重文件加载到0层的模型中

    我目前正在使用 keras 开发 vgg16 模型 我用我的一些图层微调 vgg 模型 拟合我的模型 训练 后 我保存我的模型model save name h5 可以毫无问题地保存 但是 当我尝试使用以下命令重新加载模型时load mod
  • 使用 Pycharm 在 Windows 下启动应用程序时出现 UnicodeDecodeError

    问题是当我尝试启动应用程序 app py 时 我收到以下错误 UnicodeDecodeError utf 8 编解码器无法解码位置 5 中的字节 0xb3 起始字节无效 整个文件app py coding utf 8 from flask
  • ExpectedFailure 被计为错误而不是通过

    我在用着expectedFailure因为有一个我想记录的错误 我现在无法修复 但想将来再回来解决 我的理解expectedFailure是它会将测试计为通过 但在摘要中表示预期失败的数量为 x 类似于它如何处理跳过的 tets 但是 当我
  • 设置 torch.gather(...) 调用的结果

    我有一个形状为 n x m 的 2D pytorch 张量 我想使用索引列表来索引第二个维度 可以使用 torch gather 完成 然后然后还设置新值到索引的结果 Example data torch tensor 0 1 2 3 4
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • 在 Python 类中动态定义实例字段

    我是 Python 新手 主要从事 Java 编程 我目前正在思考Python中的类是如何实例化的 我明白那个 init 就像Java中的构造函数 然而 有时 python 类没有 init 方法 在这种情况下我假设有一个默认构造函数 就像
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data

随机推荐

  • echo -e 在 Windows 中等效吗?

    Windows 中是否有等效的 Linux echo e 以便我可以使用 echo e xnnn 打印出 ASCII 代码为十六进制值 nnn 的字符 没有等效的函数 但您可以编写自己的函数 我会把问题分成两部分 将十六进制数转换为十进制数
  • 阻止备份到 iCloud,以下代码正确吗?

    我正在下载许多音频和视频文件并将它们存储在我的主目录中 现在我想 阻止备份到 iCloud 所以我为每个文件的网址添加了以下代码 BOOL addSkipBackupAttributeToItemAtURL NSURL URL const
  • 如何使用 CSP(内容安全策略)将 WebForms 项目中动态创建的脚本列入白名单?

    是否有一种安全的方法可以使用 CSP 内容安全策略 将 WebForms 项目中动态创建的脚本列入白名单 Using unsafe inline如下所示 它可以工作 但不推荐 context Response Headers Append
  • 如何在 SwiftUI 中对表行使用 Transferable

    在 WWDC 2022 上 Apple 推出了可转让 https developer apple com documentation CoreTransferable Transferable changes 3协议以简单的方式支持拖放操作
  • Swift Equatable 协议

    我正在阅读 Swift 教程 https www raywenderlich com 125311 make game like candy crush spritekit swift part 1 https www raywenderl
  • 使用 QGraphicsObject 与 QGraphicsItem 的惩罚?

    我目前有一个基于 QGraphicsItem 的项目层次结构 我想改为使用 QGraphicsObject 以便可以在我的项目上添加属性 我不会使用 QObject 的信号 槽或任何其他功能 我被告知你不应该从 QObject 派生 因为它
  • 在画布上播放视频并保留画布上的最后一帧/图像

    我使用以下脚本代码在画布上绘制视频 vPlayer on play function e var canvas canvas 0 var ctx canvas getContext 2d var this this canvas width
  • 如何在 F# 中启用 WinForms 或 WPF 项目?

    我安装了最新版本的 Visual Studio 2017 我选择了F 语言支持和F 桌面支持 重新启动并转到 文件 gt 新建项目 后 我希望看到一个为 F 启动新的 WPF 或 WinForms 项目的选项 但我没有任何此类选项 只有控制
  • 将 pandas 数据框转换为唯一元组列表

    将 pandas 数据框转换为唯一元组列表的最有效方法是什么 在下面的代码中 我尝试提取包含所有唯一的元组列表PostalCode and Age from typing import NamedTuple Sequence Tuple i
  • Boost::通过 id 处理子进程

    如何在 on exit 函数中获取 child id bp child c args ios bp on exit int e std error code ec result e ios stop need c id 或者如果孩子正在按
  • 你能告诉我如何用正则表达式替换吗

    你能告诉我如何用 preg replace 替换字符串吗 需要正则表达式 user parent id action step 1 在数组的等效值处 array parent id gt 32 action gt some To make
  • RxJS:Observable.never() 保持订阅状态

    我正在使用 rxjs 5 5 6 我创建了这段代码来展示该行为 Observable of 1 2 do a gt console log a let d string null let r d length it raises an nu
  • Android Studio 重复文件

    我的源代码中出现重复的文件 这种情况在 Android Studio 中经常发生 并且所有类型的文件都会发生这种情况 而不仅仅是 gradle 文件 当我签出新分支或切换分支时 通常会发生这种情况 造成这种情况的原因是什么以及如何预防 请注
  • 如何将字符串转换为 JavaScript 函数调用? [复制]

    这个问题在这里已经有答案了 我得到一个像这样的字符串 settings functionName t parentNode id 我想将其转换为函数调用 如下所示 clickedOnItem IdofParent 当然 这必须在 JavaS
  • 如何为 RestController 启用 GZIP? [复制]

    这个问题在这里已经有答案了 我有一个简单的REST控制器使用spring 返回的GZIP响应如何application xml流是否启用 RestController public class MyRest RequestMapping m
  • foreach my $var (@list) -- $var 是一个引用?

    所以 我从来不知道这一点 我想得到一些澄清 我知道如果你这样做 foreach list 如果您在该循环中更改 它将影响实际数据 但是 我不知道如果你这样做 foreach my var1 list 如果您在循环中更改 var1 它将更改实
  • 在 smarty 模板中创建数组? [复制]

    这个问题在这里已经有答案了 我需要从 smarty 模板中的其他一维数组创建一个新数组 那么 在模板文件中创建数组的最佳可能性是什么 谢谢 萨钦 Smarty3 让您 var foo gt bar sub gt 1 2 3 and var
  • Ruby 中 $$ 的含义是什么?

    irb main 002 0 gt gt 5052 是什么意思 在 Ruby 中以及如何 在哪里使用它 is the 进程号 http www opengroup org onlinepubs 9699919799 functions ge
  • HeapTaskDaemon 线程阻塞的 ANR

    我的 Android 应用程序出现 ANR 错误 跟踪显示只有一个线程处于阻塞状态 所有其他线程都处于等待 睡眠 本机状态 因此它似乎并未处于死锁状态 我手动 直接 启动了两个线程 因此我大致知道 ANR 发生在应用程序的哪个部分 不幸的是
  • 从Python文件中读取单个字符?

    我的问题是 除了下面之外 是否还有其他方法可以一次一个字符地遍历文件 with open filename as f while True c f read 1 if not c print End of file break print