Heim Backend-Entwicklung Python-Tutorial Einführung in Python-Pakete und Protokollierung

Einführung in Python-Pakete und Protokollierung

Aug 08, 2019 pm 05:55 PM
logging python 日志

Einführung in Python-Pakete und Protokollierung

Python-Paket und Protokollierung

1. Paket

Paket : Ein Paket mit einer __init__.py-Datei in einem Ordner wird zum Verwalten mehrerer Module verwendet

Die Struktur des Pakets ist wie folgt:

bake            
    ├── __init__.py       
    ├── api               
        ├── __init__.py
        ├── policy.py
        └── versions.py
  ├── cmd             
    ├── __init__.py
    └── manage.py
  └── db                
      ├── __init__.py
      └── models.py
Nach dem Login kopieren

Erstellen Sie eine test.py auf derselben Ebene wie backen Import 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
Nach dem Login kopieren

Zusammenfassung:

import package.package.package

aus package.package.package Importmodul

Pfad:

Absolut: Import aus der äußeren Ebene

Relativ: Import aus der aktuellen (.) oder der übergeordneten Ebene (..)

Bei Verwendung relativer Pfade müssen diese bei sein das Ende des Pakets Äußere Schicht und gleiche Ebene

vom Paketimport *

muss in __init__.py erfolgen

Python2: Importordner (ohne __init__.py) meldet einen Fehler

python3: Der Importordner (ohne __init__.py) meldet keinen Fehler

Verwandte Empfehlungen: „Python Video Tutorial

2, Protokollierungsmodul

Das Protokollierungsmodul dient zur Aufzeichnung verschiedener Status der Software, Transaktionsaufzeichnungen, Fehleraufzeichnungen, Anmeldeaufzeichnungen...

1. Funktionale einfache Konfiguration:

import logging
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')
Nach dem Login kopieren

Standardmäßig druckt das Protokollierungsmodul von Python Protokolle in der Standardausgabe und zeigt nur Protokolle an, die größer oder gleich der Stufe WARNING sind, was beweist, dass die Standardstufe WARNING ist

Protokollebene: KRITISCH > WARNUNG > DEBUG

2 🎜>

kann nur das Schreiben von Protokollen nicht auf dem öffentlichen Bildschirm ausgegeben werden

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')
Nach dem Login kopieren

Die Funktion „basicConfig()“ kann bestimmte Parameter verwenden, um das Standardverhalten des Protokollierungsmoduls zu ändern sind:

Dateiname: Verwendung Erstellt einen FiledHandler mit dem angegebenen Dateinamen, sodass das Protokoll in der angegebenen Datei gespeichert wird.

Dateimodus: Dateiöffnungsmodus. Dieser Parameter wird verwendet, wenn der Dateiname angegeben ist. Der Standardwert ist „a“ und kann auch als „w“ angegeben werden.

Format: Geben Sie das vom Handler verwendete Protokollanzeigeformat an.

datefmt: Geben Sie das Datums- und Uhrzeitformat an.

Ebene: Legen Sie die Protokollierungsebene fest.

Stream: Erstellen Sie einen StreamHandler mit dem angegebenen Stream. Sie können die Ausgabe in

sys.stderr, sys.stdout oder Datei (f=open(‘test.log’,’w’)) angeben, der Standardwert ist sys.stderr. Wenn sowohl Dateiname als auch Stream-Parameter aufgeführt sind, wird der Stream-Parameter ignoriert.

Formatzeichenfolge, die im Formatparameter verwendet werden kann:

%(name)s Name des Loggers

%(levelno)s numerische Form Protokoll level

%(levelname)s Protokollebene in Textform

%(pathname)s Der vollständige Pfadname des Moduls, das die Protokollausgabefunktion aufruft, möglicherweise kein

% (filename)s Der Dateiname des Moduls, das die Protokollausgabefunktion aufruft

%(module)s Der Modulname, der die Protokollausgabefunktion aufruft

%(funcName)s Der Funktionsname, der die Protokollausgabefunktion aufruft

%(lineno)d Die Codezeile, in der sich die Anweisung befindet, die die Protokollausgabefunktion aufruft

%(created)f Die aktuelle Zeit, dargestellt durch eine UNIX-Standard-Gleitkommazahl, die die Zeit darstellt

%(relativeCreated)d Die Anzahl der Millisekunden seit der Erstellung des Loggers bei der Ausgabe von Protokollinformationen

%(asctime)s Die aktuelle Zeit im Formular einer Zeichenfolge. Das Standardformat ist „2003-07-08 16:49:45,896“. Was auf das Komma folgt, sind Millisekunden

%(thread)d Thread-ID. Möglicherweise sind keine

%(threadName)s Thread-Namen vorhanden. Möglicherweise ist keine Prozess-ID

%(process)d vorhanden. Möglicherweise werden von

%(message)s Benutzern

3.Logger-Objektkonfiguration (mittlere Version)

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')
Nach dem Login kopieren
keine Nachrichten ausgegeben

Das obige ist der detaillierte Inhalt vonEinführung in Python-Pakete und Protokollierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP und Python: Verschiedene Paradigmen erklärt PHP und Python: Verschiedene Paradigmen erklärt Apr 18, 2025 am 12:26 AM

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

Wählen Sie zwischen PHP und Python: Ein Leitfaden Wählen Sie zwischen PHP und Python: Ein Leitfaden Apr 18, 2025 am 12:24 AM

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Apr 16, 2025 am 12:12 AM

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

So führen Sie Programme in der terminalen VSCODE aus So führen Sie Programme in der terminalen VSCODE aus Apr 15, 2025 pm 06:42 PM

Im VS -Code können Sie das Programm im Terminal in den folgenden Schritten ausführen: Erstellen Sie den Code und öffnen Sie das integrierte Terminal, um sicherzustellen, dass das Codeverzeichnis mit dem Terminal Working -Verzeichnis übereinstimmt. Wählen Sie den Befehl aus, den Befehl ausführen, gemäß der Programmiersprache (z. B. Pythons Python your_file_name.py), um zu überprüfen, ob er erfolgreich ausgeführt wird, und Fehler auflösen. Verwenden Sie den Debugger, um die Debugging -Effizienz zu verbessern.

Kann gegen Code in Windows 8 ausgeführt werden Kann gegen Code in Windows 8 ausgeführt werden Apr 15, 2025 pm 07:24 PM

VS -Code kann unter Windows 8 ausgeführt werden, aber die Erfahrung ist möglicherweise nicht großartig. Stellen Sie zunächst sicher, dass das System auf den neuesten Patch aktualisiert wurde, und laden Sie dann das VS -Code -Installationspaket herunter, das der Systemarchitektur entspricht und sie wie aufgefordert installiert. Beachten Sie nach der Installation, dass einige Erweiterungen möglicherweise mit Windows 8 nicht kompatibel sind und nach alternativen Erweiterungen suchen oder neuere Windows -Systeme in einer virtuellen Maschine verwenden müssen. Installieren Sie die erforderlichen Erweiterungen, um zu überprüfen, ob sie ordnungsgemäß funktionieren. Obwohl VS -Code unter Windows 8 möglich ist, wird empfohlen, auf ein neueres Windows -System zu upgraden, um eine bessere Entwicklungserfahrung und Sicherheit zu erzielen.

PHP und Python: Ein tiefes Eintauchen in ihre Geschichte PHP und Python: Ein tiefes Eintauchen in ihre Geschichte Apr 18, 2025 am 12:25 AM

PHP entstand 1994 und wurde von Rasmuslerdorf entwickelt. Es wurde ursprünglich verwendet, um Website-Besucher zu verfolgen und sich nach und nach zu einer serverseitigen Skriptsprache entwickelt und in der Webentwicklung häufig verwendet. Python wurde Ende der 1980er Jahre von Guidovan Rossum entwickelt und erstmals 1991 veröffentlicht. Es betont die Lesbarkeit und Einfachheit der Code und ist für wissenschaftliche Computer, Datenanalysen und andere Bereiche geeignet.

Ist die VSCODE -Erweiterung bösartig? Ist die VSCODE -Erweiterung bösartig? Apr 15, 2025 pm 07:57 PM

VS -Code -Erweiterungen stellen böswillige Risiken dar, wie das Verstecken von böswilligem Code, das Ausbeutetieren von Schwachstellen und das Masturbieren als legitime Erweiterungen. Zu den Methoden zur Identifizierung böswilliger Erweiterungen gehören: Überprüfung von Verlegern, Lesen von Kommentaren, Überprüfung von Code und Installation mit Vorsicht. Zu den Sicherheitsmaßnahmen gehören auch: Sicherheitsbewusstsein, gute Gewohnheiten, regelmäßige Updates und Antivirensoftware.

Kann Visual Studio -Code in Python verwendet werden Kann Visual Studio -Code in Python verwendet werden Apr 15, 2025 pm 08:18 PM

VS -Code kann zum Schreiben von Python verwendet werden und bietet viele Funktionen, die es zu einem idealen Werkzeug für die Entwicklung von Python -Anwendungen machen. Sie ermöglichen es Benutzern: Installation von Python -Erweiterungen, um Funktionen wie Code -Abschluss, Syntax -Hervorhebung und Debugging zu erhalten. Verwenden Sie den Debugger, um Code Schritt für Schritt zu verfolgen, Fehler zu finden und zu beheben. Integrieren Sie Git für die Versionskontrolle. Verwenden Sie Tools für die Codeformatierung, um die Codekonsistenz aufrechtzuerhalten. Verwenden Sie das Lining -Tool, um potenzielle Probleme im Voraus zu erkennen.

See all articles