Creating a new file, filename contains loop variable, 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))
Use f = open("file_{0}.dat".format(i),'w')
. Actually, you might want to use something like f = open("file_{0:02d}.dat".format(i),'w')
, which will zero-pad the name to keep it at two digits (so you get "file_01" instead of "file_1", which can be nice for sorting later). See the documentation.