Предполагая, что строка всегда начинается с tags:
, вы можете сделать следующее:
with open('data.md') as fin: # change to your file path
with open('result.md', 'w') as fou:
for line in fin:
if line.startswith('tags:'):
tags = line.split(':')[1].split()
line = f'tags: {tags}\n'
fou.write(line)
Выход (result.md)
---
layout: post
title: "Blog title"
date: 2016-02-24 09:39:00 -0500
tags: ['work', 'career', 'code', 'programming']
layout: post
---
Идея состоит в том, чтобы преобразовать строку в список, используя split , и записать ее обратно, используя представление строки списка.
Если вам нужно, чтобы строки были заключены в двойные кавычки Вы можете использовать json .dumps , например:
import json
with open('data.md') as fin: # change to your file path
with open('result.md', 'w') as fou:
for line in fin:
if line.startswith('tags:'):
tags = json.dumps(line.split(':')[1].split())
line = f'tags: {tags}\n'
fou.write(line)
Выход (с двойными кавычками)
---
layout: post
title: "Blog title"
date: 2016-02-24 09:39:00 -0500
tags: ["work", "career", "code", "programming"]
layout: post
---