Open4

構成管理ツール

karamawanukaramawanu
mergeenv.py
import sys

# .envファイルを読み込む関数
def read_env(file_path):
    env_vars = {}
    with open(file_path) as f:
        for line in f:
            if '=' in line and not line.startswith('#'):
                key, value = line.strip().split('=', 1)
                env_vars[key] = value
    return env_vars

# .envファイルを書き込む関数
def write_env(file_path, env_vars):
    with open(file_path, 'w') as f:
        for key, value in env_vars.items():
            f.write(f"{key}={value}\n")

# 複数の.envファイルをマージして連結する関数
def merge_env_files(output_env_file, input_env_files):
    final_env = {}
    
    for env_file in input_env_files:
        env_vars = read_env(env_file)
        final_env.update(env_vars)
    
    # 結果をファイルに書き込む
    write_env(output_env_file, final_env)

# メイン処理:コマンドライン引数を利用
if __name__ == "__main__":
    if len(sys.argv) < 3:
        print("Usage: python merge_env.py output_env_file input_env_file1 input_env_file2 ...")
        sys.exit(1)

    output_env_file = sys.argv[1]
    input_env_files = sys.argv[2:]

    merge_env_files(output_env_file, input_env_files)