با کد اکسپلور یاد بگیر، لذت ببر و بروز باش ⚡️😉
👨🏻💻 ارتباط با ما :
@CodeExploreSup
گروه :
@CodeExplore_Gap
تبلیغات در کد اکسپلور :
@CodeExploreAds
Post #4208
1.86K
کد @codeexplore
Showing posts older than #4209 · Back to latest

pip install defer
from defer import defer
@defer
def main(d):
f = open("file.txt")
d(f.close) # in go: `defer f.close()`
print(f.read())
def defer(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
deferred = [] # Store deferred functions as (fn, args, kwargs)
def d(fn, *a, **kw):
"""Register a function to run at the end of the main function (LIFO)."""
deferred.append((fn, a, kw))
try:
# Call the original function, passing in the defer collector
return func(d, *args, **kwargs)
finally:
# Run deferred functions in reverse order automatically
while deferred:
fn, a, kw = deferred.pop()
try:
fn(*a, **kw)
except Exception:
print("Exception in deferred function:")
traceback.print_exc()
return wrapper
@defer
def example(d):
f = open("file.txt", "w")
d(f.close) # schedule file close
d(lambda: print("Deferred print 1"))
d(lambda: print("Deferred print 2"))
print("Inside function")
f.write("Hello from example!\n")
Inside function
Deferred print 2
Deferred print 1




کداکسپلور | CodeExplore دوستان برای ساخت محتوا توی یوتوب چه پیشنهاداتی برای ما دارین؟ ما همیشه سعی کردیم انتقاداتتونو بشنویم و بهش عمل کنیم پس توی کامنتای این پست منتظر پیشنهاداتتون هستیم.
