Уведомления

Группа в Telegram: @pythonsu

#1 Март 2, 2018 21:57:44

Kirill_c
Зарегистрирован: 2018-03-02
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна помощь

Есть текстовый документ, каждый абзац начинается с “A(и 4 цифры)”. Необходимо пронумеровать каждый абзац, чтобы получилось, например: 1)AXXXX 2)AXXXX и т.д.

Офлайн

#2 Март 2, 2018 23:28:06

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Нужна помощь

Регулярные выражения (модуль re)



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Март 3, 2018 07:21:31

Kirill_c
Зарегистрирован: 2018-03-02
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна помощь

JOHN_16
Регулярные выражения (модуль re)
Я понял как это сделать с 1 абзацем, но со всеми не получается. И можно ли это реализовать в буфере программы и продолжить работу уже с редактированным буфером?

Офлайн

#4 Март 3, 2018 09:37:39

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Нужна помощь

Kirill_c конкретно что у вас не получаеться? не знаете как циклом по файлу пройти, как счетчик поставить? как найти новый абзац?



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#5 Март 4, 2018 20:58:48

Kirill_c
Зарегистрирован: 2018-03-02
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна помощь

PEHDOM
Kirill_c конкретно что у вас не получаеться? не знаете как циклом по файлу пройти, как счетчик поставить? как найти новый абзац?
Я только начал изучение Python и даётся все пока что сложно. Я разобрался с регулярными выражениями и могу найти абзацы, но с циклом и счётчиком не могу разобраться. И не пойму, обязательно ли создавать новый измененный документ?

Офлайн

#6 Март 4, 2018 23:37:02

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Нужна помощь

Kirill_c
И не пойму, обязательно ли создавать новый измененный документ?
ну формально нужно или полностью считать файл в память, заменить там что нужно и потом перезаписать его, или записывать в новый файл а потом в конце заменить им старый. Но вообще есть варианты.
На самом деле это настолько распростаненный вопрос, что давно уже все разжевано, например
http://blogger.sapronov.me/2013/01/python.html



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#7 Март 5, 2018 01:42:49

Kirill_c
Зарегистрирован: 2018-03-02
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна помощь

PEHDOM
Не могу разобраться, как сделать цикл, чтобы пронумеровать нужные строки

Офлайн

#8 Март 5, 2018 09:56:51

passant
Зарегистрирован: 2018-02-17
Сообщения: 43
Репутация: +  4  -
Профиль   Отправить e-mail  

Нужна помощь

Kirill_c
Не могу разобраться, как сделать цикл, чтобы пронумеровать нужные строки
Если ЭТО представляет сложность, то скорее всего надо начать с чтения ЛЮБОЙ книги по основам Python.

Офлайн

#9 Март 5, 2018 10:28:47

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Нужна помощь

на примере файлинпута:

 import fileinput
file = 'Bookmarks2.txt'
source_text = 'заголовок'
i = 1
for line in fileinput.FileInput(file, inplace = 1):
    if source_text in line:
        line = line.replace(source_text, '{} {}'.format(i, source_text))
        i +=1
    print (line, end = '')
исходный файл:
заголовок: "Новая вкладка",
проcто какойто текст
заголовок: "Панель закладок",
проcто какойто текст какойто текст
проcто какойто текст
заголовок: "Другие закладки",
прото какойто текст
проcто какойто текст
проcто какойто текст
заголовок: "Закладки на мобильном",
Файл после обработки:
1 заголовок: "Новая вкладка",
проcто какойто текст
2 заголовок: "Панель закладок",
проcто какойто текст какойто текст
проcто какойто текст
3 заголовок: "Другие закладки",
прото какойто текст
проcто какойто текст
проcто какойто текст
4 заголовок: "Закладки на мобильном",



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Март 5, 2018 10:29:23)

Офлайн

#10 Март 9, 2018 16:18:52

Kirill_c
Зарегистрирован: 2018-03-02
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Нужна помощь

PEHDOM
на примере файлинпута:
Спасибо большое, вы мне очень помогли

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version