Writing Functions in Python
Shayne Miel
Software Architect @ Duo Security
def copy(src, dst): """Copy the contents of one file to another. Args: src (str): File name of the file to be copied. dst (str): Where to write the new file. """
# Open the source file and read in the contents with open(src) as f_src: contents = f_src.read() # Open the destination file and write out the contents with open(dst, 'w') as f_dst: f_dst.write(contents)
with open('my_file.txt') as my_file:
for line in my_file:
# do something
def copy(src, dst): """Copy the contents of one file to another. Args: src (str): File name of the file to be copied. dst (str): Where to write the new file. """
# Open both files with open(src) as f_src: with open(dst, 'w') as f_dst:
# Read and write each line, one at a time for line in f_src: f_dst.write(line)
def get_printer(ip): p = connect_to_printer(ip) yield # This MUST be called or no one else will # be able to connect to the printer p.disconnect() print('disconnected from printer')
doc = {'text': 'This is my text.'} with get_printer('10.0.34.111') as printer: printer.print_page(doc['txt'])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
printer.print_page(doc['txt'])
KeyError: 'txt'
try: # code that might raise an error except: # do something about the error
finally: # this code runs no matter what
def get_printer(ip): p = connect_to_printer(ip) try: yield finally: p.disconnect() print('disconnected from printer')
doc = {'text': 'This is my text.'} with get_printer('10.0.34.111') as printer: printer.print_page(doc['txt'])
disconnected from printer
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
printer.print_page(doc['txt'])
KeyError: 'txt'
Open | Close |
Lock | Release |
Change | Reset |
Enter | Exit |
Start | Stop |
Setup | Teardown |
Connect | Disconnect |
Writing Functions in Python