Obtenha o número de linhas em um arquivo em Python
-
Obtenha o número de linhas em um arquivo em Python usando as funções
open()
esum()
-
Obtenha o número de linhas em um arquivo em Python usando o método
mmap.mmap()
-
Obtenha o número de linhas em um arquivo em Python usando o método
file.read()
Este tutorial demonstrará vários métodos para obter o número total de linhas em um arquivo em Python. Para obter o número total de linhas de um arquivo, primeiro precisamos ler os dados do arquivo em um buffer, e podemos fazer isso carregando o arquivo completo de uma vez ou lendo os dados em pequenos pedaços se o tamanho do arquivo for ampla.
Veremos como podemos implementar ambas as abordagens usando vários métodos em Python, que são explicados a seguir com o código de exemplo:
Obtenha o número de linhas em um arquivo em Python usando as funções open()
e sum()
Uma maneira simples de obter o número de linhas em um arquivo é iterar cada linha do objeto de arquivo retornado pela função open()
.
A função open(file, mode)
leva file
como entrada e retorna um objeto de arquivo como saída. Um file
é um objeto semelhante a um caminho que pode ser uma string ou um objeto bytes e contém o caminho do arquivo. O mode
representa o modo que queremos abrir o arquivo, como ler, escrever, adicionar modo, etc.
O código de exemplo a seguir demonstra como usar o loop for
para obter o número de linhas em um arquivo em Python.
with open("myFolder/myfile.txt") as myfile:
total_lines = sum(1 for line in myfile)
print(total_lines)
Obtenha o número de linhas em um arquivo em Python usando o método mmap.mmap()
O método mmap.mmap(fileno, length)
mapeia o número length
de bytes do arquivo especificado pelo fileno
e retorna um objeto mmap
. Se o valor de length
for 0
, o comprimento máximo do mapa será igual ao tamanho do arquivo.
Podemos usar o objeto mmap
retornado pelo método mmap.mmap()
e então usar o método mm.readline()
para acessar as linhas até chegarmos ao final do arquivo. Como queremos carregar o arquivo completo, passaremos 0
como o argumento length
.
Código de exemplo:
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)
Obtenha o número de linhas em um arquivo em Python usando o método file.read()
Se o tamanho do arquivo for grande e precisarmos de uma maneira rápida de ler o arquivo em pequenos pedaços, podemos usar o método file.read()
para ler os dados como um array de bytes em um buffer com o tamanho especificado.
O código de exemplo a seguir demonstra como ler os dados do arquivo em um buffer usando o método file.read()
e, em seguida, iterar por ele para obter o número de linhas:
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 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.
LinkedInArtigo relacionado - Python File
- Como obter todos os arquivos de um diretório
- Como Anexar Texto a um Arquivo em Python
- Como verificar se um arquivo existe em Python
- Como encontrar ficheiros com uma certa extensão apenas em Python
- Como ler linhas específicas a partir de um arquivo em Python
- Gravar linha por linha em um arquivo usando Python