python套件和logging日誌的相關介紹
python套件與logging日誌
一、套件
包:資料夾下具有__init__.py檔案就是一個包,包用來管理多個模組
包的結構如下:
bake ├── __init__.py ├── api ├── __init__.py ├── policy.py └── versions.py ├── cmd ├── __init__.py └── manage.py └── db ├── __init__.py └── models.py
在bake的同級創建一個test.py導入policy.py:
import bake.api.policy bake.api.policy.get() #导入的名字太长了,可以起别名 import bake.api.policy as p p.get() #from 导入在__init__.py修改 from . import policy #我们需要在policy文件中向sys.path添加了当前的路径 import os import sys sys.path.insert(os.path.dirname(__file__)) #print(__file__)查看一下 #使用__all__,在__init__.py中 __all__ = ["policy"] #或 from . import policy
總結:
import 套件.套件.套件
from 套件.套件import 模組
路徑:
絕對:從在外層開始導入
相對:從目前開始(.)導入或從父級(..)導入
使用相對路徑時必須在包的最外層且同級
from 套件import *
需要在__init__.py做操作
python2:import資料夾(沒有__init__.py)會報錯
python3:import資料夾(沒有__init__.py)不會報錯誤
#相關推薦:《Python影片教學》
二、logging模組
logging模組用於記錄軟體的各種狀態,交易記錄,錯誤記錄,登入記錄…
1.函數式簡單設定:
import logging logging.debug('debug message') logging.info('info message') logging.warning('warning message') logging.error('error message') logging.critical('critical message')
預設情況下python的logging模組將日誌印到了標準輸出中,且只顯示了大於等於WARNING等級的日誌,證明預設的等級為WARNING
#日誌等級: CRITICAL > ERROR > WARNING > INFO > DEBUG
2.靈活配置日誌級別,日誌模式,輸入位置(低配版)
只能寫入日誌,不能公屏輸出
import logging logging.basicConfig(level = logging.DEBUG, format = '%(astime)s %(filename)s [line:%(lineno)d] %(levelname)s %(message)s', datefmt = '%Y-%m-%d %H:%M:%S', filename = 'test.log', filemode = 'a') dic = {"key":123} logging.debug(dic) num = 100 logging.info(f"用户余额:{num - 50}") try: num = int(input("请输入数字:")) except Exception as e: logging.warning("e") logging.error('error message') logging.critical('critical message')
basicConfig()函數中可透過具體參數來更改logging模組預設行為,可用參數有:
##filename:用指定的檔案名稱建立FiledHandler,這樣日誌就會儲存在指定的檔案中。 filemode:檔案開啟方式,在指定了filename時使用這個參數,預設值為「a」還可指定為「w」。 format:指定handler所使用的日誌顯示格式。 datefmt:指定日期時間格式。 level:設定記錄日誌的等級stream:用指定的stream建立StreamHandler。可以指定輸出到sys.stderr,sys.stdout或檔案(f=open(‘test.log’,’w’)),預設為sys.stderr。若同時列出了filename和stream兩個參數,則stream參數會被忽略。format參數中可能用到的格式化字串:
%(name)s Logger的名字%(levelno)s 數字形式的日誌等級%(levelname)s 文字形式的日誌等級%(pathname)s 呼叫日誌輸出函數的模組的完整路徑名,可能沒有% (filename)s 呼叫日誌輸出函數的模組的檔案名稱%(module)s 呼叫日誌輸出函數的模組名稱%(funcName)s 呼叫日誌輸出函數的函數名稱%(lineno)d 呼叫日誌輸出函數的語句所在的程式碼行%(created)f 目前時間,以UNIX標準的表示時間的浮點數表示# %(relativeCreated)d 輸出日誌訊息時的,自Logger創建以來的毫秒數#%(asctime)s 字串形式的當前時間。預設格式是 “2003-07-08 16:49:45,896”。逗號後面的是毫秒%(thread)d 執行緒ID。可能沒有%(threadName)s 執行緒名稱。可能沒有%(process)d 進程ID。可能沒有%(message)s使用者輸出的訊息3.logger物件配置(中配版)
import logging logger = logging.getLogger() # 创建一个logger fh = logging.FileHandler('test.log',mode="a",encoding='utf-8') # 文件 ch = logging.StreamHandler() # 屏幕 formatter = logging.Formatter('%(asctime)s - %(name)s - %(filename)s - [line:%(lineno)d] - %(levelname)s - %(message)s') # 将屏幕和文件都是用以上格式 logger.setLevel(logging.DEBUG) # 设置记录级别 fh.setFormatter(formatter) # 使用自定义的格式化内容 ch.setFormatter(formatter) logger.addHandler(fh) #logger对象可以添加多个fh和ch对象 logger.addHandler(ch) logger.debug('logger debug message') logger.info('logger info message') logger.warning('logger warning message') logger.error('logger error message') logger.critical('logger critical message')
以上是python套件和logging日誌的相關介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

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

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

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。
