[英]python: multiple print lines to be overwritten
抱歉這個菜鳥問題,我在網站上查看了其他類似的問題,但找不到解決我問題的問題。
我對 python 很陌生,所以請原諒我。 我正在嘗試制作一個顯示我的交易賬戶結果的機器人。
第一步我希望能夠在終端中看到結果。 第二步將是“將這些結果寫在網頁上”
我想要實現的是,每一行打印都會在相同的原始行上使用新值進行更新。
function 的部分代碼是這樣的:
def eth_results():
eth = s.get_wallet_balance()['result']['ETH']
eth_starting_balance = 0.05015276
eth_balance = eth['wallet_balance']
eth_equity = eth['equity']
eth_daily_pnl = format(eth['realised_pnl'],'.8f')
eth_percentage_pnl = eth_starting_balance * (eth_starting_balance / (eth_balance - eth_starting_balance))
print('\n--------------------------------------\n')
print(f'Coin: ETHEREUM')
print(f'Balance: {eth_balance}')
print(f'Starting Balance: {eth_starting_balance}')
print(f'Total Profit: {eth_percentage_pnl}')
print(f'Total Equity: {eth_equity}')
print('\n--------------------------------------\n')
然后我告訴它每 5 秒重復一次
while True:
eth_results()
time.sleep(5)
現在 output 是這樣的,但我想在同一行打印結果,只更新變量:
--------------------------------------
Coin: ETHEREUM
Balance: 0.0513822
Starting Balance: 0.05015276
Total Profit: 2.0458902716827083
Total Equity: 0.05133733
--------------------------------------
--------------------------------------
Coin: ETHEREUM
Balance: 0.0513822
Starting Balance: 0.05015276
Total Profit: 2.0458902716827083
Total Equity: 0.05133754
--------------------------------------
--------------------------------------
Coin: ETHEREUM
Balance: 0.0513822
Starting Balance: 0.05015276
Total Profit: 2.0458902716827083
Total Equity: 0.05133706
--------------------------------------
但我無法實現。 如果我使用\r只有最后一行將被替換。 基本上我想替換所有的行。 我很確定有多種方法可以實現這一目標,並且有多種方法可以“清理代碼”,但現在我只想找到任何“可行的解決方案”,而不是找到“唯一最好的方法”來做到這一點。 當然,當我獲得更多經驗時,我願意以更好的方式編寫代碼。
獎勵:在那之后,我還想基本上在文本/html/任何類型的文件上打印(和覆蓋)相同的東西。 但這不是現在的優先事項。
非常感謝
您可以打印一堆新行來清除控制台。
clear = "\n" * 100
print(clear)
您不能覆蓋控制台中已打印的行,因為它是 output。
您可以使用以下
import os
print('text')
os.system("clear")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.