在这篇文章中,我将演示一种使用 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 = (
"
${color white}btc - usd
${color}${color green} high: ${color}${color white}"+usd_alta+"
${color red} low: ${color}${color white}"+usd_baixa+"
"
"${color white}btc - brl
${color}${color green} high: ${color}${color white}"+brl_alta+"
${color red} low: ${color}${color white}"+brl_baixa+"
"
)
print(formatted_data)
except exception as e:
print(e)
conky配置:btc_ck.conf
这是 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}
]]
要点:
- api 数据:获取比特币的美元和巴西雷亚尔最高价和最低价。
- 更新频率:面板通过 execpi 函数每小时更新一次。
- 样式:应用一些基本的自定义来改善面板的外观。
- 将python脚本(btc_data.py)和conky配置文件(btc_ck.conf)保存在所需目录中。
- 根据需要更新 btc_ck.conf 中的文件路径(例如,python 脚本位置、比特币徽标图像)。
- 使用配置启动conky:
conky -c /path/to/btc_ck.conf
以上就是在 Conky 面板上显示 Python 脚本输出的详细内容,更多请关注知识资源分享宝库其它相关文章!
版权声明
本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com
发表评论