Reputation: 74124
How do i use the with statement in this case?
f_spam = open(spam,'r')
f_bar = open(eggs,'r')
...
do something with these files
...
f_spam.close()
f_bar.close()
Files number could be greater than two.
Upvotes: 9
Views: 4848
Reputation: 7065
You can also do:
from contextlib import nested
with nested(open(spam), open(eggs)) as (f_spam, f_eggs):
# do something
In Python 2.7 and 3.1+ you don't need the nested
function because with
supports the following syntax:
with open(spam) as f_spam, open(eggs) as f_eggs:
# do something
Upvotes: 18
Reputation: 59397
with open(spam,'r') as f_spam:
with open(eggs,'r') as f_bar:
#do stuff with each
Upvotes: 3