繁体   English   中英

在 Python 中将路径附加到 LD_LIBRARY_PATH

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM