Devi fornire una stringa alla libreria re
se vuoi manipolare un oggetto usando un modello di stringa. Se provi a utilizzare uno schema di stringa su un oggetto memorizzato utilizzando i "byte" tipo di dati, incontrerai il "TypeError: impossibile utilizzare uno schema di stringa su un oggetto simile a byte" error.
Questa guida spiega cosa significa questo errore e perché potresti riscontrarlo. Ti guideremo attraverso un esempio di questo errore in modo che tu possa vedere quali passaggi intraprendere per risolvere l’errore.
TypeError: impossibile utilizzare uno schema di stringa su un oggetto simile a byte
Gli oggetti Byte contengono una sequenza di singoli byte. Sono immutabili, come le stringhe, il che significa che non possono essere cambiate. Un oggetto byte viene in genere restituito quando si legge un file binario o quando si utilizza una libreria come "richiesta" per recuperare dati da un sito web.
Quando utilizzi la libreria re
, devi lavorare utilizzando byte o oggetti. Non è possibile specificare modelli di stringa per un oggetto byte e viceversa.
Se si lavora con dati in byte, il programma deve specificare un modello regex in byte. Se stai usando l’espressione regolare con le stringhe, fornisci un modello di espressione regolare basato su stringhe.
Uno scenario di esempio
Stiamo per scrivere un programma che recuperi il titolo di una pagina web. Collaboriamo con il sito Web Python.Engineering per questo tutorial.
Per iniziare, importiamo le due librerie di cui avremo bisogno per costruire il nostro programma: urllib e re.
La libreria urllib
ci consente di effettuare richieste web e la libreria re
ci dà la possibilità di utilizzare le espressioni regolari nel nostro programma.
L’81% dei partecipanti ha dichiarato di sentirsi più sicuro delle proprie prospettive di lavoro nel settore tecnologico dopo aver partecipato a un bootcamp. Fatti abbinare a un bootcamp oggi.
Il laureato medio di un bootcamp ha trascorso meno di sei mesi nella transizione di carriera, dall’avvio di un bootcamp alla ricerca del primo lavoro.
Successivamente, facciamo un < una href="/what-is-http/">richiesta web alla homepage di Python.Engineering:
Il programma recupera il contenuto di la home page di Python.Engineering. Questi dati vengono letti utilizzando il metodo read()
che fa parte del metodo urlopen()
. Archiviamo questi dati nella cartella "res" variabile.