簡體   English   中英

如何在 python 中使用同一 shell 中的腳本導出環境變量?

[英]How do I export environment variables using a script in the same shell in python?

我的 django 項目從環境變量中獲取憑據,現在我想自動化這個過程並將憑據存儲在保險庫(hashivcorp)中。 I have a python and shell script which fetches data from an API and exports it as environment variables, when I run it using os.system command it runs the shell script but as it runs it in a subprocess, I can't access the variables在主(父)進程/外殼中。 唯一的方法是在 settings.py 文件中插入 shell 腳本。 有什么辦法可以讓我在主流程中得到這些嗎? Ps:我確實嘗試過采購,os.system 沒有將其識別為命令。

這是我正在運行的代碼:

import os

os.environ['ENV'] = 'Demo'
os.system('python3 /home/rishabh/export.py')

print(os.environ.get('RDS_DB_NAME'))

output:

None

python 文件,shell 腳本工作得很好。

一種方法是在同一進程中運行export.py ,正如user1934428建議的那樣:

import os
import sys

os.environ['ENV'] = 'Demo'

sys.path.append('/home/rishabh/')
import export   # runs export.py in the same process

print(os.environ.get('RDS_DB_NAME'))

這假設 export.py 中沒有export.py __name__ == '__main__'檢查。

如果export.py與當前腳本位於不同的目錄中,則只需要sys.path行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM