使用 OS 库将 python 列表导出到环境变量
Exporting python list to an environment variable using OS library
假设我有一个列表
someList = ["a", "b", "c"]
我想使用
os.environ["someList"] = someList
将列表存储为环境变量。
我目前遇到错误,有什么办法可以解决这个问题吗?
通过环境变量传递数据结构是一件奇怪的事情。
正如错误告诉您的那样,环境变量必须是字符串。
如果您确实需要这样做,一个简单的解决方案是将列表转换为 json 字符串,将其存储在环境变量中,然后让子进程将其转换回python列表。
例如,使用 json 将数据编码为字符串:
import json, os
os.environ['someList'] = json.dumps(["a", "b", "c"])
然后,要重构数据,请执行相反的操作:
import json, os
data = json.loads(os.environ['someList'])
当然,这只适用于可以安全编码为 json 的简单对象。
假设我有一个列表
someList = ["a", "b", "c"]
我想使用
os.environ["someList"] = someList
将列表存储为环境变量。
我目前遇到错误,有什么办法可以解决这个问题吗?
通过环境变量传递数据结构是一件奇怪的事情。 正如错误告诉您的那样,环境变量必须是字符串。
如果您确实需要这样做,一个简单的解决方案是将列表转换为 json 字符串,将其存储在环境变量中,然后让子进程将其转换回python列表。
例如,使用 json 将数据编码为字符串:
import json, os
os.environ['someList'] = json.dumps(["a", "b", "c"])
然后,要重构数据,请执行相反的操作:
import json, os
data = json.loads(os.environ['someList'])
当然,这只适用于可以安全编码为 json 的简单对象。