意外的Python解释器输出

我写了一个非常基本的python代码,该代码创建一个文件并在其中添加10行

>>> b = open("b.txt",'w')
>>> for i in range(10):
...     b.write("line %d\n" %i)
... 
7
7
7
7
7
7
7
7
7
7

为什么在屏幕上输出7?

river100 回答:意外的Python解释器输出

输出到控制台的'7'是写入文件的字节数,由file.write函数返回。请参阅文档here

此外,通常应使用以下格式来处理文件:

with open("b.txt","w") as f:
    for i in range(10):
        f.write("line %d\n" %i)

这避免了在完成文件后必须手动关闭文件。

,

这来自交互式解释器的行为。如果您写

,也会发现类似的效果
>>> x = 5
>>> x
5

当您有一条语句且未将其设置为等于任何值时,交互式解释器将repr输出/返回值并将其显示在终端中。文件写入命令的返回值是写入文件的字节数。

本文链接:https://www.f2er.com/3063955.html

大家都在问