Мне нужно напечатать содержимое файла Python в файл YAML, без ошибок в отступе файла YAML.Часть файла YAML, которая делает это, представляет собой описание команд, которые будут переданы в сценарий Bash, поэтому нам нужно выполнить это с помощью синтаксиса сценария Bash .Например, следующий жесткий код работает.Обратите внимание, как строка "cat" выводит содержимое файла script.py с соответствующим отступом:
![enter image description here](https://i.stack.imgur.com/X0cT0.png)
Хитрость заключается в получении этого формата, когдапытаясь прочитать Python из другого файла.Фактически, чтобы создать этот скриншот, мне нужно было зайти в файл после его создания и добавить несколько пробелов, чтобы он выглядел правильно.После того, как я добавил пробелы, файл работал как задумано.Вот как выглядит неправильный вывод ДО того, как я вручную его отредактирую:
![enter image description here](https://i.stack.imgur.com/Ohh3E.png)
Интересно, что первая строка питона (зеленая стрелка) начинается с правильнойлиния.Но остальные строки расположены вдоль левого поля и являются неправильными (красная стрелка).
Вот код, который я использую для получения своего кода (в script.py) в buildspec:
Примечание: $ {Script} является ссылкой на мой файл script.py.Эта переменная устанавливается в другом месте файла.
version: 0.2
phases:
install:
commands:
- apt-get update -y
build:
commands:
- git config --global credential.helper '!aws codecommit credential-helper $@'
- git config --global credential.UseHttpPath true
- |
cat >> scrypt.py <<EOL
${Script}
EOL