Skip to content Skip to sidebar Skip to footer

How To Give A Name For A File?

For every iteration in my loop for, I need to give 'the number of my iteration' as a name for the file, for example, the goal is to save: my first iteration in the first file. my s

Solution 1:

Create your file name from the line number:

for line, a inenumerate(Plaintxt_file):
    fileName = r'C:\Users\My_resul\Win_My_Scripts\file_{}.npy'.format(line)
    np.save(fileName, Result)

This start with file name file_0.npy. If you like to start with 1, specify the starting index in enumerate:

for line, a in enumerate(Plaintxt_file, 1):

Of course, this assumes you don't need line starting with 0 anywhere else.

Solution 2:

I'm not 100% sure what your issue is, but as far as I can tell, you just need some string formatting for the filename.

So, you want, say 100 files, each one created after an iteration. The easiest way to do this would probably be to use something like the following:

for line, a inenumerate():
    #do work
    filename = "C:\\SaveDir\\OutputFile{0}.txt".format(line)
    np.save(filename, Result)

That won't be 100% accurate to your needs, but hopefully that will give you the idea.

Solution 3:

If you're just after, say, 100 blank files with the naming scheme "0.npy", "1.npy", all the way up to "n-1.npy", a simple for loop would do the job (no need for numpy!):

n = 100for i inrange(n):
    open(str(i) + ".npy", 'a').close()

This loop runs for n iterations and spits out empty files with the filename corresponding to the current iteration

Solution 4:

If you do not care about the sequence of the files and you do not want the files from multiple runs of the loop to overwrite each other, you can use random unique IDs.

from uuid import uuid4
# ...    
for a in Plaintxt_file:
    fileName = 'C:\\Users\\My_resul\\Win_My_Scripts\\file_{}.npy'.format(uuid4())
    np.save(fileName, Result)

Sidenote: Do not use raw strings and escaped backslashes together. It's either r"C:\path" or "C:\\path" - unless you want double backslashes in the path. I do not know if Windows likes them.

Post a Comment for "How To Give A Name For A File?"