我有以下代码:
with open("hello.txt", "r+") as f:
f.write("Hello Python!\n")
print(f.read())
但输出很奇怪:
14
Hello Python!
字符串' Hello Python!'有13个字符(可能由于某种原因,它返回13 + 1?)
更糟糕的是:我只是想增加字符串的大小:
... with open("hello.txt", "r+") as f:
... f.write("Hello Python!!\n")
... print(f.read())
...
...
15
ello Python!
>>> with open("hello.txt", "r+") as f:
... f.write("Hello Python!!!\n")
... print(f.read())
...
16
llo Python!
然后我打开文件hello.txt,内容是
Hello Python!!!
llo Python!
我在这里阅读了一些文档https://docs.python.org/3.4/tutorial/inputoutput.html,但它在print(file.read())中并不太深......我的Python版本是3.4.3,而我的操作系统是Linux。< / p>
答案 0 :(得分:1)
Python交互式控制台会自动在输出中打印表达式的结果。
例如:
>>> 1 + 1
2
f.write()
返回文件中写入的字符数,Python REPL会在print(f.read())
行之前打印该数字。
这不会发生在普通脚本中,因为表达式结果不会自动打印。