为什么python3.x没有“end=”\n“`作为fileIO?

2024-05-14 21:10:46 发布

您现在位置:Python中文网/ 问答频道 /正文

在python中,可以执行以下操作:

print("foo bar", end="\n")

但不是:

^{pr2}$

必须做的是:

^{3}$

有什么原因吗?有没有政治公众人物?在


Tags: foobar原因政治end公众print人物
2条回答

原因很简单,写入文件的api只用于写入字节,而不一定是“行”。不是你写到文件中的所有内容都是文本,或者应该作为文本行来处理。在

从这个意义上说,当您不需要end=,或者显式地声明end=''时,您需要找到解决方法。在

print()函数的情况下,您经常在编写stdout,而stdout大多数时候是line概念有效的终端。在

但是,没有什么可以阻止您使用print()通过使用file=参数来写入文件。在

{1>在文件中使用{1}无法执行任何操作:

print("foo bar", end="\n", file=fout)

file对象的.write()方法只向文件中写入内容,而不写入行。^另一方面,默认情况下,打印一行输出。当您想打印不是整行的内容时,它需要end参数;没有它,它就不能完全替换python2的print语句,该语句包含省略默认换行符的语法。在

没有关于不包括end参数到.write()的PEP,因为编写一个PEP来保持一个方法在Python早期版本中已经存在的状态是没有任何意义的。。。在

相关问题 更多 >

    热门问题