2016-02-04 30 views
2

我有一個python程序,它有一些隨時間變化的變量。我想將它們打印到屏幕上,而不用在新行中打印。例如:更新打印數據調試python

for i in range(1,10): 
    v1 = i 
    v2 = i+1 
    v3 = i+2 

,並在程序運行我想,該顯示屏將顯示,同時:

variable 1 value = v1 #v1 changes over time 
variable 2 value = v2 #v2 changes over time 
variable 3 value = v3 #v3 changes over time 

通過覆蓋V1 V2和V3的前打印的值

能不能做到?我知道它可以使用'/r',一個印刷線,但是這一次我要打印更多的行來......

+0

可能的複製(http://stackoverflow.com/questions/6169217 /替換控制檯輸出在蟒蛇) – CoMartel

+0

可能重複的[在Python中清除終端](http://stackoverflow.com/questions/2084508/clear-terminal-in-python) –

回答

1

你可以做以下的(但可能無法在所有顯示器工作),基於this other answer:中[替換蟒控制檯輸出]

import os 
for i in range(1,10): 
    # First clear the screen 
    os.system('cls' if os.name == 'nt' else 'clear') 
    print('variable 1 value = %s' % i) 
    print('variable 2 value = %s' % i+1)   
    print('variable 3 value = %s' % i+2) 
+0

謝謝,解決了! – TomE8

0

如果你想在一行中打印的值,你可以:

for i in range(1, 10): 
    print 'v1 = {0}, v2 = {0}, v3 = {0}'.format(i, i + 1, i + 2) 

這鏈接應該解釋一些東西。 Python Input Output

+0

嘗試:打印('v1 = {0},v2 = {1},v3 = {2}'。格式(i,i + 1,i + 2)) –