2017-06-19 80 views
-1

這是我的程序:如何在Python中水平打印列表(end =「」不起作用)?

file='_pycache_' 
test=[] 
with open(file) as f: 
    for line in f: 
     test.append(line) 

    for i in range(196): 
     for j in range(10): 
      print(test[j * 196 + i], sep=' ', end = " ", flush=True) 
     print() 

但輸出仍然顯示輸出作爲垂直的而不是水平的如:

2016.10.19_22:53:57 
    3 
    10 
    254.1 
    848.1 
     17 
    567.6 
    210 
    1.1491 
    0.6985 

2016.10.19_22:54:18 
    4 
    10 
    334.8 
    837.0 
     12 
    759.8 
    166 
    1.1134 
    0.9032 

不是打印輸出在水平輸出的塊即每個塊開始與2016年10月19日...所以有水平 「表」:

2016.10.19_22:53:57   2016.10.19_22:54:18 
    3         4 
    10         11 
    254.1        245.1 
    848.1        848.1 
     17        17 
    567.6        567.7 
    210        211 
    1.1491        1.1491 
    0.6985        0.7985 
+0

我不認爲你對STDOUT的工作原理有清晰的認識。就像寫入文件一樣,您可以一行一行,而不是逐列。 –

+0

如何編輯代碼以顯示水平數據輸出? – Ella

+0

嘗試將'test.append(line)'行更改爲'test.append(line.rstrip())' – Skycc

回答

1
print(test[j * 196 + i].replace('\n', ' '), sep=' ', end = " ") 

從文件讀取時,也複製換行符。

+0

結果保持不變 – Ella

+0

@Ella我錯了。現在試試? –

+0

它的工作!這就是我所需要的,非常感謝你 – Ella