如何读取 python 中的设置环境变量

How to read set environment variable in python

在 UNIX 中,我使用命令行

setenv HOME <path to home>

我将它作为参数传递给我的 python 脚本

 python hello.py HOME

并做

sys.argv[1] = os.environ["HOME"] 

它仍然没有读取路径。

我是 python 的新手,os.environ 对于这种情况是否正确?

这似乎有点取决于您的 shell。例如,在 Linux 中使用 bash 4.3-7ubuntu1.5:

$ export XXX="abc"
$ python
>>> import os
>>> os.environ["XXX"]
'abc'
>>> os.environ["HOME"]
'/home/alan'

如果您的目标是获取主目录的路径作为参数,您可以通过在调用脚本之前对参数进行 shell 评估来让您的用户发送它。

我有一个简单的脚本,比如 -

import sys
print(sys.argv[1])

在Windows中我称它为-

set HOME=D:\
python script.py %HOME%

我得到的输出是-

D:\

在Linux-

$ python hello.py $HOME

输出-

/home/random/

如果你想从环境变量中获取它,并且你想将环境变量作为第一个参数传递给脚本,那么你应该改变你的脚本 -

sys.argv[1] = os.environ.get(sys.argv[1],sys.argv[1])

这会