Python Encontrar Cordel em Ficheiro

Syed Moiz Haider 30 janeiro 2023
  1. Utilize o ficheiro readlines() Método para encontrar uma string num ficheiro em Python
  2. Utilize o ficheiro read() Método para procurar uma string num ficheiro em Python
  3. Utilize o método find para procurar uma string num ficheiro em Python
  4. Utilize o módulo mmap para procurar uma string num ficheiro em Python
Python Encontrar Cordel em Ficheiro

O tutorial explica como encontrar uma string específica num ficheiro de texto em Python.

Utilize o ficheiro readlines() Método para encontrar uma string num ficheiro em Python

O método Pyton readlines() devolve o conteúdo do ficheiro dividido para uma lista pela nova linha. Podemos utilizar o laço for para iterar através da lista e utilizar o operador in para verificar se a string está na linha em cada iteração.

Se a string for encontrada na linha, devolve True e quebra o laço. Se a string não for encontrada após a iteração de todas as linhas, retorna False eventualmente.

Um código de exemplo para esta abordagem é dado abaixo:

file = open("temp.txt", "w")
file.write("blabla is nothing.")
file.close()


def check_string():
    with open("temp.txt") as temp_f:
        datafile = temp_f.readlines()
    for line in datafile:
        if "blabla" in line:
            return True  # The string is found
    return False  # The string does not exist in the file


if check_string():
    print("True")
else:
    print("False")

Resultado:

True

Utilize o ficheiro read() Método para procurar uma string num ficheiro em Python

O método read() devolve o conteúdo do ficheiro como uma string completa. Depois podemos utilizar o operador in para verificar se a string está na string devolvida.

Um código de exemplo é dado abaixo:

file = open("temp.txt", "w")
file.write("blabla is nothing.")
file.close()


with open("temp.txt") as f:
    if "blabla" in f.read():
        print("True")

Resultado:

True

Utilize o método find para procurar uma string num ficheiro em Python

Um método find simples pode ser utilizado com o método read()para encontrar a string no ficheiro. O método find é passado a string necessária. Retorna 0 se a string for encontrada e -1 se a string não for encontrada.

Um código de exemplo é dado abaixo.

file = open("temp.txt", "w")
file.write("blabla is nothing.")
file.close()

print(open("temp.txt", "r").read().find("blablAa"))

Resultado:

-1

Utilize o módulo mmap para procurar uma string num ficheiro em Python

O módulo mmap também pode ser utilizado para encontrar uma string num ficheiro em Python e pode melhorar o desempenho se o tamanho do ficheiro for relativamente grande. O método mmap.mmap() cria um objecto semelhante a uma string em Python 2 que verifica apenas o ficheiro implícito e não lê o ficheiro inteiro.

Um código de exemplo em Python 2 é dado abaixo:

# python 2

import mmap

file = open("temp.txt", "w")
file.write("blabla is nothing.")
file.close()

with open("temp.txt") as f:
    s = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)
    if s.find("blabla") != -1:
        print("True")

Resultado:

True

Contudo, em Python3 e superior, o mmap não se comporta como o objecto semelhante a uma string, mas cria um objecto bytearray. Assim, o método find procura por bytes e não por strings.

Um código de exemplo para isto é dado abaixo:

import mmap

file = open("temp.txt", "w")
file.write("blabla is nothing.")
file.close()

with open("temp.txt") as f:
    s = mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ)
    if s.find(b"blabla") != -1:
        print("True")

Resultado:

True
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

Artigo relacionado - Python String

Artigo relacionado - Python File