Detecting the first time I open/append to a file

tkpmep at hotmail.com tkpmep at hotmail.com
Tue Sep 23 14:02:03 EDT 2008


I have a simulation that runs many times with different parameters,
and I want to aggregate the output into a  single file with one rub: I
want a header to be written only the first time. My program looks a
bit like this:

def main():
    for param in range(10):
        simulate(param)

def simulate(parameter):
    'Lots of code followed by:
    with open(summaryFn, 'ab') as f:
        writer = csv.writer(f)
        writer.writerow(header)
        writer.writerow(Sigma)


If I can sense that the file is being created in the first iteration,
I can then use an if statement to decide whether or not I need to
write the header. Question: how can I tell if the file is being
created or if this its the first iteration? It's unrealistic to test
the value of the parameter as in the real problem, there are many
nested loops in main, and the bounds on the loop indices may change.

Thanks in advance for your assistance

Thomas  Philips



More information about the Python-list mailing list