C 中的示例:
for (int i = 0; i < 4; i++)
printf(".");
输出:
....
在 Python 中:
>>> for i in range(4): print('.')
.
.
.
.
>>> print('.', '.', '.', '.')
. . . .
在 Python 中, print
将添加一个 \n
或空格。我怎样才能避免这种情况?我想知道如何将字符串“附加”到 stdout
。
原文由 Andrea Ambu 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Python 3 中,您可以使用
sep=
和end=
print
函数的参数:不在字符串末尾添加换行符:
要在要打印的所有函数参数之间不添加空格:
您可以将任何字符串传递给任一参数,并且可以同时使用这两个参数。
如果您在缓冲方面遇到问题,可以通过添加
flush=True
关键字参数来刷新输出:Python 2.6 和 2.7
从 Python 2.6 开始,您可以使用
__future__
模块 从 Python 3 导入print
函数:这允许您使用上面的 Python 3 解决方案。
但是,请注意
flush
关键字在 Python 2 中从__future__
导入的print
函数的版本中不可用;它仅适用于 Python 3,更具体地说是 3.3 及更高版本。在早期版本中,您仍然需要通过调用sys.stdout.flush()
手动刷新。您还必须重写执行此导入的文件中的所有其他打印语句。或者你可以使用
sys.stdout.write()
您可能还需要致电
确保立即刷新
stdout
。