Using "with open(filename, 'ab'):" and calling code only if the file is new?
Victor Hooi
victorhooi at gmail.com
Tue Oct 29 21:02:51 EDT 2013
Hi,
I have a CSV file that I will repeatedly appending to.
I'm using the following to open the file:
with open(self.full_path, 'r') as input, open(self.output_csv, 'ab') as output:
fieldnames = (...)
csv_writer = DictWriter(output, filednames)
# Call csv_writer.writeheader() if file is new.
csv_writer.writerows(my_dict)
I'm wondering what's the best way of calling writeheader() only if the file is new?
My understanding is that I don't want to use os.path.exist(), since that opens me up to race conditions.
I'm guessing I can't use try-except with IOError, since the open(..., 'ab') will work whether the file exists or not.
Is there another way I can execute code only if the file is new?
Cheers,
Victor
More information about the Python-list
mailing list