Python 中如何控制 print 不换行

Python print

在 Python 3 中,可以使用print函数的sep=和end=参数:

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

print('.', end='')Code language: PHP (php)

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

print('a', 'b', 'c', sep='')Code language: PHP (php)

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

可以通过添加flush=True关键字参数来清空缓冲区并立即显示输出

print('.', end='', flush=True)Code language: PHP (php)

Python 2.6 和 2.7

在 Python 2.6 中,可以使用future从 Python 3 导入rint:

from __future__ import print_function
for x in xrange(10):
    print('.', end='')Code language: JavaScript (javascript)

这样就可以在Python2中使用 Python 3 解决方案了

在要打印的最后一个参数之后附加一个逗号也可以实现不换行的效果

>>> for i in range(10):
...     print i,
... else:
...     print
...
0 1 2 3 4 5 6 7 8 9
>>>Code language: PHP (php)

可以考虑创建一个单独的printf.py文件:

# printf.py

from __future__ import print_function

def printf(str, *args):
    print(str % args, end='')Code language: PHP (php)

然后,在的文件中使用它:

from printf import printf
for x in xrange(10):
    printf('.')
print 'done'
#..........doneCode language: PHP (php)

发表评论