在這篇文章中,我將示範一種使用 Python 和 Conky 直接在桌面面板上顯示來自 API 請求的資料的簡單方法。
目標是從 API 取得資訊並將其顯示在桌面面板上。在此範例中,我將使用 Python 來處理 API 請求,並使用 Conky 來建立面板。
我們將使用 economia.awesomeapi.com.br API 來取得美元和巴西雷亞爾的比特幣匯率。然後,我們將配置 Conky 每小時執行一次 Python 腳本並在面板上顯示輸出。我還添加了一些基本樣式以使面板看起來更好。
以下是檢索比特幣匯率並格式化 Conky 面板輸出的 Python 腳本:
import requests API_URL = "https://economia.awesomeapi.com.br/json/last/BTC-USD,BTC-BRL" try: response = requests.get(API_URL) data = response.json() btc_usd = data.get("BTCUSD", {}) btc_brl = data.get("BTCBRL", {}) usd_alta = f"$${float(btc_usd.get('high', 'N/A')):,.2f}" usd_baixa = f"$${float(btc_usd.get('low', 'N/A')):,.2f}" brl_alta = f"R$${float(btc_brl.get('high', 'N/A')):,.2f}" brl_baixa = f"R$${float(btc_brl.get('low', 'N/A')):,.2f}" formatted_data = ( "\n\n${color white}BTC - USD\n${color}${color green} High: ${color}${color white}"+usd_alta+"\n${color red} Low: ${color}${color white}"+usd_baixa+"\n\n" "${color white}BTC - BRL\n${color}${color green} High: ${color}${color white}"+brl_alta+"\n${color red} Low: ${color}${color white}"+brl_baixa+"\n" ) print(formatted_data) except Exception as e: print(e)
這是 Conky 的設定檔。它每小時(3600 秒)運行一次 Python 腳本並顯示格式化輸出:
conky.config = { default_color = '#afafaf', own_window = true, own_window_type = 'normal', own_window_transparent = true, own_window_colour = '#000000', own_window_hints = 'undecorated, skip_taskbar', use_spacer = 'right', border_inner_margin = 20, alignment = 'middle_right', use_xft = true, double_buffer = true, font = 'Monospace:size=8:style=semibold', gap_x = 80, update_interval = 1.0, } conky.text = [[ ${image /home/.../bitcoin-btc-logo.png -n -p 50,1 -s 25x25} ${execpi 3600 python3 /home/.../btc_data.py} ]]
conky -c /path/to/btc_ck.conf
以上是在 Conky 面板上顯示 Python 腳本輸出的詳細內容。更多資訊請關注PHP中文網其他相關文章!