Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> строки (длина, find и вырезка), объсните на пальцах 
:(
    Опции темы
bel_nikita
  Дата 9.2.2007, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: нет
Всего: 47



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


import os, string

VARIABLE_IN_FILE = "APP_BUILD"
f = open("E:\\Projects\\phar\\atca\\atdm-02\\Projects\\ATDM-02\\application\\version.cpp","r",os.O_TEXT)
data = f.read()
print data
index = string.find(data,VARIABLE_IN_FILE) # string.find вернет число index, но как с ним работать дальше?
stroka = data[index] # хочу присвоить 20 сиволов идущих после index, но как?
print stroka
f.close()



З.Ы.: читал манула, но так и не разобрался...


--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
sir_Jack
Дата 10.2.2007, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 15.1.2007

Репутация: 3
Всего: 4



я такие задачи делаю приблизительно так:

Код

# открываем и читаем файл
f = open('path_to_file','rb')
data = f.read()
f.close()

# ищем подстроку
pos = data.find('APP_BUILD')
#(если не найдем - pos = -1)

# выводим подстроку поиска и 20 символов за ней
my_str = data[pos:pos+len('APP_BUILD')+20]

# или только 20 символов после подстроки поиска
my_str2 = data[pos+len('APP_BUILD'):pos+len('APP_BUILD')+20]

print my_str, my_str2


код писал прямо в окне - могу ошибиться с индексами, нов целом должно работать

data[a:b] - вырезаем из строки data подстроку с символа а по символ b
data[a:] - то же, но с символа а по конец строки
data[:b] - с начала строки по символ b

есть еще отрицательные индексы - суть аналогична smile

рекомендую, если хочешь разобраться с этим вопросом поиграться со строкой data= '0123456789':
data[:5], data[2:7], data[0:1], data[:-4] и пр smile

удачи 
PM MAIL   Вверх
pythonwin
Дата 10.2.2007, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



sir_Jack,  ++1 smile

PM WWW GTalk Jabber   Вверх
V.A.KeRneL
  Дата 11.2.2007, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vadim A. Kazantsev
**


Профиль
Группа: Участник
Сообщений: 291
Регистрация: 3.12.2006
Где: Moscow, Russia

Репутация: нет
Всего: 14



Цитата(bel_nikita)

спасибо
теперь понятно smile

bel_nikita, ну Вы же не новичок, не забывайте, пожалуйста, помечать свои вопросы решёнными, оч.прошу!



--------------------
«C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы»
---/)/)---(\.../)---(\(\
--(':'=)---(=';'=)---(=':')
(")(")..)-(").--.(")-(..(")(")

PM MAIL IM ICQ AOL YIM MSN   Вверх
bel_nikita
Дата 12.2.2007, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: нет
Всего: 47



А как вырезать символ из строки?


--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
diam
Дата 12.2.2007, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 348
Регистрация: 23.1.2005
Где: Екатеринбург

Репутация: 3
Всего: 16



Цитата(bel_nikita @  12.2.2007,  15:09 Найти цитируемый пост)
А как вырезать символ из строки? 

Код

'А как вырезать символ из строки?'[4]

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.