簡體   English   中英

python中的env變量的繼承

[英]Inheritance of env variables in python

我需要檢索調用python程序的父進程(shell)的環境變量$PS1 $PS1不屬於python進程內的os.environ ,而sys.ps1存儲其自己的提示符。

我們如何從外殼程序將此變量傳遞給程序?

我從外殼程序使用python3 program.py調用程序。

如果分配給$PS1值在program.py運行時不變,則最好的選擇是將其作為參數傳遞,並使用argparse在腳本中檢索它。 如果該值在運行時期間發生變化,則選項之一是將其存儲在某個臨時文件中並從那里讀取。

python腳本可以通過os.environ訪問所有環境變量。 您的問題是PS1不是環境變量,而只是外殼程序的局部變量。

這意味着外殼程序不會將其傳遞給環境中的子printenv (您可以通過在外殼程序中鍵入envprintenv來控制它)。 因此,除非您在啟動Python之前將其手動放入環境中( export PS1為sh或bash),否則無法在Python腳本中獲取它。

暫無
暫無

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

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