Python函式庫
Python
函式庫
Awesome Python
僕が仮想通貨Botを作るときに手放せない便利なPythonライブラリを9個紹介します
retry
遇到錯誤時自動重試
安裝
$ pip install retry
使用
code:python
import ccxt
from retry import retry
# 在容易逾時的函式前面加上 @retry
@retry(tries=3, delay=0.5, backoff=2)
def fetch_board(client, symbol, side):
return client.fetch_order_book(symbol)side
fetch_board(ccxt.binance(), 'BTC/USDT', 'ask)
timeout-decorator
函式執行過久時,自動回傳 timeout error
安裝
$ pip install timeout-decorator
使用
code:python
from timeout_decorator import timeout
# 超過 3 分鐘就回傳錯誤
@timeout(179)
def main():
for exchange_name in EXCHANGE_NAMES:
check_pump_dumps(exchange_name)
tabulate
格式化表單資料
安裝
$ pip install tabulate
使用
code:python
from tabulate import tabulate
# 範例資料
data = [
('binance', 'BTC/USDT', 25000),
('ftx', 'BTC/USD', 25010),
('okx', 'BTC/USDT', 25007)
]
headers = 'exchange', 'ticker', 'price'
print(tabulate(data, headers=headers, tablefmt='simple'))
pretty_errors
onelivesleft/PrettyErrors: Prettify Python exception output to make it legible.
精簡化錯誤資訊
import 即有效果
安裝
$ pip install pretty_errors
使用
code:python
import pretty_errors
def sub():
hoge
def main():
sub()
if __name__ == "__main__":
main()
rich
精簡化取得資料
使用
from rich import print
pdb
debug 用 library
Python3 預設已經安裝
使用
import pdb; pdb.set_trace()