2017-01-05 2 views
3

In dem Bemühen, Pythonon Code zu schreiben, frage ich mich, gibt es einen Stil Leitfaden für die Verwendung von ruhigen oder ausführlichen Optionen für Funktionen.Pythonic Implementierung von quiet/verbose Flagge für Funktionen

Zum Beispiel habe ich in meinem Python-Paket eine Reihe von Funktionen, die sich gegenseitig aufrufen, daher ist es wünschenswert, dass der Benutzer in der Lage ist, zeitweise eine gedruckte Ausgabe anzufordern.

Zum Beispiel:

def simple_addition(a, b, silent=True): 
    res = a + b 
    if not silent: print('The answer is %i' % res) 
    return res 

Gibt es einen Standard arg Namen hier. z.B. Soll "leise"/"leise" verwendet werden, um alle gedruckten Ausgaben zu unterdrücken. Oder sollte "verbose" verwendet werden, um dies zu verlangen, wenn True?

+0

Verwenden Sie, was auch immer sinnvoll für Sie und scheint mit dem Projekt konsistent. – wwii

Antwort

5

Grundsätzlich können Sie die verwenden, die Ihnen die Möglichkeit gibt, die gewünschte Protokollierungsstufe festzulegen, und der Protokollierer speichert/druckt/exportiert (basierend auf Ihrer Konfiguration) die protokollierten Werte.

import logging 
logging.warning('Watch out!') # will print a message to the console 
logging.info('I told you so') # will not print anything 

Sie können den Pegel des Loggers eingestellt werden:

logging.basicConfig(level=logging.INFO) 

Und es gibt viele more options there.

+0

Nur als eine Anmerkung wäre 'logging.DEBUG' wahrscheinlich die geeignete Stufe für OP. – Arminius

Verwandte Themen