Как найти и заменить элементы в текстовом файле в pyscripter?

Как найти и заменить элементы в текстовом файле в pyscripter?

В сценарии я поместил список в текстовый файл, преобразовав его в строку. теперь в нем есть квадратные скобки. Мне нужно убрать их, чтобы я мог вынести отдельные слова и цифры. Мне нужен скрипт, который позволит мне найти и заменить эти скобки на "ничто".

пожалуйста помоги!

Вот как выглядит мой текстовый файл. 1

1 ответ

Решение

Прежде всего, когда вам нужно сохранить список в файле, используйте JSON, Pickle или эквивалентный. JSON предпочтителен для долговременного хранения, а также для хранения, предназначенного для чтения другими программами или отправки по сети:

import json

my_list = ["hello", "world"]

with open('file.txt', 'w') as f:
    json.dump(my_list, f)

Или, если все, что вы хотите сделать, это сохранить одно слово / предложение / фразу на строку в текстовом формате:

my_list = ["hello", "world"]
with open('file.txt', 'w') as f:
    f.write('\n'.join(my_list))  # assuming your list isn't large
    f.write('\n')

(С другой стороны, засолка хороша для временного / внутреннего хранения, а также для хранения вещей, которые вы не можете преобразовать в форму, которую может обрабатывать JSON; для получения дополнительной информации просто найдите документацию pickle модуль).

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

import ast
import json

with open('file.txt') as f:
    contents = f.read()
contents = ast.literal_eval(contents)  # parses the string as if it were a Pytnon literal (which it is)

with open('file.txt', 'w') as f:
    json.dump(contents, f)  # write back as JSON this time

Если ваш файл содержит несколько списков, каждый на отдельной строке, вы можете использовать это:

import ast
import json

with open('file.txt') as f:
    lines = f.read().split('\n')
contents = [ast.literal_eval(line) for line in lines]

# ...and now choose from above how you'd like to write it back to the file

ПРИМЕЧАНИЕ: о и... это действительно не имеет никакого отношения к pyscripter, если я что-то пропустил.

Другие вопросы по тегам