Lorsque vous écrivez un petit script, vous assemblez et exécutez une chaîne, non?
Quelque chose comme ça (je n'utilise pas shutil
parce que c'est un exemple)
os.system('mv %(src)s %(dst)s' % locals())
Un tel mec
os.system('ssh %(user)s@%(host)s -p %(port)s hostname' % locals())
Alors, avez-vous déjà fait cela lorsque vous souhaitez vérifier la chaîne de caractères assemblée? C'est un problème
# os.system('mv %(src)s %(dst)s' % locals())
print 'mv %(src)s %(dst)s' % locals()
Si vous voulez déboguer comme ça, il est plus facile de remplacer ʻos.system`
def out(s):
print s
os.system = out
os.system('mv %(src)s %(dst)s' % locals())
Maintenant que ʻos.system est en fait
print`, lorsque vous l'exécutez, la chaîne de caractères assemblée est sortie en standard et vous pouvez facilement la déboguer.
À propos, la série python2 utilise «def» parce que «print» est une instruction, mais la série python3 est plus facile parce que «print» est une expression.
os.system = print
os.system('mv %(src)s %(dst)s' % locals())
S'il s'agit d'un langage objet de première classe, il sera appliqué, il peut donc être bon de se souvenir
Recommended Posts