#python #python-3.x #pyyaml #txt
#python #python-3.x #pyyaml #txt
Вопрос:
У меня есть текстовый файл с отступом, и я хочу, чтобы этот текстовый файл был преобразован в YAML с точной идеей.
Ниже приведен мой текстовый файл по имени Source.txt
source:
dialect:sql
host:RATDegeggPRD
user:454the6yht
pass:4fghrthrthrt6h
auth:ldap
database: "rvvrrf"
queries: ["wrfrfrgvrv.sql"]
autoInfer: true
rows: -1
target:
database: "ddfcvdss"
schema: "dev"
queryTables: ["vrvrfre"]
mode: "write"
logfile: "rttcfdwee.log"
Теперь я хочу этот файл, но в формате YAML с точной идентификацией.
ниже то, что я пытался сделать
from pathlib import Path
import yaml
src_yaml = open("Source.txt", "r")
yaml_source = src_yaml.read()
in_file = Path('Source.txt')
out_file = in_file.with_suffix('.yaml')
yaml.dump(yaml_source, out_file)
Теперь этот код генерирует файл YAML со всеми » n» между ними.
Добавление моего примера вывода ниже
"source:ntdialect:teradatanthost:RATDegeggPRDntuser:454the6yhtntpass:4fghrthrthrt6hn
tauth:ldapn database: "SCMAIN_V"n queries: ["vrervvrec.sql"
]n autoInfer: truen rows: -1nntarget:n database: "vrerevr"n schema: "
dev"n queryTables: ["vrrrev"]nnmode: "write"nlogfile:
"fsefsfds.log"n"
Мне не нужны все эти n или подобные вещи. Я хочу точный отступ
Ответ №1:
with open("source.txt", "r") as source, open("dest.yml", "wb") as dest:
dest.write(source.read())
Это сработало для меня.
Комментарии:
1. @aminuowale «ошибка типа: требуется объект, подобный байтам, а не «str»» Для меня он показывает эту ошибку.
2. спасибо, чувак, это сработало. Просто нужно было удалить b из «wb»
3. Если вы можете проголосовать, пожалуйста, сделайте это. Поскольку теперь он отрицательный