Sayth Renshaw wrote, on January 03, 2017 5:55 PM > > On Wednesday, 4 January 2017 12:36:10 UTC+11, Sayth Renshaw wrote: > > So can I call the generator twice and receive the same file > twice in 2 > > for loops? > > > > Once to get the files name and the second to process? > > > > for file in rootobs: > > base = os.path.basename(file.name) > > write_to = os.path.join("output", > os.path.splitext(base)[0] + ".csv") > > with open(write_to, 'w', newline='') as csvf: > > for file in rootobs: > > # create and write csv > > > > Cheers > > > > Sayth > > I just need it to write after each file however the > > with open(#file) as csvf: > > Keeps it all open until every file processed in an output > file with the name of the first file in the generator. >
In that case, I think you just need to devise your output file name scheme, and it looks like you want to use 'os.path.splitext(base)[0] + ".csv")'. Then output each file in the same for loop, before you go back for another input file. Just read in the file, do whatever you want to it, and then write it to the new file name, all in the same loop. I don't see any need to loop through rootobs a second time. -- https://mail.python.org/mailman/listinfo/python-list