了解 Python 2.7 中 io.open() 方法的缓冲参数

2024-07-04

我试图理解的缓冲参数io.open() https://docs.python.org/2/library/functions.html#openPython 2.7 中的方法。

我在Python解释器中执行:

import utils
buffer_size = 4000
file = open('test.txt','w', buffer_size)
file.write('\n'.join(map(str, range(10000))))  

然后我看看test.txt文件以查看写入了多少行,即使我没有调用file.close()然而,并没有做任何手册file.flush() myself.

If buffer_size = 4000,我看到写了 9822 行。然而,buffer_size = 8192,我看到写了 8414 行。

我在 Windows 7 SP1 x64 Ultimate (Python 2.7.10 x64) 和 Kubuntu 14.10 Plasma 4 (Python 2.7.10 x64) 中都会出现此行为。我不明白这些数字(9822 和 8414)从何而来。


引用自文档 https://docs.python.org/2/library/functions.html#open(重点是我的):

可选的缓冲参数指定文件所需的缓冲区 size: 0 表示无缓冲,1 表示行缓冲,任何其他积极的 value 表示使用(大约)该大小(以字节为单位)的缓冲区。 A 负缓冲意味着使用系统默认值,通常是 对 tty 设备进行行缓冲,对其他文件进行完全缓冲。如果 省略,则使用系统默认值。 [2]

即:缓冲区大小不能保证是您作为参数传递的大小。无法预测有多少缓冲区正在使用中以及有多少缓冲区已写入磁盘,因为在这两种情况下写入都会溢出缓冲区,并且缓冲区大小取决于机器。

由于您没有调用显式刷新,因此缓冲区的一部分已被刷新,而另一部分仍在等待填充,然后再刷新到磁盘。

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

了解 Python 2.7 中 io.open() 方法的缓冲参数 的相关文章

  • 如何在Mandlebrot张量流程序中显示图像。当前输出是

    导入模拟库 import tensorflow as tf import numpy as np 导入可视化 from PIL Image from io import BytesIO from IPython display import
  • 在python绑定/clang中的get-includes中解析cpp文件时过滤目录

    我应该编写一个 python clang 解析器 它返回 cpp 文件中的所有包含内容 所以我使用像下面的代码这样的东西 def main from clang cindex import Index from optparse impor
  • 如何在列表列表中找到元素和最大的列表?

    我有一个列表列表 x 1 2 3 4 5 6 7 8 9 2 2 0 我想得到列表中元素之和最大的列表 在这种情况下 7 8 9 我宁愿有一个幻想map or lambda或列表理解方法比for while if loop 此致 max提出
  • 使用 Matplotlib 创建箱线图

    我正在使用 python 3 和 jupyter 笔记本 我有一个 pandas 数据框 其结构如下 location price Apr 25 ASHEVILLE 15 0 Apr 25 ASHEVILLE 45 0 Apr 25 ASH
  • Flask:如何从模板目录下提供静态文件?

    我使用 Flask 并想要更改我的资产文件夹目录 这是我的文件夹结构 python static js img font css templates default css js img venv app py 我想移动静态文件夹下的所有文
  • 使用 bs4 进行 HTML 解析

    我正在解析一个 HTMl 页面 并且很难弄清楚如何在没有类或 id 的情况下提取某个 p 标签 我试图用经纬度到达 p 标签 这是我当前的代码 import bs4 from urllib import urlopen as uReq th
  • 如何使用Python读取MP3中的ID3标签? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有人有在 MP3 文件或 WMA 文件中读写 ID3 标签的经验吗 有一些库 但我想从头开始 深入Python https web a
  • 使用 Python 在 Yandex Images 中反向搜索图像

    我对自动化反向图像搜索感兴趣 Yandex 特别适合捕捞鲶鱼 甚至比 Google 图片还要好 因此 请考虑以下 Python 代码 import requests import webbrowser try filePath C path
  • 获取pygame中图像各个像素的颜色

    如何获取传输到 pygame 表面的图像像素的颜色值 使用 Surface get at 仅返回表面层的颜色 而不返回其上位图传输的图像 方法surface get at很好 下面的示例显示了在没有 Alpha 通道的情况下位图传输图像时的
  • 熊猫读_csv。如何忽略换行符之前的分隔符

    我正在读取一个包含数值的文件 data pd read csv data dat sep header None 在文本文件中 每行以空格结尾 因此 pandas 等待不存在的值 并在每行末尾添加一个 nan 例如 2 343 4 234
  • Python将html ascii编码文本转换为utf8

    我有一个 xml 文件 需要将其转换为 utf8 不幸的是 这些实体包含这样的文本 047 mytext 044 我正在使用编解码器库将文件转换为 utf8 但 html 实体无法使用它 有没有一种简单的方法可以摆脱html编码 Thank
  • 如何覆盖 nltk 的 pos_tag 分配给文本的 POS 标签?

    我使用 nltk 中的 pos tag 来标记一组 未标记的 技术文档中的文本并获得良好的结果 但它总是将 authenticated 等单词标记为动词 而有时它可以用作形容词 换句话说 仅仅改变标签并不是每次都有效 是否有一个好方法来覆盖
  • 解析srt字幕

    我想解析srt字幕 1 00 00 12 815 gt 00 00 14 509 Chlapi jak to jde s t ma pracovn ma sv tlama 2 00 00 14 815 gt 00 00 16 498 Tro
  • 如何在 setup.py 中运行 Makefile?

    我需要编译ICU http icu project org使用它自己的构建机制 因此问题是 我怎样才能运行一个Makefilesetup py 显然 我只希望它在构建过程中运行 而不是在安装时运行 我通常使用的方法是覆盖有问题的命令 fro
  • pyqt 中的代码编辑器示例

    我尝试学习一些Qt PyQt 为此 我使用了代码编辑器示例 http doc qt io qt 4 8 qt widgets codeeditor example html的文档 当前行的突出显示效果很好 但行号不显示 实际上LineNum
  • Numpy,沿数组维度应用函数列表

    我有一个类型的函数列表 func list lambda x function1 input lambda x function2 input lambda x function3 input lambda x x 和形状为 4 200 2
  • 与 C 数组相比,带有 NumPy 数组内存视图的 Cython 性能较差

    我遇到了一个非常奇怪的结果基准 http nbviewer ipython org github rasbt One Python benchmark per day blob master ipython nbs day4 python
  • Python,创建对象

    我正在尝试学习 python 现在我正在尝试掌握类的窍门以及如何使用实例来操作它们 我似乎无法理解这个练习问题 创建并返回一个学生对象 其姓名 年龄和专业为 与作为输入给出的相同 def make student name age majo
  • Python 解释器优化

    假设我有一个字符串x Python 解释器是否足够聪明 能够知道 string replace x x 应转换为NOP 我怎样才能找到这个 是否有任何参考资料显示解释器能够根据句法分析动态执行哪种类型的优化 不 Python 不能对 NOP
  • 将 LIVE SPEECH 与 Tkinter GUI 连接

    我想将 pocketsphinx livespeech 与 Python tkinter GUI 连接起来 这样 GUI 在前端可见 而 Livespeech 在后端工作 但是当我将 tkinter 代码与 livespeech 代码合并时

随机推荐