Новый для python и пытается изучить канаты ввода/вывода файлов.
Работа с вытягиванием линий из большого файла (2 миллиона строк) в этом формате:
56fr4
4543d
4343d
hirh3
Я читал, что readline() лучше, потому что он не вытаскивает весь файл в память. Но когда я пытаюсь прочитать документацию на нем, похоже, это только Unix? И я нахожусь на Mac.
Могу ли я использовать readline на Mac без загрузки всего файла в память? Какой синтаксис должен был бы просто читать номер 3 в файле? Примеры в документах немного над моей головой.
редактировать
Вот функция для возврата кода:
def getCode(i):
with open("test.txt") as file:
for index, line in enumerate(f):
if index == i:
code = # what does it equal?
break
return code
Вам не нужно readline
:
with open("data.txt") as file:
for line in file:
# do stuff with line
Это будет читать весь файл по строкам, но не все сразу (так что вам не нужна вся память). Если вы хотите прервать чтение файла, потому что вы нашли нужную строку, используйте break
для завершения цикла. Если вы знаете индекс нужной строки, используйте это:
with open("data.txt") as file:
for index, line in enumerate(file):
if index == 2: # looking for third line (0-based indexes)
# do stuff with this line
break # no need to go on
+1 @SpaceC0wb0y
Вы также можете сделать:
f = open('filepath')
f.readline() # first line - let it pass
f.readline() # second line - let it pass
third_line = f.readline()
f.close()