{"id":1604,"date":"2023-03-25T20:25:29","date_gmt":"2023-03-25T19:25:29","guid":{"rendered":"https:\/\/alessandromasciadri.com\/?p=1604"},"modified":"2023-03-25T20:34:00","modified_gmt":"2023-03-25T19:34:00","slug":"come-eseguire-set-e-get-di-variabili-di-ambiente-con-python","status":"publish","type":"post","link":"https:\/\/alessandromasciadri.com\/come-eseguire-set-e-get-di-variabili-di-ambiente-con-python\/","title":{"rendered":"Come eseguire Set e Get di variabili di ambiente con Python"},"content":{"rendered":"\t\t<div data-akihiro-type=\"ama-post\" data-akihiro-id=\"1604\" class=\"akihiro akihiro-1604\" data-akihiro-post-type=\"post\">\n\t\t\t\t<div class=\"akihiro-element akihiro-element-0b1da06 e-flex e-con-boxed e-con e-parent\" data-id=\"0b1da06\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"akihiro-element akihiro-element-1914b10 akihiro-widget akihiro-widget-text-editor\" data-id=\"1914b10\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Per eseguire con Python setting e getting di variabili d&#8217;ambiente si pu\u00f2 operare usando il modulo os. Per maggiori dettagli sul funzionamento di questo modulo, facciamo riferimento alla documentazione ufficiale: <a href=\"https:\/\/docs.python.org\/3\/library\/os.html\">https:\/\/docs.python.org\/3\/library\/os.html<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-5726683 akihiro-widget akihiro-widget-heading\" data-id=\"5726683\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h3 class=\"akihiro-heading-title akihiro-size-default\">Set e Get di variabili d'ambiente<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-09e83d9 akihiro-widget akihiro-widget-text-editor\" data-id=\"09e83d9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Diamo anzitutto uno sguardo al seguente codice<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-fa9394d akihiro-widget akihiro-widget-code-highlight\" data-id=\"fa9394d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-okaidia copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-python \">\n\t\t\t\t<code readonly=\"true\" class=\"language-python\">\n\t\t\t\t\t<xmp>import os\n\n# Set environment variables\nos.environ['API_USER'] = 'username'\nos.environ['API_PASSWORD'] = 'secret'\n\n# Get environment variables\nUSER = os.getenv('API_USER')\nPASSWORD = os.environ.get('API_PASSWORD')\n\n# Getting non-existent keys\nFOO = os.getenv('FOO') # None\nBAR = os.environ.get('BAR') # None\nBAZ = os.environ['BAZ'] # KeyError: key does not exist.<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-8038321 akihiro-widget akihiro-widget-text-editor\" data-id=\"8038321\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Per quanto riguarda l&#8217;operazione di setting delle variabili d&#8217;ambiente ci viene in aiuto <code>os.environ<\/code>.<\/p><p>Per eseguire il getting delle variabili d&#8217;ambiente possiamo rivolgerci invece a due metodi: <code>os.getenv()<\/code> e <code>os.environ.get()<\/code>. Questi metodi li possiamo usare intercambiabilmente, infatti <code>os.getenv()<\/code>\u00a0non \u00e8 altro che\u00a0il wrapper (<a href=\"https:\/\/hg.python.org\/cpython\/file\/6671c5039e15\/Lib\/os.py#l646\">https:\/\/hg.python.org\/cpython\/file\/6671c5039e15\/Lib\/os.py#l646<\/a>) di <code>os.environ.get()<\/code>.<\/p><p>\u00c8 invece importante notare che, mentre l&#8217;uso dei metodi <code>os.getenv()<\/code> e <code>os.environ.get()<\/code> per richiamare variabili d&#8217;ambiente inesistenti restituisce <code>None<\/code>, il riferirsi ad una key inesistente nel dizionario mediante l&#8217;utilizzo di <code>os.environ[]<\/code>, viene sollevata l&#8217;eccezione <code>KeyError: key does not exist<\/code>.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Per eseguire con Python setting e getting di variabili d&#8217;ambiente si pu\u00f2 operare usando il modulo os. Per maggiori dettagli sul funzionamento di questo modulo, facciamo riferimento alla documentazione ufficiale: https:\/\/docs.python.org\/3\/library\/os.html Set e Get di variabili d&#8217;ambiente Diamo anzitutto uno sguardo al seguente codice import os # Set environment variables os.environ[&#8216;API_USER&#8217;] = &#8216;username&#8217; os.environ[&#8216;API_PASSWORD&#8217;] = [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[12],"class_list":["post-1604","post","type-post","status-publish","format-standard","hentry","category-programmazione","tag-python"],"_links":{"self":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/1604","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/comments?post=1604"}],"version-history":[{"count":10,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/1604\/revisions"}],"predecessor-version":[{"id":1614,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/1604\/revisions\/1614"}],"wp:attachment":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/media?parent=1604"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/categories?post=1604"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/tags?post=1604"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}