在這篇文章中,我將示範一種使用 Python 和 Conky 直接在桌面面板上顯示來自 API 請求的資料的簡單方法。
客觀的
目標是從 API 取得資訊並將其顯示在桌面面板上。在此範例中,我將使用 Python 來處理 API 請求,並使用 Conky 來建立面板。
我們將使用 economia.awesomeapi.com.br API 來取得美元和巴西雷亞爾的比特幣匯率。然後,我們將配置 Conky 每小時執行一次 Python 腳本並在面板上顯示輸出。我還添加了一些基本樣式以使面板看起來更好。
Python 腳本:btc_data.py
以下是檢索比特幣匯率並格式化 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配置: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 腳本輸出的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Tomergelistsinpython,YouCanusethe操作員,estextMethod,ListComprehension,Oritertools

在Python3中,可以通過多種方法連接兩個列表:1)使用 運算符,適用於小列表,但對大列表效率低;2)使用extend方法,適用於大列表,內存效率高,但會修改原列表;3)使用*運算符,適用於合併多個列表,不修改原列表;4)使用itertools.chain,適用於大數據集,內存效率高。

使用join()方法是Python中從列表連接字符串最有效的方法。 1)使用join()方法高效且易讀。 2)循環使用 運算符對大列表效率低。 3)列表推導式與join()結合適用於需要轉換的場景。 4)reduce()方法適用於其他類型歸約,但對字符串連接效率低。完整句子結束。

pythonexecutionistheprocessoftransformingpypythoncodeintoExecutablestructions.1)InternterPreterReadSthecode,ConvertingTingitIntObyTecode,whepythonvirtualmachine(pvm)theglobalinterpreterpreterpreterpreterlock(gil)the thepythonvirtualmachine(pvm)

Python的關鍵特性包括:1.語法簡潔易懂,適合初學者;2.動態類型系統,提高開發速度;3.豐富的標準庫,支持多種任務;4.強大的社區和生態系統,提供廣泛支持;5.解釋性,適合腳本和快速原型開發;6.多範式支持,適用於各種編程風格。

Python是解釋型語言,但也包含編譯過程。 1)Python代碼先編譯成字節碼。 2)字節碼由Python虛擬機解釋執行。 3)這種混合機制使Python既靈活又高效,但執行速度不如完全編譯型語言。

UseeAforloopWheniteratingOveraseQuenceOrforAspecificnumberoftimes; useAwhiLeLoopWhenconTinuingUntilAcIntiment.forloopsareIdealForkNownsences,而WhileLeleLeleLeleLeleLoopSituationSituationsItuationsItuationSuationSituationswithUndEtermentersitations。

pythonloopscanleadtoerrorslikeinfiniteloops,modifyingListsDuringteritation,逐個偏置,零indexingissues,andnestedloopineflinefficiencies


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用