簡體   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