Получить номер строки определенной фразы в файле Python
Мне нужно получить номер строки фразы в текстовом файле. Фраза может быть:
Мне нужно открыть файл, найти его для этой фразы и напечатать номер строки.
Я использую Python 2.6 в Windows XP
Это то, что у меня есть:
Это не домашнее задание, это часть проекта, над которым я работаю. Я даже не знаю, как получить номер строки.
7 ответов
РЕДАКТИРОВАТЬ 1,5 года спустя (увидев, что он получил еще один взлет): я оставляю это как есть; но если бы я писал сегодня, то писал бы что-то поближе к решению Ash/suzanshakya:
Python-сообщество
вот тут люди задаются тем же вопросом
https://stackoverflow.com/questions/845058/how-to-get-line-count-cheaply-in-python
я там насчитал с десяток способов берешь пару тройку файлов разного размера, от пары килобайт до сотни МБ и проганяешь все способы измеряя время таймит-ом.
Отредактировано PEHDOM (Ноя. 10, 2017 14:26:18)
#4 Ноя. 11, 2017 07:51:17
Как узнать номер последней строки файла?
Если нужна скорость — юзай многопотоковое программирование — юзай threading. По крайней мере производительность и скорость моей программы(не скажу какой) увеличилась в x2.5 раз при том, что прога работала в 2-ух потоках, а не в 1-ом(мэйновском потоке).
#5 Ноя. 11, 2017 22:46:25
Как узнать номер последней строки файла?
Спасибо большое всем
#6 Ноя. 11, 2017 22:55:20
Как узнать номер последней строки файла?
damilkrose
ну и как вам блин ваш совет поможет автору? КАК ?
_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com
#7 Ноя. 12, 2017 17:37:25
Как узнать номер последней строки файла?
Под советом “используй threading” я имел в виду, bjiq, что ты можешь сделать свою прогу работающей в нескольких потоках. Подробнее: https://habrahabr.ru/post/149420/
Надо просто содержимое файла по возможности разделить на 2 части для 2-ух потоков.
А твой вариант совсем не плох.
Отредактировано damilkrose (Ноя. 12, 2017 17:38:00)
#8 Ноя. 12, 2017 17:45:36
Как узнать номер последней строки файла?
damilkrose
Объясни на пальцах. Вот есть у нас файл, надо узнать количество строк. Вопрос № 1: как не зная размер файла разбить его на две части? Вопрос № 2: что конкретно должен делать поток № 1 с частью файла № 1.
#9 Ноя. 12, 2017 19:17:28
Как узнать номер последней строки файла?
А по частям для каждого потока. Так дело пойдет гораздо быстрее. И размер тут не имеет особого значения если в деле говориться о строках
P. S. Написал что думаю. Если не прав в чем-то — пожалуйста докажи, и я извинюсь.
Как мне узнать номер строки в файле и забрать из нее данные?
У меня есть 2 файла. В одном и в другом построчно написаны данные. Мне нужно взять определенную строку в одном файле и по номеру строки найти данные в другом файле (может это можно сделать и не по номеру строки). Можете объяснить как это лучше сделать в плане кода. При том что в файлах разные данные и каждая строка одного файла связана с каждой строкой другого. Мне нужно взять данные из второго файла, зная в каком ряду нужные мне данные в первом файле.
Как в текстовом файле найти номер строки с заданным текстом в python?

Причем вторым параметром в enumerate можно передать номер начала отсчёта — например, начать с 1, а не с нуля (по умолчанию). В переменной index будет номер текущей строки.
- Вконтакте
Отдельного нет, но там итак не сложно. Открыть документ, инициализировать счетчик и считывать построчно, проверяя вхождение текста в считанную строку, пока не найдем. Примерно так