如何读取 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])
这会
在 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])
这会