как пропустить первую строку в python с помощью функции read ()? - PullRequest
1 голос
/ 16 июня 2020

Я просто хотел узнать, есть ли способ пропустить первую строку текстового файла, ТОЛЬКО используя read () для чтения файла, а НЕ readlines ()

Ответы [ 5 ]

1 голос
/ 16 июня 2020

Вам нужно будет как-то перебирать файл, чтобы решить, когда вы добрались до строки. Но вы можете использовать readline вместо readlines, чтобы просто прочитать одну строку , а не все строки из файла. Это почти наверняка то, что вы хотите:

fd = open('file.txt')
first_line = fd.readline()    #
rest_of_file = fd.read()     # All but the first line

Обратите внимание, что это не множественное число. readline вместо строки чтения s

0 голосов
/ 16 июня 2020

Вызов next() на дескрипторе файла:


with open('file.txt') as f_in:
    next(f_in)  # skip the first line
    print(f_in.read())

0 голосов
/ 16 июня 2020

Если вы ограничены использованием только read(), вы можете сделать это в al oop, указав размер в качестве аргумента для read(). Если вы дойдете до разделителя новой строки '\n', вы можете выйти из l oop, когда вы достигли конца первой строки.

with open('file.txt') as f:
    char = f.read(1)
    while char != '\n':
        char = f.read(1)
0 голосов
/ 16 июня 2020

Вот способ :)

file = open('path/file.txt','r')
lines = file.readlines()[1:] #this will skip 1st line
0 голосов
/ 16 июня 2020

Строка чтения - правильный способ сделать это, поскольку ваша цель - добиться этого без строки чтения, вы можете сделать это с помощью os.linesep :

import os

fpath = __file__

with open(fpath, 'r') as f:
  candidate = None
  while candidate != os.linesep:
    try:
        candidate = f.read(1)
        print("Read a character:", candidate)
    except Exception:
        break
  content_after_first_line = f.read()

print(content_after_first_line)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...