gpt4 book ai didi

python - 为什么调用文件 write() 方法不起作用?

转载 作者:行者123 更新时间:2023-12-05 09:28:49 26 4
gpt4 key购买 nike

我有一些 Python3 代码可以在写入模式下打开一个文件,向其中写入一些内容,然后关闭该文件。文件名是 int。由于某种原因,代码没有按预期工作。当我运行 f.write() 语句时,6 会打印到屏幕上。当我运行 f.close() 语句时,应该写入的字符串会打印到屏幕上。

>>> f = open(2, 'w')
>>> f.write('FooBar')
6
>>> f.close()
FooBar>>>
>>>

我检查了运行它的目录,但未创建文件(名为 2)。谁能解释这是怎么回事?我怀疑这与文件名是 int 有关,但我不确定。

最佳答案

您正在传递一个文件描述符编号(对于 stderr 为 2)。

  1. 参见 the documentation for open() ,强调我的:

    file is a path-like object giving the pathname (absolute or relative to the current working directory) of the file to be opened or an integer file descriptor of the file to be wrapped.

  2. 至于为什么在 .close()(或 .flush())之前什么都没有发生:你的流是行缓冲的,你不是在写一个换行符。

    f = open(2, 'wb', buffering=0)

    禁用缓冲。

如果您希望写入名为 '2' 的文件,则必须传递一个字符串。

f = open('2', 'w')

关于python - 为什么调用文件 write() 方法不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71103741/

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