为什么python在写入文件时自动返回字符计数

为什么python在写入文件时自动返回字符计数,python,Python,我最近注意到,当我有以下代码时: File = "/dir/to/file" Content = "abcdefg" with open(File,"a") as f: f.write(Content) 我得到了“7”作为输出,它是变量“Content”中的字符数。我不记得看到过这个(我以前使用过ipython笔记本,但这次是在shell中的python环境中使用的),我想知道我是否做错了什么。我的python版本:python 3.3.3。感谢您的帮助。与往常一样,这种行为对于大多

我最近注意到,当我有以下代码时:

File = "/dir/to/file"
Content = "abcdefg"

with open(File,"a") as f:
    f.write(Content)

我得到了“7”作为输出,它是变量“Content”中的字符数。我不记得看到过这个(我以前使用过ipython笔记本,但这次是在shell中的python环境中使用的),我想知道我是否做错了什么。我的python版本:python 3.3.3。感谢您的帮助。

与往常一样,这种行为对于大多数
来说都是正常的。write()
实现,另请参阅

比如说

将给定的字节(如对象b)写入底层原始流,并返回写入的字节数

将字符串s写入流并返回写入的字符数


使用哪个
IO
-类取决于(操作系统)和
open
的参数。但据我所知,它们都返回某种“字符”或“字节”写入计数。

这是正常的behaviour@PatrickHaugh你说的正常行为是什么意思!?因为,字符串被存储到一个变量
Content
,如果我答对了问题,该变量将被写入文件中。请你再详细一点,这是正常的,有记录的行为。好了,
f.write
一直都是这样工作的,在这个意义上与C函数类似(例如,
fprintf
),谢谢大家的宝贵意见!非常感谢@MSeifert。我一直在使用ipython笔记本电脑,最近改用shell命令直接使用。在ipython笔记本中,我从未见过这样的行为,哈哈。