Maaf untuk pertanyaan noob, saya memeriksa pertanyaan serupa lainnya di situs web tetapi tidak dapat menemukan pertanyaan yang menyelesaikan masalah saya.

Saya sangat baru di python jadi maafkan saya. Saya mencoba membuat bot yang menunjukkan hasil akun trading saya.

Langkah pertama saya ingin dapat melihat hasilnya di terminal. Langkah kedua adalah "menulis hasil tersebut di halaman web"

Apa yang ingin saya capai adalah bahwa setiap baris cetakan diperbarui dengan nilai-nilai baru pada baris asli yang sama.

Kode porsi fungsinya adalah ini:

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')

Lalu saya menyuruhnya mengulangi setiap 5 detik

while True:
  eth_results()
  time.sleep(5)

Sekarang hasilnya seperti ini tetapi saya ingin hasilnya dicetak dalam baris yang sama, hanya memperbarui variabel:

--------------------------------------

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

--------------------------------------

Tapi aku tidak bisa mencapainya. Jika saya menggunakan \r hanya baris terakhir yang akan diganti. Pada dasarnya saya ingin mengganti SEMUA baris. Saya cukup yakin ada banyak cara untuk mencapai ini, dan banyak cara untuk "membersihkan kode" tetapi saat ini saya hanya ingin menemukan "solusi kerja" APAPUN daripada menemukan "satu-satunya cara terbaik" untuk melakukannya. Tentu saja saya bersedia membuat kode dengan cara yang lebih baik ketika saya akan mendapatkan lebih banyak pengalaman.

BONUS: setelah itu saya juga pada dasarnya ingin mencetak (dan menimpa) hal yang sama pada file teks/html/apa pun. Tapi ini bukan prioritas sekarang.

Terima kasih banyak

0
mosf 7 Mei 2021, 18:33

2 jawaban

Jawaban Terbaik

Anda dapat mencetak banyak baris baru untuk menghapus konsol.

clear = "\n" * 100
print(clear)

Anda tidak dapat menimpa baris yang sudah dicetak di konsol karena ini adalah output.

0
Adrian Edelen 7 Mei 2021, 15:39

Anda dapat menggunakan yang berikut ini:

import os
print('text')
os.system("clear")
-1
BuddyBob 7 Mei 2021, 15:46