Привет друзья !
Подскажите решить одну проблему
Делаю скрипт который добавляет в yaml файл новый item через модуль ruamel.yaml . item добавляется корректно проблема заключается в добавлении комментария к новому айтему. В функции add_user вычисляю число айтема number = len(environment) это число последнего айтема что был добавлен в list, передаю в следущую функцию commnet_user что бы прокоментировать новый item, но это не срабатывает не пойму почему модуль ruamel.yaml не хочет брать это число с переменной number и добавить комментарий к новому айтему. Если я укажу число в функцию commnet_user(5) например то так работает . Не могу понять что не так с переменной number = len(environment) .
Помогите решить данную проблему
Заранее благодарен !
Прилагаю скрипт
test.yaml
======================
Подскажите решить одну проблему
Делаю скрипт который добавляет в yaml файл новый item через модуль ruamel.yaml . item добавляется корректно проблема заключается в добавлении комментария к новому айтему. В функции add_user вычисляю число айтема number = len(environment) это число последнего айтема что был добавлен в list, передаю в следущую функцию commnet_user что бы прокоментировать новый item, но это не срабатывает не пойму почему модуль ruamel.yaml не хочет брать это число с переменной number и добавить комментарий к новому айтему. Если я укажу число в функцию commnet_user(5) например то так работает . Не могу понять что не так с переменной number = len(environment) .
Помогите решить данную проблему
Заранее благодарен !
Прилагаю скрипт
test.yaml
Код:
list:
- itme1
- item2
- user@example.com
======================
Код:
import sys
import ruamel.yaml
yaml = ruamel.yaml.YAML()
f = open("test.yaml", "r")
data = yaml.load(f)
environment = data['list']
def add_user(user_name):
global number
environment.append(user_name)
number = len(environment)
def commnet_user(number):
environment.yaml_add_eol_comment('comment 4', key=number)
with open('test.yaml','w') as out_yamlfile:
yaml.dump(data, out_yamlfile)
add_user('user@example.com')
commnet_user(number)
Последнее редактирование: