相关疑难解决方法(0)

如何在Python中设置环境变量

我需要在python脚本中设置一些环境变量,我希望从python(shell脚本)调用的所有其他脚本都是子进程,以查看环境变量集.该值是一个数字.

如果我这样做os.environ["DEBUSSY"] = 1,它抱怨说1必须是字符串.我也想知道在设置之后如何在python中读取环境变量(在脚本的后面部分).

python environment-variables

564
推荐指数
14
解决办法
63万
查看次数

如何从python脚本中的.env文件设置环境变量?

在 Ubuntu bash shell 中,我可以使用命令行“source”(例如:)从 .env 文件设置环境变量source $OCSSWROOT/OCSSW_bash.env

source不是python中的函数。那么,如何从 python 中的 .env 文件设置环境变量?

'l2gen' 是 SeaDAS 的命令行程序,由 NASA 支持,用于处理海洋卫星数据。我可以在 bash shell 中运行它。现在,更多的程序需要用 python 脚本编码,'l2gen' 是程序之一。

但是需要在python脚本中重新设置环境变量。根据谷歌搜索结果,我喜欢在python中设置环境变量的一些方法。但缺少有关 .env 文件的信息。

在 Linux bash shell 中,我通过 vim 和 source 设置了环境变量:

    vim .profile
    export OCSSWROOT=[SeaDAS_install_dir]/ocssw (adding this in the profile 
                                                 file and then save/exit)
    source $OCSSWROOT/OCSSW_bash.env
Run Code Online (Sandbox Code Playgroud)

其中: SeaDAS_install_dir 是我安装软件 SeaDAS 的目录。

我尝试添加环境变量如下:

import subprocess
if __name__=='__main__':
     l2cmdtest = 'l2gen -h'
     new_env = os.environ.copy()
     new_env['OCSSWROOT'] = '/usr/local/seadas-7.5.3/ocssw'
     new_env['OCSSWROOT'] = 'OCSSWROOT/OCSSW_bash.env'
     eturnCodetest …
Run Code Online (Sandbox Code Playgroud)

python linux bash shell environment-variables

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

environment-variables ×2

python ×2

bash ×1

linux ×1

shell ×1