如何在没有换行符或空格的状况下进行打印?

问题在标题中。 html

我想用python来作。 我想在c中的此示例中作什么: python

在C中: macos

#include <stdio.h>

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

输出: ide

..........

在Python中: 测试

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

在Python print中将添加\\n或空格,如何避免这种状况? 如今,这只是一个例子。 不要告诉我,我能够先构建一个字符串,而后打印它。 我想知道如何将字符串“附加”到stdoutui


#1楼

我最近有一样的问题.. this

我经过作解决了: spa

import sys, os

# reopen stdout with "newline=None".
# in this mode,
# input:  accepts any newline character, outputs as '\n'
# output: '\n' converts to os.linesep

sys.stdout = os.fdopen(sys.stdout.fileno(), "w", newline=None)

for i in range(1,10):
        print(i)

这在Unix和Windows上均可以使用...还没有在macosx上对其进行测试... code

hth htm


#2楼

它应该像Guido Van Rossum在此连接中描述的那样简单:

回复:如何在没有ac / r的状况下打印?

http://legacy.python.org/search/hypermail/python-1992/0115.html

是否能够打印某些内容但不自动附加回车符?

是的,在要打印的最后一个参数以后附加一个逗号。 例如,此循环在用空格分隔的行上打印数字0..9。 注意添加最后换行符的无参数“ print”:

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

#3楼

您能够在python3中执行如下操做:

#!usr/bin/python

i = 0
while i<10 :
    print('.',end='')
    i = i+1

并使用python filename.pypython3 filename.py执行它


#4楼

您能够在print功能的末尾添加,这样它就不会在新行上打印。


#5楼

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

这在2.7.8和2.5.2(分别为Canopy和OSX终端)中都有效-不须要模块导入或时间旅行。

相关文章
相关标签/搜索