2013-01-25 135 views
0

虛假的空間,我沒有想到這一點,但是:避免在打印

print "AAAA", 
print "BBBB" 

將輸出:

AAAA BBBB 

隨着中間的額外空間。這實際上是documented

我該如何避免這種虛空?該文件說:

In some cases it may be functional to write an empty string to standard output for this reason. 

但我不知道該怎麼做。

回答

4

三個選項:

  • 不要使用兩個打印語句,但串連值:

    print "AAAA" + "BBBB" 
    
  • 使用sys.stdout.write()直接寫入您的語句,不使用print聲明

    import sys 
    
    sys.stdout.write("AAAA") 
    sys.stdout.write("BBBB\n") 
    
  • 使用forward-compatible new print() function

    from __future__ import print_function 
    
    print("AAAA", end='') 
    print("BBBB") 
    
+0

感謝修改!所有這三個對我來說都是不好的選擇:)但我想沒有什麼好的選擇。我期待'print'語句的一些標誌(類似於最後的''''),但是我看到沒有辦法告訴print「不要放置空格」。 – dangonfast

+0

@gonvaled:這是Python 3切換到print()函數的原因之一;允許您實際改變默認值。添加'from __future__'導入以幫助從2到3的轉換。 –

2

習慣用print()函數代替語句。它更靈活。

from __future__ import print_function 

print('foo', end='') 
print('bar') 
+0

這並不意味着任何一個模塊中導入,對於這種情況下,將要求所有'print'語句雖然 –