Python Trova stringa nel file
-
Usa il metodo File
readlines()
per trovare una stringa in un file in Python -
Usa il metodo File
read()
per cercare una stringa in un file in Python -
Usa il metodo
find
per cercare una stringa in un file in Python -
Usa il modulo
mmap
per cercare una stringa in un file in Python
![Python Trova stringa nel file](/img/Python/feature-image---python-find-string-in-file.webp)
Il tutorial spiega come trovare una stringa specifica in un file di testo in Python.
Usa il metodo File readlines()
per trovare una stringa in un file in Python
Il metodo readlines()
del file Pyton restituisce il contenuto del file diviso in una lista dalla nuova linea. Possiamo usare il cicli for
per scorrere l’lista e usare l’operatore in
per controllare se la stringa è nella linea in ogni iterazione.
Se la stringa si trova nella linea, restituisce True
e interrompe il bucle. Se la stringa non viene trovata dopo aver ripetuto tutte le righe, alla fine restituisce False
.
Di seguito viene fornito un codice di esempio per questo approccio:
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")
Produzione:
True
Usa il metodo File read()
per cercare una stringa in un file in Python
Il metodo file read()
restituisce il contenuto del file come un’intera stringa. Quindi possiamo usare l’operatore in
per verificare se la stringa è nella stringa restituita.
Di seguito viene fornito un codice di esempio:
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")
Produzione:
True
Usa il metodo find
per cercare una stringa in un file in Python
Un semplice metodo find
può essere usato con il metodo read()
per trovare la stringa nel file. Al metodo find
viene passata la stringa richiesta. Restituisce 0
se la stringa viene trovata e -1
se la stringa non viene trovata.
Di seguito viene fornito un codice di esempio.
file = open("temp.txt", "w")
file.write("blabla is nothing.")
file.close()
print(open("temp.txt", "r").read().find("blablAa"))
Produzione:
-1
Usa il modulo mmap
per cercare una stringa in un file in Python
Il modulo mmap
può anche essere usato per trovare una stringa in un file in Python e può migliorare le prestazioni se la dimensione del file è relativamente grande. Il metodo mmap.mmap()
crea un oggetto simile a una stringa in Python 2 che controlla solo il file implicito e non legge l’intero file.
Di seguito viene fornito un codice di esempio in Python 2:
# 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")
Produzione:
True
Tuttavia, in Python3 e versioni successive, mmap
non si comporta come l’oggetto simile a una stringa ma crea un oggetto bytearray
. Quindi il metodo find
cerca i byte e non le stringhe.
Di seguito viene fornito un codice di esempio per questo:
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")
Produzione:
True
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.
LinkedInArticolo correlato - Python String
- Come controllare una stringa è vuota in modo pitonico
- Converti una stringa in nome variabile in Python
- Come rimuovere gli spazi bianchi in una stringa in Python
- Estrai numeri da una stringa in Python
- Come convertire una stringa in datario in Python
- Come convertire una stringa in minuscola in Python 2 e 3