I want to run a function over a loop and I want to store the outputs in different files, such that the filename contains the loop variable. Here is an example
for i in xrange(10):
f = open("file_i.dat",'w')
f.write(str(func(i))
f.close()
How can I do it in python?
解决方案
Simply construct the file name with + and str. If you want, you can also use old-style or new-style formatting to do so, so the file name can be constructed as:
"file_" + str(i) + ".dat"
"file_%s.dat" % i
"file_{}.dat".format(i)
Note that your current version does not specify an encoding (you should), and does not correctly close the file in error cases (a with statement does that):
import io
for i in xrange(10):
with io.open("file_" + str(i) + ".dat", 'w', encoding='utf-8') as f:
f.write(str(func(i))