Как узнать номер строки и вывести ее

задача состоит в том, если имеется слово которое ввел пользователь, вывелся номер строки и вся целая строка, как это реализовать?
| Здесь вы можете заказать любую студенческую или школьную работу. |
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как узнать номер следующей строки в DataGridView и вывести номер в textbox
Допустим у нас есть таблица и в ней заполнено две строки, тогда в текстбоксе мы должны получить.
Как узнать номер строки без проверки каждой строки
Можно ли как-то узнать номер строки в которой содержится определённый символ без for-сирования? То.
Узнать id последней вставленной строки в БД, если такая строка уже существует вывести ее номер
То есть в БД есть таблица `документ` с такими полями: Код документа | Наименование документа |.
Как узнать номер строки в ListBox?
У меня есть на форме несколько ListBox и я хочу чтобы при удалении строчки из одного ListBox.
Как узнать номер текущей строки?
Есть форма в виде таблицы. Надо узнать номер текущей строки. Как это сделать? Есть какая то функция?
Am I evil? Yes, I am!
![]()
![]()
16675 / 9964 / 2758
Регистрация: 21.10.2017
Сообщений: 21,890
Очевидно, перебирать строки. И при искомом совпадении вывести строку и номер.
enumerate и readlines в помощь
Регистрация: 16.09.2021
Сообщений: 88
iSmokeJC, все круто здорово, но вот он ищет только по первому слову из строки, а у меня к примеру есть база, как сделать поиск по всем словам из текстового документа?
Am I evil? Yes, I am!
![]()
![]()
16675 / 9964 / 2758
Регистрация: 21.10.2017
Сообщений: 21,890
Перебирать эти слова в цикле и искать.
Или в человеческую БД положить и искать средствами самой БД.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Как узнать номер счетчика у строки
Здравствуйте! есть бд типографии, и есть таблица с заказами. В ней столбцы( id_zakaz, id_uslygi.

Как вывести номер строки и номер столбца минимального числа матрицы в label?
достаточно ли будет просто указать? label1.caption:=floattostrf(matrxix, fffixed,10,2);.
Как узнать порядковый номер строки Interbase
Есть таблица без уникальных чисел,содежащая в себе 2 столбца,один стринг другой интегер, который.
Как узнать номер последней строки Memo
Подскажите как узнать в memo1 номер последней строчки .
Как узнать номер строки в файле по слову?
как узнать номер строки в файле по слову на C#
Как узнать номер последней строки с данными?
На листе много данных и это — постоянно меняющаяся величина. До сего момента пользовался двумя.
Или воспользуйтесь поиском по форуму:
Python: Как узнать количество строк текстового файла
Я хочу узнать количество строк текстового файла. Как мне это сделать?
Поделиться Источник 07 июля 2011 в 00:58
4 ответа
если перебираете файл:
for line_no, line in enumerate(f, start=1):
или если подсчитываете строки в файле ( f ):
count = sum( 1 for line in f )
Поделиться 07 июля 2011 в 01:01
f = open('textfile.txt', 'rb') len(f.readlines())
Метод readlines() возвращает список, где каждый индекс содержит строку textfile.txt.
Поделиться 07 июля 2011 в 01:05
f = open("file.text") count = sum(1 for line in f)
count = 0 for line in f: count+=1
Поделиться 07 июля 2011 в 01:10
Как сказал @Dan D., вы можете использовать enumerate() в открытом файле. По умолчанию начинайте подсчет с 0, поэтому, если вы хотите начать подсчет строк с 1 (или что-то еще), используйте аргумент start при вызове enumerate(). Кроме того, считается плохой практикой использовать «file» в качестве имени переменной, так как есть функция с таким именем . Таким образом, попробуйте что-то вроде:
for line_no, line in enumerate(open(file_name), start=1): print line_no, line
Поиск в файле и вывод индекса
Добрый день. Не могу одолеть простую проблемму((. В файле нужно найти ‘Информация предоставлена\n’ и получть индекс. Делаю так:
word = 'Информация предоставлена\n' file = open('log.txt').readlines() c = [] for line in file: if word in line: c.append(file.index(word)) print (c)
[164, 164, 164]
То есть, в файле действительно есть три раза ‘Информация предоставлена\n’ и это верно, но почему он мне только первый индекс добавляет в список? Когда нужно, что бы был список из индексов всех трех(или сколько найдет) этих элементов. Есть вариант, допустим если найдет в первый раз добавить в список, удалить, при следующем проходе найти, добавить, удалить и т.д., но это получается кастыль. Наверно можно сделать проще. Помогите! PS. Извените за нубский вопрос.
lexlex361
31.08.16 01:16:52 MSK

Потому, что index каждый раз у тебя возвращает первое вхождение подстроки в строке. Т.е у тебя фраза про твою информацию предоставлена начинается с 164 позиции в каждой найденной строке файла.
menangen ★★★★★
( 31.08.16 01:20:36 MSK )

menangen ★★★★★
( 31.08.16 01:22:12 MSK )
Ответ на: комментарий от menangen 31.08.16 01:20:36 MSK
Потому, что index каждый раз у тебя возвращает первое вхождение подстроки в строке. Т.е у тебя фраза про твою информацию предоставлена начинается с 164 позиции в каждой найденной строке файла.
Поправлю чуток: фраза в 164 позиции списка file, а не строки.
pi11 ★★★★★
( 31.08.16 03:51:26 MSK )
def find_pattern_indices(file, pattern): s = open(file).read() i = s.find(pattern) while i >= 0: yield i i = s.find(pattern, i + len(pattern)) g = find_pattern_indices('log.txt', 'Информация предоставлена\n') print(list(g))
Через регулярочки тоже можно.
А для чего тебе индекс понадобился, а?
anonymous
( 31.08.16 05:00:35 MSK )
Ответ на: комментарий от anonymous 31.08.16 05:00:35 MSK
Мне показалось или я сейчас затупил?
anonymous
( 31.08.16 05:08:15 MSK )

Если индекс в строке, то поменяй
qI__Ip
( 31.08.16 07:16:03 MSK )

Тебе нужен именно индекс в файле, индекс в строке или номер строки?
Судя по for line in file: и if word in line , ты хочешь не индекс в файле, а номер строки? Потому что в твоём случае если в строке встречается дважды, код не будет работать. Если тебе нужен номер строки, то твой код можно исправить так:
word = 'Информация предоставлена\n' file = open('log.txt').readlines() # FIXME: `with open() as` c = [n for n, line in enumerate(file) if word in line] print(c)
Будут получены номера строк, в которых имеется исходная строка. Проверь, такой ли тебе нужен результат.
Если же тебе всё же нужны именно индексы во всём файле, то смотри выше ответ анонимуса. Тебе не нужно readlines, тебе нужно read и рассматривать файл как строку. Если ты начинающий, и тебя смущает yield, то вот более топорный вариант:
FILENAME = 'log.txt' WORD = 'Информация предоставлена\n' with open(FILENAME) as f: data = f.read() i = 0 # start from beginning of file c = [] while True: i = data.find(WORD, i) if i == -1: break c.append(i) i += 1 print(c)
И присоединюсь к вопросу: а зачем тебе вообще этот индекс?
Psych218 ★★★★★
( 31.08.16 07:29:50 MSK )
Ответ на: комментарий от Psych218 31.08.16 07:29:50 MSK
Спасибо за отыеты, сейчас попробую варианты. Мне нужен индекс, для того что бы от него потом отсчитать -4 индекса и получить уникальный номер из файла который там выше, эта структура в фале не меняется. То есть идея такая находим ‘Информация предоставлена’ получаем индекс от него высчитываем индекс -4 и по индесам печататем оба значения.
lexlex361
( 31.08.16 08:49:21 MSK ) автор топика
Ответ на: комментарий от lexlex361 31.08.16 08:49:21 MSK

«Уникальный номер» этот из 4 символов что ли? То есть, надо 4 символа, предшествующих «Информация предоставлена», и так каждый раз?
with open('log.txt') as f: data = f.read() nums = [x[-4:] for x in data.split("Информация предоставлена")] print(nums)
Также можно сделать это регэкспами.
Psych218 ★★★★★
( 31.08.16 08:53:54 MSK )
Последнее исправление: Psych218 31.08.16 08:58:35 MSK (всего исправлений: 3)
Ответ на: комментарий от Psych218 31.08.16 08:53:54 MSK
Нет наверно не правильно выразился, вот ваш код:
word = 'Информация предоставлена\n' file = open('log.txt').readlines() # FIXME: `with open() as` c = [n for n, line in enumerate(file) if word in line] print(c)
вывод:[164, 194, 224] Я сейчас еще дописал только принт по найденысм параметрам:
word = 'Информация предоставлена\n' file = open('log.txt').readlines() # FIXME: `with open() as` c = [n for n, line in enumerate(file) if word in line] for i in c: print (file[i],file[i - 4])
И получаю практичеки то что нужно.
Информация предоставлена 592 Информация предоставлена 19465 Информация предоставлена 19851
дальше только осталось вывод загнать в новую переменную и там дальше ее отправлять по почте.
Как мне узнать номер строки в файле и забрать из нее данные?
У меня есть 2 файла. В одном и в другом построчно написаны данные. Мне нужно взять определенную строку в одном файле и по номеру строки найти данные в другом файле (может это можно сделать и не по номеру строки). Можете объяснить как это лучше сделать в плане кода. При том что в файлах разные данные и каждая строка одного файла связана с каждой строкой другого. Мне нужно взять данные из второго файла, зная в каком ряду нужные мне данные в первом файле. Первый файл:
14CaBzRbZDuGJCAdu9CZsbrCfyv4K7f7sf;31 0xd4FD252d7D2C9479a8d616F510eAC6243B5DDdf9;3 3Dxvjt7N8sbeUoTbASF5dBqEeSMc1o7Pk1;12 0x944680402B2Ba554f978714b6039755ED10e7466;8
Второй файл:
0.0 0.0 7.91778246 0.5476858867775038
Отслеживать
задан 4 авг 2020 в 8:15
71 1 1 серебряный знак 7 7 бронзовых знаков
readlines() читает строки и выдает их в виде списка, откуда элементарно взять по номеру любую строку.
4 авг 2020 в 8:31
@Эникейщик А как мне узнать номер строки в первом файле?