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