#python #dictionary #format #yaml #dump
#python #словарь #формат #yaml #дамп
Вопрос:
У меня возникли проблемы с поиском информации о том, как я могу отформатировать то, что мне нужно, чтобы сохранить данные файла с таким типом и форматированием. Используя комментарии внутри него, а также словарь.
Я не использую PyYAML, просто стандартный импорт yaml.
#Frequency of updates in seconds ********LIVE-UPDATEABLE********
interval: 30
#Trading Dilution coins only
dilution_only: yes
#What coins do you want to trade with? ALL, Dilution, or Whitelist is EXAMPLE: ETH,XTZ,XLM
#coins_trading: ETH,ICX,LTC,MCO,ALGO,THETA,ETC,ENJ,XLM,PPT,XTZ,BAND
coins_trading: All
Это то, что я пытаюсь вывести в Yaml. Я прочитал этот yaml таким образом, и я вношу некоторые изменения в некоторые значения, а затем планирую выгрузить весь файл обратно в yaml.
Если только кто-то не знает способ изменить только значения на ключи в yaml. Это было бы идеально. Если бы я мог просто изменить интервал: 20 или один из других. Я не нашел метода или способа сделать это.
Ответ №1:
Изучив, как это форматировать, я обнаружил, что Yaml не работает со строками с комментариями и не сохраняет никакой структуры, поскольку функционирует как словарь. Таким образом, строки не упорядочены. Это становится чем-то совершенно другим.
В то время как я не смог найти форматирование, обновление определенного значения точно так же, как и все остальное.
import yaml
with open('file1', 'rU') as f:
data = yaml.load(f)
data['devices'] = updated_data
with open('file1', 'w') as f:
yaml.dump(data, f)
И это позволит вам изменить значение и записать обратно в yaml. Файл не будет возвращен в любом определенном порядке, и если какие-либо комментарии были там изначально, их больше не будет.