continue vs. pass in this IO reading and writing
kbtyo
ahlusar.ahluwalia at gmail.com
Thu Sep 3 11:05:31 EDT 2015
Good Morning:
I am experimenting with many exception handling and utilizing continue vs pass. After pouring over a lot of material on SO and other forums I am still unclear as to the difference when setting variables and applying functions within multiple "for" loops.
Specifically, I understand that the general format in the case of pass and using else is the following:
try:
doSomething()
except Exception:
pass
else:
stuffDoneIf()
TryClauseSucceeds()
However, I am uncertain as to how this executes in a context like this:
import glob
import csv
from collections import OrderedDict
interesting_files = glob.glob("*.csv")
header_saved = False
with open('merged_output_mod.csv','w') as fout:
for filename in interesting_files:
print("execution here again")
with open(filename) as fin:
try:
header = next(fin)
print("Entering Try and Except")
except:
StopIteration
continue
else:
if not header_saved:
fout.write(header)
header_saved = True
print("We got here")
for line in fin:
fout.write(line)
My questions are (for some reason my interpreter does not print out any readout):
1. after the exception is raised does the continue return back up to the beginning of the for loop (and the "else" conditional is not even encountered)?
2. How would a pass behave in this situation?
Thanks for your feedback.
Sincerely,
Saran
More information about the Python-list
mailing list