打印到 python 中的空文件 3
Print to an empty file in python 3
有人能告诉我为什么在 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)
并且文件将在块退出时自动关闭(完成或异常)。
向文件写入更多数据;多少取决于缓冲配置。
有人能告诉我为什么在 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)
并且文件将在块退出时自动关闭(完成或异常)。
向文件写入更多数据;多少取决于缓冲配置。