如何覆蓋python中的前一個「打印」值?用python覆蓋以前的打印值?
print "hello"
print "dude"
print "bye"
這將輸出:
hello
dude
bye
,但我想重寫值。
在這種情況下,輸出將是:
bye
如何覆蓋python中的前一個「打印」值?用python覆蓋以前的打印值?
print "hello"
print "dude"
print "bye"
這將輸出:
hello
dude
bye
,但我想重寫值。
在這種情況下,輸出將是:
bye
最好的辦法是。
寫
sys.stdout.flush()
打印後。
例子:
import sys
sys.stdout.write("hello")
sys.stdout.flush()
sys.stdout.write("bye")
輸出:再見
import os
print "hello"
print "dude"
if <your condition to bye print >
os.system('clear')
print "bye"
您可以使用sys.stdout.write
避免在每個呼叫和回車\r
由print
打印的換行符回到行的開始:
import sys
sys.stdout.write("hello")
sys.stdout.write("\rdude")
sys.stdout.write("\rbye")
要覆蓋前面句子的所有字符,您可能需要添加一些空格。
關於Python 3或Python 2 print
作爲一個功能,您可以使用end
參數:
from __future__ import print_function #Only python 2.X
print("hello", end="")
print("\rdude ", end="")
print("\rbye ", end="")
注意,它不會在無功。
作爲替代
os.system('clear')
你也可以使用
print "\n" * 100
價值100
可以更改爲你所需要
檢查這個curses library,詛咒庫提供了一個終端獨立的屏幕繪畫和鍵盤處理功能,用於基於文本的終端。舉個例子:
x.py:
from curses import wrapper
def main(stdscr):
stdscr.addstr(1, 0, 'Program is running..')
# Clear screen
stdscr.clear() # clear above line.
stdscr.addstr(1, 0, 'hello')
stdscr.addstr(2, 0, 'dude')
stdscr.addstr(3, 0, 'Press Key to exit: ')
stdscr.refresh()
stdscr.getkey()
wrapper(main)
print('bye')
來看,它python x.py
在Python 3
:
print("hello", end='\r', flush=True)
print("dude", end='\r', flush=True)
print("bye", end='\r', flush=True)
輸出:
bye
什麼不'的flush()'做我的聲音像'fflush(標準輸出)'在C.沒有? –
fflush(標準輸出)是c語言。在蟒蛇沖洗 () –
但fflush不clrear屏幕 –