stringa python in byte

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.

Ora che abbiamo i dati dal nostro programma, usa il metodo search() per scoprire il contenuto del tag nella pagina web che abbiamo interrogato. il tag contiene il titolo di una pagina web.<br></p> <p>Per trovare il titolo della pagina web, usa il metodo <code>re.search()</code>:<br></p> <p>Il nostro programma cercherà i contenuti del tag <title>. Il nostro programma quindi stampa il titolo della pagina Web sulla console.Utilizziamo il <a href="/it_it-python-f-string/">metodo .format()</a> per aggiungere questo titolo alla nostra stringa. <br></p> <p>Eseguiamo il nostro programma e vediamo se funziona:<br></p> <p>Il nostro programma non viene eseguito completamente.</p><p>Il valore di "home" (la risposta dalla nostra pagina web) è un oggetto bytes ma il pattern che usiamo per trovare il titolo di una pagina web è una stringa. Ciò causa un errore perché non possiamo abbinare i modelli di stringa agli oggetti byte.<br></p> <p>Ci sono due modi in cui possiamo risolvere questo problema.</p> <h3>Soluzione n.1: convertire il modello di stringa in byte ;</h3> <p>Dobbiamo convertire lo schema di stringa che usiamo in un oggetto bytes. Possiamo farlo utilizzando sia il "b" parola chiave o il metodo <code>bytes()</code>:<br></p> <p>Il primo metodo per utilizzare il "b" la parola chiave è più comune perché è più facile da leggere. Ora che abbiamo convertito il nostro modello di stringa in byte, possiamo eseguire il nostro codice:<br></p> <p>Il nostro codice restituisce il testo che corrisponde alla nostra query.<br> </p> </a></div><p>Ora che abbiamo la risposta dell’espressione regolare, possiamo analizzarla in modo che appaia solo come una stringa nel nostro codice.L’analisi dei dati dell’espressione regolare non rientra nell’ambito di questo tutorial. </p> <h3>Soluzione n. 2: decodificare i dati della pagina Web</h3> <p>In alternativa, potremmo scegliere di decodificare i dati della nostra pagina Web per renderla una stringa. Ciò è utile se prevedi una stringa per altre parti del tuo codice per funzionare.<br></p> <p>Possiamo decodificare i dati della nostra pagina web modificando la riga di codice in cui apriamo la pagina web:<br></p> <p>Questo codice decodificherà la risposta dalla nostra richiesta web in modo che possiamo trattare la risposta come una stringa. Dovresti sostituire "utf-8" con il metodo di e ncodifica la pagina web che stai richiedendo.<br></p> <p>Possiamo quindi utilizzare un modello di stringa per cercare il tag del titolo. Non è necessario convertire il nostro modello in un oggetto byte perché "home" sarà un valore stringa.</p> <p>Eseguiamo il nostro codice e vediamo cosa succede: <br></p><p>"Il Karma di carriera è entrato nella mia vita quando ne avevo più bisogno e mi ha aiutato rapidamente ad abbinarmi a un bootcamp. Due mesi dopo la laurea, ho trovato il lavoro dei miei sogni in linea con i miei valori e obiettivi nella vita!"</p> <p class="testimonial-section-faint-1">Venus, Software Engineer presso Rockbot</p> <p>Il "TypeError: non può usare uno schema di stringa su un byte -come oggetto" viene generato un errore quando si tenta di far corrispondere un modello di stringa a un oggetto memorizzato utilizzando il tipo di dati bytes.<br></p> <p>Puoi correggere questo errore convertendo il tuo modello di stringa in un oggetto byte o convertendo i dati con cui stai lavorando in un oggetto stringa.<br></p> </a></div><p>Ora sei pronto per correggere questo <a href="/it_it-how-long-to-learn-python/">errore Python come un professionista</a> !</p> </div> </div> <div class="article__right"> <div class="hub_ad"> <div id="ezoic-pub-ad-placeholder-106"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9381065361874746" crossorigin="anonymous"></script> <!-- PYE aside NEW --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-9381065361874746" data-ad-slot="8755532771" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="shop-aside shop-aside--mt"> <h2 class="shop-aside__title">Shop</h2> <div class="shop__items shop__items--column"> <div class="shop__item"><a class="shop__item-link" href="https://python.engineering/learn-programming-in-r-courses/"></a><img class="shop__item-img" src=""> <p class="shop__item-name">Learn programming in R: courses</p><span class="shop__item-price">$</span> </div> <div class="shop__item"><a class="shop__item-link" href="https://python.engineering/best-python-online-courses-for-2022/"></a><img class="shop__item-img" src=""> <p class="shop__item-name">Best Python online courses for 2022</p><span class="shop__item-price">$</span> </div> <div class="shop__item"><a class="shop__item-link" href="https://python.engineering/best-laptop-for-fortnite/"></a><img class="shop__item-img" src=""> <p class="shop__item-name">Best laptop for Fortnite</p><span class="shop__item-price">$</span> </div> <div class="shop__item"><a class="shop__item-link" href="https://python.engineering/best-laptop-for-excel/"></a><img class="shop__item-img" src=""> <p class="shop__item-name">Best laptop for Excel</p><span class="shop__item-price">$</span> </div> <div class="shop__item"><a class="shop__item-link" href="https://python.engineering/best-laptop-for-solidworks/"></a><img class="shop__item-img" src=""> <p class="shop__item-name">Best laptop for Solidworks</p><span class="shop__item-price">$</span> </div> <div class="shop__item"><a class="shop__item-link" href="https://python.engineering/best-laptop-for-roblox/"></a><img class="shop__item-img" src=""> <p class="shop__item-name">Best laptop for Roblox</p><span class="shop__item-price">$</span> </div> <div class="shop__item"><a class="shop__item-link" href="https://python.engineering/best-computer-for-crypto-mining/"></a><img class="shop__item-img" src=""> <p class="shop__item-name">Best computer for crypto mining</p><span class="shop__item-price">$</span> </div> <div class="shop__item"><a class="shop__item-link" href="https://python.engineering/best-laptop-for-sims-4/"></a><img class="shop__item-img" src="http://python.engineering/wp-content/uploads/2022/04/pye-best-laptop-for-sims-4.jpg"> <p class="shop__item-name">Best laptop for Sims 4</p><span class="shop__item-price">$</span> </div> </div> </div> <div class="hub_ad"> <div id="ezoic-pub-ad-placeholder-106" style="position:sticky; position:-webkit-sticky; top:0; margin-top:10px; z-index: 1000"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9381065361874746" crossorigin="anonymous"></script> <!-- PYE aside NEW --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-9381065361874746" data-ad-slot="8755532771" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="l-questions l-questions--mt"> <p class="l-questions__title">Latest questions</p> <div class="l-questions__list"> <div class="l-questions__item"><a class="l-questions__item-link" href="https://python.engineering/8134602-psycopg2-insert-multiple-rows-with-one-query/"></a> <div class="l-questions__item-tags"><span class="l-questions__item-tag violet">NUMPY</span><span class="l-questions__item-tag yellow">NUMPY</span></div> <p class="l-questions__item-title">psycopg2: insert multiple rows with one query</p> <p class="l-questions__item-answers"><span>12</span> answers</p> </div> <div class="l-questions__item"><a class="l-questions__item-link" href="https://python.engineering/3930188-how-to-convert-nonetype-to-int-or-string/"></a> <div class="l-questions__item-tags"><span class="l-questions__item-tag violet">NUMPY</span><span class="l-questions__item-tag yellow">NUMPY</span></div> <p class="l-questions__item-title">How to convert Nonetype to int or string?</p> <p class="l-questions__item-answers"><span>12</span> answers</p> </div> <div class="l-questions__item"><a class="l-questions__item-link" href="https://python.engineering/33945261-how-to-specify-multiple-return-types-using-type-hints/"></a> <div class="l-questions__item-tags"><span class="l-questions__item-tag violet">NUMPY</span><span class="l-questions__item-tag yellow">NUMPY</span></div> <p class="l-questions__item-title">How to specify multiple return types using type-hints</p> <p class="l-questions__item-answers"><span>12</span> answers</p> </div> <div class="l-questions__item"><a class="l-questions__item-link" href="https://python.engineering/51922480-javascript-error-ipython-is-not-defined-in-jupyterlab/"></a> <div class="l-questions__item-tags"><span class="l-questions__item-tag violet">NUMPY</span><span class="l-questions__item-tag yellow">NUMPY</span></div> <p class="l-questions__item-title">Javascript Error: IPython is not defined in JupyterLab</p> <p class="l-questions__item-answers"><span>12</span> answers</p> </div> </div> <div class="l-questions__more-link"><a href="/cat/wiki/so/">All questions</a></div> </div> <div class="hub_ad"> <div id="ezoic-pub-ad-placeholder-106" style="position:sticky; position:-webkit-sticky; top:0; margin-top:10px; z-index: 1000"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9381065361874746" crossorigin="anonymous"></script> <!-- PYE aside NEW --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-9381065361874746" data-ad-slot="8755532771" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> </div> </div> </div> </div> <!-- news --> <div class="news"> <div class="container"> <h2 class="news__title h2">News</h2> <div class="news__items"> <!-- <a class="news__item" href="https://python.engineering/what-employers-expect-from-a-junior-python-developer/" style="background-image: url('https://python.engineering/wp-content/uploads/2022/09/bcc-junior-python-26-09-2022.jpeg')"> --> <a class="news__item" href="https://python.engineering/what-employers-expect-from-a-junior-python-developer/" style="background-color: #243978;"> <span class="news__item-overlay"> <span class="news__item-cat">26/09/2022</span> <span class="news__item-title">What Employers Expect from a Junior Python Developer</span> </span> </a> <!-- <a class="news__item" href="https://python.engineering/python-vs-r-what-should-a-beginner-data-scientist-choose/" style="background-image: url('https://python.engineering/wp-content/uploads/2022/09/pye-R-25-09-2022.jpeg')"> --> <a class="news__item" href="https://python.engineering/python-vs-r-what-should-a-beginner-data-scientist-choose/" style="background-color: #243978;"> <span class="news__item-overlay"> <span class="news__item-cat">25/09/2022</span> <span class="news__item-title">Python vs. R: what should a beginner Data Scientist choose?</span> </span> </a> <!-- <a class="news__item" href="https://python.engineering/the-basics-of-working-with-files-in-python/" style="background-image: url('https://python.engineering/wp-content/uploads/2022/09/pye-files-25-09-2022.jpeg')"> --> <a class="news__item" href="https://python.engineering/the-basics-of-working-with-files-in-python/" style="background-color: #243978;"> <span class="news__item-overlay"> <span class="news__item-cat">25/09/2022</span> <span class="news__item-title">The basics of working with files in Python</span> </span> </a> </div> </div> </div> <!-- /new --> <br> <!-- wiki --> <div class="wiki"> <div class="container"> <h2 class="wiki__title h2">Wiki</h2> <div class="wiki-grid"> <div class="l-questions__item"><a class="l-questions__item-link" href="https://python.engineering/python-opencv-cv2-puttext-method/"></a> <div class="l-questions__item-tags"> <a href=""><span class="l-questions__item-tag violet">__del__</span></a> </div> <p class="l-questions__item-title">Python OpenCV | cv2.putText () method</p> </div> <div class="l-questions__item"><a class="l-questions__item-link" href="https://python.engineering/numpy-arctan2-python/"></a> <div class="l-questions__item-tags"> <a href=""><span class="l-questions__item-tag violet">__del__</span></a> </div> <p class="l-questions__item-title">numpy.arctan2 () in Python</p> </div> <div class="l-questions__item"><a class="l-questions__item-link" href="https://python.engineering/python-os-path-realpath-method/"></a> <div class="l-questions__item-tags"> <a href=""><span class="l-questions__item-tag violet">__del__</span></a> </div> <p class="l-questions__item-title">Python | os.path.realpath () method</p> </div> <div class="l-questions__item"><a class="l-questions__item-link" href="https://python.engineering/python-opencv-cv2-circle-method/"></a> <div class="l-questions__item-tags"> <a href=""><span class="l-questions__item-tag violet">around</span></a> </div> <p class="l-questions__item-title">Python OpenCV | cv2.circle () method</p> </div> <div class="l-questions__item"><a class="l-questions__item-link" href="https://python.engineering/python-opencv-cv2-cvtcolor-method/"></a> <div class="l-questions__item-tags"> <a href=""><span class="l-questions__item-tag violet">cvtcolor</span></a> </div> <p class="l-questions__item-title">Python OpenCV cv2.cvtColor () method</p> </div> <div class="l-questions__item"><a class="l-questions__item-link" href="https://python.engineering/python-move-element-to-end-of-the-list/"></a> <div class="l-questions__item-tags"> <a href=""><span class="l-questions__item-tag violet">Python functions</span></a> </div> <p class="l-questions__item-title">Python - Move item to the end of the list</p> </div> <div class="l-questions__item"><a class="l-questions__item-link" href="https://python.engineering/time-perf_counter-function-in-python/"></a> <div class="l-questions__item-tags"> <a href=""><span class="l-questions__item-tag violet">Counters</span></a> </div> <p class="l-questions__item-title">time.perf_counter () function in Python</p> </div> <div class="l-questions__item"><a class="l-questions__item-link" href="https://python.engineering/python-check-if-one-list-is-subset-of-other/"></a> <div class="l-questions__item-tags"> <a href=""><span class="l-questions__item-tag violet">__dict__</span></a> </div> <p class="l-questions__item-title">Check if one list is a subset of another in Python</p> </div> <div class="l-questions__item"><a class="l-questions__item-link" href="https://python.engineering/python-os-path-join-method/"></a> <div class="l-questions__item-tags"> <a href=""><span class="l-questions__item-tag violet">__del__</span></a> </div> <p class="l-questions__item-title">Python os.path.join () method</p> </div> </div> </div> </div> <!-- /wiki --> <!-- new footer --> <footer class="footer"> <div class="container"> <div class="footer__row"> <div class="footer__left"><img class="footer__logo" src="/wp-content/themes/nimani/img/footer-logo.svg" alt="Python Engineering"> <p class="footer__copyright">© 2017—2022 <br> Python Engineering Hub</p> <p class="footer__desc"> <a href="/cat/wiki/" class="footer__nav-link">EN</a> | <a href="/cat/es_sp/" class="footer__nav-link">ES</a> | <a href="/cat/de_de/" class="footer__nav-link">DE</a> | <a href="/cat/fr_fr/" class="footer__nav-link">FR</a> | <a href="/cat/it_it/" class="footer__nav-link">IT</a> | <a href="/cat/ru_ru/" class="footer__nav-link">RU</a> | <a href="/cat/tr_tr/" class="footer__nav-link">TR</a> | <a href="/cat/pl_pl/" class="footer__nav-link">PL</a> | <a href="/cat/pt_pt/" class="footer__nav-link">PT</a> | <a href="/cat/ja_jp/" class="footer__nav-link">JP</a> | <a href="/cat/ko_kr/" class="footer__nav-link">KR</a> | <a href="/cat/zh_cn/" class="footer__nav-link">CN</a> | <a href="/cat/hi_in/" class="footer__nav-link">HI</a> | <a href="/cat/nl_nl/" class="footer__nav-link">NL</a> </p> <br> <p class="footer__desc"> Python.Engineering is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to amazon.com </p> </div> <div class="footer__nav-col"> <p class="footer__nav-title">Python</p> <ul class="footer__nav-list"> <li class="footer__nav-item"><a class="footer__nav-link" href="/cat/loops/">Loops</a></li> <li class="footer__nav-item"><a class="footer__nav-link" href="/cat/counters/">Counters</a></li> <li class="footer__nav-item"><a class="footer__nav-link" href="/cat/numpy/">NumPy</a></li> <li class="footer__nav-item"><a class="footer__nav-link" href="/cat/nlp/">NLP</a></li> <li class="footer__nav-item"><a class="footer__nav-link" href="/cat/regex/">Regular Expressions</a></li> </ul> </div> <div class="footer__nav-col"> <p class="footer__nav-title">Wiki</p> <ul class="footer__nav-list"> <li class="footer__nav-item"><a class="footer__nav-link" href="/cat/news/">Tech news</a></li> <li class="footer__nav-item"><a class="footer__nav-link" href="/cat/wiki/">Python Wiki</a></li> <li class="footer__nav-item"><a class="footer__nav-link" href="/cat/wiki/so/">StackOverflow</a></li> <li class="footer__nav-item"><a class="footer__nav-link" href="/cat/php/">PHP</a></li> <li class="footer__nav-item"><a class="footer__nav-link" href="/cat/javascript/">JavaScript</a></li> </ul> </div> <div class="footer__nav-col"> <p class="footer__nav-title">Books</p> <ul class="footer__nav-list"> <li class="footer__nav-item"><a class="footer__nav-link" href="/cat/books/">All books</a></li> <li class="footer__nav-item"><a class="footer__nav-link" href="/cat/computations/">Computations</a></li> <li class="footer__nav-item"><a class="footer__nav-link" href="/cat/development/">Development</a></li> <li class="footer__nav-item"><a class="footer__nav-link" href="/cat/cryptography/">Cryptography</a></li> <li class="footer__nav-item"><a class="footer__nav-link" href="/cat/beginners/">For dummies</a></li> <li class="footer__nav-item"><a class="footer__nav-link" href="/cat/bigdata/">Big Data</a></li> </ul> </div> </div> </div> </footer> <script src="https://code.jquery.com/jquery-3.5.0.min.js"></script> <script src="/wp-content/themes/nimani/js/libs.js"></script> <script src="/wp-content/themes/nimani/js/index.js"></script> <script src="/wp-content/themes/nimani/js/vendor/lazysizes.min.js" async></script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-Q022WLXW4X" async></script> <script async src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js?autoload=true&skin=desert&lang=python"></script> <script type="text/javascript"> document.addEventListener("DOMContentLoaded", () => { let arrayCode = document.querySelectorAll('pre'); arrayCode.forEach(element => { element.classList.add("prettyprint"); }); }); </script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-Q022WLXW4X'); </script> <!-- ===================== LEAVE POPUP ===================== <script src="/wp-content/themes/nimani/js/ouibounce.js"></script> <script> // if you want to use the 'fire' or 'disable' fn, // you need to save OuiBounce to an object var _ouibounce = ouibounce(document.getElementById('ouibounce-modal'), { aggressive: true, timer: 0, delay: 1000, callback: function() { console.log('ouibounce fired!'); } }); $('body').on('click', function() { $('#ouibounce-modal').hide(); }); $('#ouibounce-modal .modal-footer').on('click', function() { $('#ouibounce-modal').hide(); }); $('#ouibounce-modal .modal').on('click', function(e) { e.stopPropagation();}); </script> <script> $("#reload_form_button" ).click(function() { console.log("hui"); $('#reload_form').load('/wp-content/themes/nimani/af.html'); }); </script> ===================== /LEAVE POPUP ===================== --> </body> </html> <!-- /new footer -->