在这篇文章中,我将演示一种使用 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中文网其他相关文章!