最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python tabulate結(jié)合loguru打印出美觀方便的日志記錄

 更新時(shí)間:2022年10月10日 08:14:49   作者:Python 集中營  
在開發(fā)過程中經(jīng)常碰到在本地環(huán)境無法完成聯(lián)調(diào)測試的情況,必須到統(tǒng)一的聯(lián)機(jī)環(huán)境對接其他系統(tǒng)測試。往往是出現(xiàn)了BUG難以查找數(shù)據(jù)記錄及時(shí)定位到錯(cuò)誤出現(xiàn)的位置。本文將利用tabulate結(jié)合loguru實(shí)現(xiàn)打印出美觀方便的日志記錄,需要的可以參考一下

在開發(fā)過程中經(jīng)常碰到在本地環(huán)境無法完成聯(lián)調(diào)測試的情況,必須到統(tǒng)一的聯(lián)機(jī)環(huán)境對接其他系統(tǒng)測試。往往是出現(xiàn)了BUG難以查找數(shù)據(jù)記錄及時(shí)定位到錯(cuò)誤出現(xiàn)的位置。

面對這種情況可能情況可能是一個(gè)簡單的BUG導(dǎo)致的,但是定位問題往往就需要很長的時(shí)間。在python編程中推薦非標(biāo)準(zhǔn)庫tabulate,它可以將程序運(yùn)行過程中產(chǎn)生的數(shù)據(jù)記錄格式化的打印出來很方便我們定位問題。

通過結(jié)合簡單的日志非標(biāo)準(zhǔn)庫loguru可以很快的打印出又美觀又實(shí)用的日志記錄,loguru非標(biāo)準(zhǔn)庫其實(shí)在一些文章的源碼示例中我們已經(jīng)在使用了。

安裝過程還是通過pip的方式直接安裝,由于loguru、tabulate都是python的非標(biāo)準(zhǔn)庫,因此,沒有安裝的話需要安裝一下。默認(rèn)我們都使用的清華大學(xué)的python鏡像站,大家可以選擇其他的鏡像站都可以。

pip install loguru -i https://pypi.tuna.tsinghua.edu.cn/simple/

pip install tabulate - i https://pypi.tuna.tsinghua.edu.cn/simple/

做好準(zhǔn)備工作以后將loguru、tabulate模塊都導(dǎo)入進(jìn)來就OK了,沒有其他復(fù)雜的操作!

# It's a shortcut to create a logger with the default configuration.
from loguru import logger

# It's importing the function `tabulate` from the module `tabulate`.
from tabulate import tabulate

關(guān)于非標(biāo)準(zhǔn)庫tabulate,它的打印模式其實(shí)有很多,我們平常使用到的可能就是幾種比較常見的,下面將tabulate所有的打印模式全部列舉出來,有需要的大佬可以參考。

'''
"plain"
"simple"
"github"
"grid"
"fancy_grid"
"pipe"
"orgtbl"
"jira"
"presto"
"psql"
"rst"
"mediawiki"
"moinmoin"
"youtrack"
"html"
"latex"
"latex_raw"
"latex_booktabs"
"textile"
'''

我們選擇其中的一種'grid'模式來看看效果如何,因?yàn)檫@種模式打印的數(shù)據(jù)記錄也是比較常見的。下面創(chuàng)建一個(gè)函數(shù)tab_grid_log打印一段數(shù)組形式的數(shù)據(jù)記錄。

def tab_grid_log():
    """
    > This function takes a list of lists and returns a list of lists with the log of each element
    """
    # It's defining the header of the table.
    header = [u'姓名', u'年齡', u'班級(jí)', u'成績', u'表現(xiàn)']
    # It's defining a list of lists.
    table = [('Python', 20, 1710, 98, 5.0), ('Java', 22, 1810, 98, 4.9)]
    # It's printing the table with the `grid` format.
    logger.info(tabulate(table, headers=header, tablefmt='grid'))


tab_grid_log()


# 2022-09-17 18:33:00.472 | INFO     | __main__:tab_grid_log:66 - +--------+--------+--------+--------+--------+
# | 姓名   |   年齡 |   班級(jí) |   成績 |   表現(xiàn) |
# +========+========+========+========+========+
# | Python |     20 |   1710 |     98 |    5   |
# +--------+--------+--------+--------+--------+
# | Java   |     22 |   1810 |     98 |    4.9 |
# +--------+--------+--------+--------+--------+
#
# Process finished with exit code 0

使用grid模式的打印的數(shù)據(jù)記錄就是宮格形式很便于查找日志中的數(shù)據(jù)記錄,也是我們經(jīng)常在日志記錄中使用的一種打印方法。

接下來我們隨便選擇一種模式再次進(jìn)行打印,這里就選擇html模式來看看效果吧,這種模式之前沒有使用過我很好奇它會(huì)打印出什么樣的效果。

def tab_html_log():
    """
    > This function takes a log file and returns a html table of the log file
    """
    # It's defining the header of the table.
    header = [u'姓名', u'年齡', u'班級(jí)', u'成績', u'表現(xiàn)']
    # It's defining a list of lists.
    table = [('Python', 20, 1710, 98, 5.0), ('Java', 22, 1810, 98, 4.9)]
    # It's printing the table with the `html` format.
    logger.info(tabulate(table, headers=header, tablefmt='html'))


tab_html_log()

# 2022-09-17 18:37:50.383 | INFO     | __main__:tab_html_log:87 - <table>
# <thead>
# <tr><th>姓名  </th><th style="text-align: right;">  年齡</th><th style="text-align: right;">  班級(jí)</th><th style="text-align: right;">  成績</th><th style="text-align: right;">  表現(xiàn)</th></tr>
# </thead>
# <tbody>
# <tr><td>Python</td><td style="text-align: right;">    20</td><td style="text-align: right;">  1710</td><td style="text-align: right;">    98</td><td style="text-align: right;">   5  </td></tr>
# <tr><td>Java  </td><td style="text-align: right;">    22</td><td style="text-align: right;">  1810</td><td style="text-align: right;">    98</td><td style="text-align: right;">   4.9</td></tr>
# </tbody>
# </table>

從打印結(jié)果可以看出來了,使用html模式的打印時(shí)實(shí)際上是生成html的源碼,這還是很智能的包括style的樣式屬性也填充了。

到此這篇關(guān)于Python tabulate結(jié)合loguru打印出美觀方便的日志記錄的文章就介紹到這了,更多相關(guān)Python tabulate loguru打印日志記錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python流程控制語句詳解

    Python流程控制語句詳解

    所有編程語言在編寫時(shí)都要遵守語音結(jié)構(gòu)和流程控制,他們控制了整個(gè)程序的運(yùn)行步驟。流程控制包括順序控制、條件控制和循環(huán)控制
    2022-07-07
  • 完美解決Pycharm中matplotlib畫圖中文亂碼問題

    完美解決Pycharm中matplotlib畫圖中文亂碼問題

    這篇文章主要介紹了完美解決Pycharm中matplotlib畫圖中文亂碼問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • Python中pip安裝非PyPI官網(wǎng)第三方庫的方法

    Python中pip安裝非PyPI官網(wǎng)第三方庫的方法

    這篇文章主要介紹了Python中pip安裝非PyPI官網(wǎng)第三方庫的方法,pip最新的版本(1.5以上的版本), 出于安全的考 慮,pip不允許安裝非PyPI的URL,本文就給出兩種解決方法,需要的朋友可以參考下
    2015-06-06
  • Python selenium如何打包靜態(tài)網(wǎng)頁并下載

    Python selenium如何打包靜態(tài)網(wǎng)頁并下載

    這篇文章主要介紹了Python selenium如何打包靜態(tài)網(wǎng)頁并下載,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • python中字典和列表的相互嵌套問題詳解

    python中字典和列表的相互嵌套問題詳解

    這篇文章主要為大家詳細(xì)介紹了python中字典和列表相互嵌套的問題,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • python解析xml文件并修改其屬性值方式

    python解析xml文件并修改其屬性值方式

    本文介紹了兩種解析和修改XML文件的方法:使用Python自帶的xml.etree.ElementTree和第三方的lxml,lxml方法可以添加standalone屬性,而ElementTree則不能
    2025-02-02
  • Python實(shí)現(xiàn)簡單字典樹的方法

    Python實(shí)現(xiàn)簡單字典樹的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)簡單字典樹的方法,實(shí)例分析了Python字典樹的定義、實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下
    2016-04-04
  • Pytorch之finetune使用詳解

    Pytorch之finetune使用詳解

    今天小編就為大家分享一篇Pytorch之finetune使用詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • 徹底搞懂python 迭代器和生成器

    徹底搞懂python 迭代器和生成器

    這篇文章主要介紹了python 迭代器和生成器的相關(guān)資料,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • python 平衡二叉樹實(shí)現(xiàn)代碼示例

    python 平衡二叉樹實(shí)現(xiàn)代碼示例

    這篇文章主要介紹了python 平衡二叉樹實(shí)現(xiàn)代碼示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-07-07

最新評論

娱乐| 如东县| 资兴市| 运城市| 葫芦岛市| 浦北县| 云梦县| 内乡县| 南昌县| 运城市| 鹤峰县| 石家庄市| 清苑县| 乐山市| 鄱阳县| 塘沽区| 桃江县| 南城县| 西贡区| 南安市| 剑川县| 兴化市| 苍梧县| 平塘县| 天气| 龙口市| 永州市| 安岳县| 阳泉市| 洪洞县| 郎溪县| 石狮市| 方山县| 科技| 于田县| 武强县| 麦盖提县| 庆城县| 海南省| 集贤县| 高邑县|