Уведомления

Группа в Telegram: @pythonsu

#1 Май 22, 2012 18:55:32

PythonStriker
От:
Зарегистрирован: 2012-02-25
Сообщения: 33
Репутация: +  0  -
Профиль   Отправить e-mail  

Чтение строки до определенного символа.

Здравствуйте. Мне нужна помощь в решении одной трудноватой для меня задачки. Допустим есть файл со строками
Size: 240x400;
Name: Window;
Resizable: False, False;

Имя файла допустим… Sets.cfg
Я открываю и читаю данный файл(полностью -
f = open(“.\Sets.cfg”,“r”)
Reading = f.read()
)
Так.. Допустим я создаю переменную GetSize,И мне надо методом поиска внести в переменную 240x400. Т.е. найти нужную строку и прочитать типо вот так Reading(Начальный символ:Конечный символ).На скобки не ругайтесь просто не видно квадратных скобок. Но вот как указать этот самый начальный символ и конечный, тем самым прочитать то что между ними я не знаю.
P.S. Найти не проблемма берем и ищем Reading.find(“Size: ”) Т.е. питон нам ищет начало фразы - 0 символ.
И дальше как произвести поиск. Только проблемма в том что Size в файле может быть изменен человеком из вне.



Отредактировано PythonStriker (Май 22, 2012 18:56:53)

Офлайн

#2 Май 22, 2012 19:02:26

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

Чтение строки до определенного символа.

Регекспы же

m = re.search('\[.*?\]', string)
if m:
    found = re.group(1)



Офлайн

#3 Май 23, 2012 02:37:58

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Чтение строки до определенного символа.

import re
 
def f(s):
    mo = re.match(r'Size: *\[(\d+x\d+)\]', s, re.I)
    if mo:
        return mo.group(1)

>>> line = 'Size: [240x400];\n'
>>> print(f(line))
240x400
>>> 



Отредактировано py.user.next (Май 23, 2012 02:47:44)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version