पल में मेरी अजगर कोड अक्सर इस तरह दिखता है:शुष्क रन के लिए विधि?
...
if not dry_run:
result = shutil.copyfile(...)
else:
print " DRY-RUN: shutil.copyfile(...) "
...
मैं अब एक सूखी धावक विधि की तरह कुछ writting के बारे में सोचना:
def dry_runner(cmd, dry_run, message, before="", after=""):
if dry_run:
print before + "DRY-RUN: " + message + after
# return execute(cmd)
लेकिन cmd पहले निष्पादित किया जाएगा और परिणाम है dry_runner विधि को दिया गया।
मैं इस तरह की विधि को पाइथोनिक तरीके से कैसे कोड कर सकता हूं?
def execute(func, *args):
print 'before', func
if not dry:
func(*args)
print 'after', func
>>> execute(shutil.copyfile, 'src', 'dst')