如何在沒有換行符或空格的狀況下進行打印?

問題在標題中。 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終端)中都有效-不須要模塊導入或時間旅行。

相關文章
相關標籤/搜索