Skip to content

Commit

Permalink
Python Context Managers code snippets
Browse files Browse the repository at this point in the history
  • Loading branch information
CoreyMSchafer committed Dec 20, 2017
1 parent fab06d0 commit 206aec5
Show file tree
Hide file tree
Showing 9 changed files with 61 additions and 0 deletions.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
19 changes: 19 additions & 0 deletions Python-Context-Managers/cm_demo.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import os
from contextlib import contextmanager


@contextmanager
def change_dir(destination):
try:
cwd = os.getcwd()
os.chdir(destination)
yield
finally:
os.chdir(cwd)


with change_dir('Sample-Dir-One'):
print(os.listdir())

with change_dir('Sample-Dir-Two'):
print(os.listdir())
1 change: 1 addition & 0 deletions Python-Context-Managers/sample.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
41 changes: 41 additions & 0 deletions Python-Context-Managers/snippets.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@

class Open_File():

def __init__(self, destination):
pass

def __enter__(self):
pass

def __exit__(self, exc_type, exc_val, traceback):
pass


#### Using contextlib ####

@contextmanager
def open_file(file, mode):
f = open(file, mode)
yield f
f.close()


with open_file('sample.txt', 'w') as f:
f.write('Lorem ipsum dolor sit amet, consectetur adipiscing elit.')

print(f.closed)


#### CD Example ####

cwd = os.getcwd()
os.chdir('Sample-Dir-One')
print(os.listdir())
os.chdir(cwd)

cwd = os.getcwd()
os.chdir('Sample-Dir-Two')
print(os.listdir())
os.chdir(cwd)


0 comments on commit 206aec5

Please sign in to comment.