gpt4 book ai didi

python - 如何在没有换行符或空格的情况下打印

转载 作者:bug小助手 更新时间:2023-10-28 01:27:56 27 4
gpt4 key购买 nike

C 中的示例:

for (int i = 0; i < 4; i++)
printf(".");

输出:

....

在 Python 中:

>>> for i in range(4): print('.')
.
.
.
.
>>> print('.', '.', '.', '.')
. . . .

在 Python 中,print 将添加一个 \n 或空格。我怎样才能避免这种情况?我想知道如何将字符串“附加”到 stdout

最佳答案

在 Python 3 中,您可以使用 printsep=end= 参数功能:

不要在字符串末尾添加换行符:

print('.', end='')

不要在要打印的所有函数参数之间添加空格:

print('a', 'b', 'c', sep='')

您可以将任何字符串传递给任一参数,并且可以同时使用这两个参数。

如果您在缓冲时遇到问题,可以通过添加 flush=True 关键字参数来刷新输出:

print('.', end='', flush=True)

Python 2.6 和 2.7

在 Python 2.6 中,您可以使用 __future__ module 从 Python 3 中导入 print 函数。 :

from __future__ import print_function

它允许您使用上面的 Python 3 解决方案。

但请注意,flush 关键字在 Python 2 中从 __future__ 导入的 print 函数版本中不可用;它仅适用于 Python 3,更具体地说是 3.3 及更高版本。在早期版本中,您仍然需要通过调用 sys.stdout.flush() 手动刷新。您还必须在执行此导入的文件中重写所有其他打印语句。

或者您可以使用 sys.stdout.write()

import sys
sys.stdout.write('.')

您可能还需要调用

sys.stdout.flush()

确保立即刷新stdout

关于python - 如何在没有换行符或空格的情况下打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/493386/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com