[PYTHON] Tipps zum Ersetzen und Debuggen von Funktionen

Wenn Sie ein kleines Skript schreiben, bauen Sie einen String zusammen und führen ihn aus, oder?

So etwas in der Art (ich benutze nicht "shutil", weil es ein Beispiel ist)

os.system('mv %(src)s %(dst)s' % locals())

So ein Typ

os.system('ssh %(user)s@%(host)s -p %(port)s hostname' % locals())

Haben Sie dies jemals getan, wenn Sie die zusammengesetzte Zeichenfolge überprüfen möchten? Es ist ein Ärger

# os.system('mv %(src)s %(dst)s' % locals())
print 'mv %(src)s %(dst)s' % locals()

Wenn Sie so debuggen möchten, ist es einfacher, "os.system" zu ersetzen

def out(s):
  print s

os.system = out
os.system('mv %(src)s %(dst)s' % locals())

Jetzt, da os.system tatsächlich print ist, wird die zusammengesetzte Zeichenfolge beim Ausführen standardmäßig ausgegeben und Sie können sie problemlos debuggen.

Übrigens verwendet die Python2-Serie "def", weil "print" eine Anweisung ist, aber die Python3-Serie ist einfacher, weil "print" ein Ausdruck ist.

os.system = print
os.system('mv %(src)s %(dst)s' % locals())

Wenn es sich um eine erstklassige Objektsprache handelt, wird sie angewendet, daher ist es möglicherweise gut, sich daran zu erinnern

Recommended Posts

Tipps zum Ersetzen und Debuggen von Funktionen
6 Python-Bibliotheken für schnellere Entwicklung und Debugging
[Python of Hikari-] Kapitel 06-04 Funktionen (Argumente und Rückgabewerte 3)
Python- und Numpy-Tipps
Funktionen und Dekorateure höherer Ordnung
[Hikari-Python] Kapitel 06-01 Funktionen (integrierte Funktionen und Funktionsdefinitionen)
Bericht über das Debuggen und Testen
[Python of Hikari-] Kapitel 06-03 Funktionen (Argumente und Rückgabewerte 2)
Anonyme Funktion und Kartenfunktion
Tipps zum Codieren kurz und einfach in Python zu lesen
[Statistik für Programmierer] Wahrscheinlichkeitsvariablen, Wahrscheinlichkeitsverteilungen und Wahrscheinlichkeitsdichtefunktionen
[Hikari-Python] <Zusatz> Kapitel 06-05 Funktionen (Argumente und Rückgabewerte 4)
Aufteilen von re.split und Ersetzen von re.compile
Schlüsselwortargumente für Python-Funktionen
Python #Funktion 1 für Super-Anfänger
[Python + Selen] Tipps zum Scraping
Python 3 Sortier- und Vergleichsfunktionen
Klassenvererbung und Superfunktion
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
Einführung und Tipps von mlflow.Tracking
Tipps und Vorsichtsmaßnahmen bei der Datenanalyse