2016-04-23 3 views
-3

Скажем, у нас есть файл со следующим внутри:сделать файл более читаемым

{{{banana},{kinky},{bronze-spaghetti, 
definitly-not},{legitimate-style, witness, 
drunk}}} 

Я хотел изменить этот файл таким образом, что она выглядит следующим образом:

{{{banana}, 
{kinky}, 
{bronze-spaghetti,definitly-not}, 
{legitimate-style, witness, drunk}}} 

Обратите внимание, что каждая строка заканчивается с },, за исключением последнего. Теперь мой вопрос: как мне это сделать?

+0

Какой файл вы имели в виду? исходный файл? – letmutx

+0

Просто файл, который находится в том же каталоге, что и скрипт – Karatawi

+0

Итак, вы хотите вставить '\ n' после каждого'}, 'sequence? – bereal

ответ

2

вы можете найти регулярное выражение «},» и вставить после него новую линию

редактировать: как предложено СДО, вы можете сделать что-то подобное:

with open('in.txt', 'r') as infile: 
    data=infile.read() 
with open('out.txt', 'w') as outfile: 
    outfile.write(data.replace("\n", "").replace("},", "},\n")) 
1

Я думаю, вы могли бы просто использовать replace (тройные кавычки для строк многострочных):

original_text = """{{{banana},{kinky},{bronze-spaghetti, definitly-not},{legitimate-style, witness, drunk}}}""" 
reformatted = original_text.replace("\n", "").replace("},", "},\n") 
print(reformatted) 

Это можно легко сделать в оболочке:

>>> my_str = """{{{banana},{kinky},{bronze-spaghetti, 
... definitly-not},{legitimate-style, witness, 
... drunk}}}""" 
>>> 
>>> my_str = my_str.replace("\n", "").replace("},", "},\n") 
>>> 
>>> print(my_str) 
{{{banana}, 
{kinky}, 
{bronze-spaghetti,definitly-not}, 
{legitimate-style, witness,drunk}}} 
>>> 
Смежные вопросы