gpt4 book ai didi

python - 在 python 3 中打印到一个空文件

转载 作者:行者123 更新时间:2023-11-30 23:14:21 25 4
gpt4 key购买 nike

当我尝试时,有人可以告诉我为什么在 python 3.4.2 中

import codecs
f = codecs.open('/home/filename', 'w', 'utf-8')
print ('something', file = f)

它给了我一个空文件?

以前它运行良好,但突然停止打印到文件

最佳答案

文件写入会被缓冲,以避免写入磁盘时造成性能消耗。当达到阈值、显式刷新或关闭文件时,就会刷新缓冲区。

您还没有关闭文件,没有刷新缓冲区,也没有向文件写入足够的内容来自动刷新缓冲区。

执行以下操作之一:

  • 刷新缓冲区:

    f.flush()

    这也可以通过 print()flush 参数来完成:

    print('something', file=f, flush=True)

    但参数需要 Python 3.3 或更高版本。

  • 关闭文件:

    f.close()

    或使用该文件作为上下文管理器(使用 with 雄蕊):

    with open('/home/filename', 'w', encoding='utf-8') as f:
    print('something', file=f)

    当 block 退出时(完成或异常),文件将自动关闭。

  • 向文件写入更多数据;多少取决于缓冲配置。

关于python - 在 python 3 中打印到一个空文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28788430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com