Python에서 파일의 줄 수 가져 오기

Syed Moiz Haider 2023년1월30일
  1. open()sum()함수를 사용하여 Python에서 파일의 행 수 가져 오기
  2. mmap.mmap()메소드를 사용하여 Python에서 파일의 행 수 가져 오기
  3. file.read()메소드를 사용하여 Python에서 파일의 행 수 가져 오기
Python에서 파일의 줄 수 가져 오기

이 튜토리얼은 Python에서 파일의 총 줄 수를 가져 오는 다양한 방법을 보여줍니다. 파일의 총 줄 수를 얻으려면 먼저 버퍼에있는 파일의 데이터를 읽어야합니다. 전체 파일을 한 번에로드하거나 파일 크기가 다음과 같으면 작은 덩어리로 데이터를 읽어야합니다. 큰.

Python에서 다양한 방법을 사용하여 두 가지 접근 방식을 모두 구현하는 방법을 살펴 보겠습니다. 아래에 예제 코드와 함께 설명되어 있습니다.

open()sum()함수를 사용하여 Python에서 파일의 행 수 가져 오기

파일의 줄 수를 얻는 간단한 방법은open()함수에 의해 반환 된 파일 객체의 각 줄을 반복하는 것입니다.

open(file, mode)함수는file을 입력으로 사용하고 파일 객체를 출력으로 반환합니다. file은 문자열 또는 바이트 객체 일 수 있으며 파일 경로를 포함하는 경로 류 객체입니다. mode는 읽기, 쓰기, 추가 모드 등과 같이 파일을 열고 자하는 모드를 나타냅니다.

아래 예제 코드는for루프를 사용하여 Python에서 파일의 행 수를 가져 오는 방법을 보여줍니다.

with open("myFolder/myfile.txt") as myfile:
    total_lines = sum(1 for line in myfile)

print(total_lines)

mmap.mmap()메소드를 사용하여 Python에서 파일의 행 수 가져 오기

mmap.mmap(fileno, length)메소드는fileno로 지정된 파일에서length바이트 수를 매핑하고mmap객체를 반환합니다. length의 값이0이면 맵의 최대 길이는 파일 크기와 같습니다.

mmap.mmap()메소드에 의해 반환 된mmap객체를 사용한 다음mm.readline()메소드를 사용하여 파일 끝에 도달 할 때까지 행에 액세스 할 수 있습니다. 전체 파일을로드하려면length인수로0을 전달합니다.

예제 코드 :

import mmap

with open("myFolder/myfile.txt", "r+") as myfile:
    mm = mmap.mmap(myfile.fileno(), 0)
    total_lines = 0

    while mm.readline():
        total_lines += 1

print(total_lines)

file.read()메소드를 사용하여 Python에서 파일의 행 수 가져 오기

파일 크기가 크고 작은 덩어리로 파일을 읽는 빠른 방법이 필요한 경우file.read()메소드를 사용하여 데이터를 지정된 크기의 버퍼로 바이트 배열로 읽을 수 있습니다.

아래 예제 코드는file.read()메소드를 사용하여 파일 데이터를 버퍼로 읽은 다음이를 반복하여 행 수를 가져 오는 방법을 보여줍니다.

lines = 0
size = 1024 * 1024

with open(r"C:\test\file.txt", "r+") as myfile:
    read_file = myfile.read

    buffer = read_file(size)

    while buffer:
        lines += buffer.count("\n")
        buffer = read_file(size)

if lines != 0:
    lines += 1

print(lines)
Syed Moiz Haider avatar Syed Moiz Haider avatar

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn

관련 문장 - Python File