[英]Append path to LD_LIBRARY_PATH in Python
我一直在使用 python3 使用os.environ()
设置环境变量。 我正在将 LD_LIBRARY_PATH 设置为一个路径,这基本上是使用代码os.environ["LD_LIBRARY_PATH"] = PATH
覆盖 LD_LIBRARY_PATH 。 但我想使用分隔符添加路径:
。
我正在尝试使用os.environ["LD_LIBRARY_PATH"] = os.environ["LD_LIBRARY_PATH"] + ":" + PATH
使用字符串连接和分隔符来添加路径,它似乎不是这样工作的。
我收到以下错误:
os.environ["LD_LIBRARY_PATH"] =os.environ["LD_LIBRARY_PATH"] + ":" + target_directory
File "/usr/lib/python3.6/os.py", line 669, in __getitem__
raise KeyError(key) from None
KeyError: 'LD_LIBRARY_PATH'
让我知道我做错了什么或应该做什么。
KeyError: 'LD_LIBRARY_PATH' 表示您的 os.environ 字典中不存在这样的键。 因此,您不能向不存在的键的值附加任何内容。
您应该首先显式设置 PATH,然后在需要时追加。 我建议您添加一个检查,例如if PATH not in os.environ().keys()
然后设置它。
Python 可让您轻松指定默认值。
old = os.environ.get("LD_LIBRARY_PATH")
if old:
os.environ["LD_LIBRARY_PATH"] = old + ":" + PATH
else:
os.environ["LD_LIBRARY_PATH"] = PATH
你可以用try
/ except
来完成同样的事情,但它并不比这更快或更干净。
这里的关键是dict.get(value)
,它不像dict[value)
返回None
而不是引发KeyError
。 它还允许您指定与None
不同的值作为其第二个参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.