blob: dc5a9efc9477a730fb34c9ac8a0773bfdeb8c42d [file] [log] [blame]
# Copyright 2016 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import os
def MergeFiles(dest_file, source_files):
"""Merge list of files into single destination file.
Args:
dest_file: File to be written to.
source_files: List of files to be merged. Will be merged in the order they
appear in the list.
"""
if not os.path.exists(os.path.dirname(dest_file)):
os.makedirs(os.path.dirname(dest_file))
try:
with open(dest_file, 'w') as dest_f:
for source_file in source_files:
with open(source_file, 'r') as source_f:
dest_f.write(source_f.read())
except Exception as e: # pylint: disable=broad-except
# Something went wrong when creating dest_file. Cleaning up.
try:
os.remove(dest_file)
except OSError:
pass
raise e