第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Python 忽略源 .env 文件

Python 忽略源 .env 文件

ABOUTYOU 2023-03-16 09:31:21
source .env盡管可以從 bash 訪問(wèn)這些變量,但我對(duì) Python 不訪問(wèn)這些變量的意義和原因感到困惑。當(dāng)我手動(dòng)時(shí)export FOO=foo,Python 會(huì)看到環(huán)境,但當(dāng)我source .env$ cat .env ENV=development$ echo $ENV$ echo $FOO$ source .env $ export FOO=foo$ echo $ENVdevelopment$ echo $FOOfoo$ python3Python 3.7.7 (default, Mar 10 2020, 15:43:27)[Clang 10.0.0 (clang-1000.11.45.5)] on darwinType "help", "copyright", "credits" or "license" for more information.>>> import os>>> print(os.getenv("ENV"))None>>> print(os.getenv("FOO"))foo
查看完整描述

2 回答

?
慕仙森

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

我對(duì) source .env 的重要性感到困惑

source就像其他語(yǔ)言中的“include”一樣工作,就像在 C 中一樣,它包含其他文件的內(nèi)容。source只是解析來(lái)自其他文件的文本,就好像它會(huì)被輸入一樣。

為什么 Python 不訪問(wèn)這些變量,盡管這些變量可以從 bash 訪問(wèn)。

因?yàn)闆](méi)有導(dǎo)出變量,所以在創(chuàng)建python進(jìn)程的執(zhí)行環(huán)境時(shí),該環(huán)境中不包含該變量的值。

那么我如何輕松地導(dǎo)出 .env 文件中的所有鍵值變量呢?

  • 添加export到文件中的每個(gè)變量.env,或

  • 用于set -a導(dǎo)出所有變量,然后獲取文件,或者

  • 解析.env文件以提取變量名稱,并使用 設(shè)置每個(gè)變量的導(dǎo)出屬性export。


查看完整回答
反對(duì) 回復(fù) 2023-03-16
?
呼喚遠(yuǎn)方

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊

正如 KamilCuk 所說(shuō),source沒(méi)有必要“導(dǎo)出”。必須導(dǎo)出變量,而不僅僅是源,所以在我的例子中,我只需要export ENV=development在.env文件和源中。


注意在這種情況.env下第 2 行是不同的。


$ cat .env 

export ENV=development

$ echo $ENV


$ echo $FOO


$ source .env 

$ export FOO=foo

$ echo $ENV

development

$ echo $FOO

foo

$ python3

Python 3.7.7 (default, Mar 10 2020, 15:43:27) 

[Clang 10.0.0 (clang-1000.11.45.5)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> import os

>>> print(os.getenv("ENV"))

development

>>> print(os.getenv("FOO"))

foo

并且添加到這一點(diǎn),當(dāng)我這樣做時(shí)export FOO=foo,這既分配又出口,但實(shí)際上如果你只是做下面的事情,你會(huì)創(chuàng)建一個(gè)沒(méi)有出口的 bash var。


$ FOO=foo

$ echo $FOO

foo

在這種情況下,它是assigned,但不是exported。Python 需要將其導(dǎo)出。


查看完整回答
反對(duì) 回復(fù) 2023-03-16
  • 2 回答
  • 0 關(guān)注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)