Как написать заголовок при создании нового файла, но опустить его при простом добавлении?

#python

#python

Вопрос:

Я использую эту командную строку для создания файла в режиме добавления, с целью простого добавления новых строк при повторном запуске скрипта. Но как я могу написать заголовок при создании файла?

Это моя команда:

 out_summary_file=os.environ["output_file"]

for sampleId in sampleList:
    pathology = pathology(sampleId)
    insulin_rate = insulin_rate(sampleId, threshold)
    with open(out_summary_file, 'a') as outFile:
        outFile.write('{}t{}t{}n'.format(sampleId, pathology, insulin_rate))
  

Моя цель — получить файл с другой строкой для каждого SampleID, состоящий из 3 столбцов:

 sampleId    pathology    insulin_rate

sampleA     colorrectal  high
sampleB     lung         normal
.           .            .
  

В зависимости от новых данных мне может быть интересно добавить информацию в уже существующий выходной файл или создать новый. Итак, как я могу автоматически записывать заголовок при создании нового файла, просто добавляя при использовании ранее существующего файла?

Комментарии:

1. После открытия проверьте положение файла с помощью outFile.tell() . Если значение равно 0, напишите заголовок.

2. Это сработало.

Ответ №1:

Вы можете сначала проверить, существует ли файл. Если это произойдет, просто добавьте. Если это не так, создайте его с заголовком.

 import os

if os.path.isfile(filename):
    # file exists, just append
else:
    # file doesn't exist, create with header