Перезапись файла каждый раз, когда скрипт выполняется, но одновременно добавляется в python - PullRequest
0 голосов
/ 15 января 2019

Итак, у меня есть основной скрипт на python, который по сути вызывает другой скрипт на python с предоставленными аргументами. У меня вопрос, каждый раз, когда он просматривает файлы и записывает в файл, но при этом он добавляет.

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

Мой код для моего основного сценария выглядит следующим образом:

def get_config():
    parser = argparse.ArgumentParser()
    parser.add_argument("-d", "--export-date", action="store", required=True)
    args = parser.parse_args()
    return [args.export_date]

1 Ответ

0 голосов
/ 15 января 2019

Обновление : Хорошо, теперь я понимаю, что вы хотите создавать новый файл каждый раз, когда запускаете свой основной скрипт. В этом случае я бы просто обновил функцию generate_json:

def generate_json(path = get_json_location()):
    open('/path/to/your/file', 'w').close()
    for yml in yml_directory :
        print("Running export for " + yml)
        os.system('python generate_json.py -p' + path + ' -e  yaml/'  + yml + ' -d ' + date)

Забудьте, что я сказал о следующей строке в вашем generate_json.py, и оставьте ее там с аргументом 'a':

with open('dates/' + current_day + '.json', 'a') as file:
...