使用 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 的简单对象。