I don't understand what's happening when the following function is called:
def doSmth(inFile):
print inFile
with open(inFile,'r') as trainSet:
for instLine in trainSet:
# do smth
yield instLine
why when the last line with yield is removed there's an error that the file doesn't exist (it really doesn't exist). Whereas, when I have the line , there's no error. Another question, why in the second case, print inFile has no effect while it has in the first case. Thanks.