Как убрать символы и вывести в новый txt-файл?
У меня есть файл, в котором много IP-адресов. Пример:
[{'ip': '111.111.111.11'}, {'ip': '222.22.2.222'}]
Как мне убрать символы [{':,}] и сделать запись в новый файл .txt столбиком?
Ответы (2 шт):
Автор решения: Maxim Timakov
→ Ссылка
Этот формат называется JSON
В Вашем случае файл представляет собой список объектов.
Загрузить его в переменную можно использовав json.loads
import json
with open('input.file') as f_ip:
ip_json = f_ip.read()
ip_list = json.loads(ip_json)
Далее работаем с полученным списком ip_list, выделяя нужные поля
with open('result.file', 'w') as f_result:
for ip in ip_list:
print(ip['ip'], file=f_result)
Автор решения: nomnoms12
→ Ссылка
Вы можете воспользоваться функцией ast.literal_eval для парсинга этого выражения в объект Python.
Пример:
from ast import literal_eval
with open('input.txt') as inp:
s = inp.read()
li = literal_eval(s)
with open('output.txt', 'w') as out:
for ip in li:
out.write(ip['ip'] + '\n')