在Python中print函数怎样不输出回车/换行符?

C语言中的print函数

例如在C语言中,printf函数不会自动的输出\n,即不会自动输出换行:

#include <stdio.h>

int main() {
    int i;
    for (i=0; i<10; i++) printf(".");
    return 0;
}

输出为:

..........

Python中的print函数

在python中,使用print函数那么输出为:

>>> for i in xrange(0,10): print '.'
.
.
.
.
.
.
.
.
.
.
>>> for i in xrange(0,10): print '.',
. . . . . . . . . .

那么在Python中怎么样避免print换行符呢?

避免输出换行符-通用方法

对于Python2和Python3都通用的办法有:

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

但是你需要调用flush函数来刷新缓冲区:

sys.stdout.flush()

避免输出换行符-Python 2

对于Python2.6以上的版本,可以使用Python 3中的print_function:

from __future__ import print_function

避免输出换行符- Python 3

在Python 3中,print函数做出了相应的修改,使用时可以根据需要设定结尾输出符:

print('.', end='')

如果缓冲区数据有问题的话,可以添加flush参数来保证缓冲区是被刷新的:

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

By Code问答

发表评论

电子邮件地址不会被公开。 必填项已用*标注

3 + 6 =