使用:符号从Python生成Clojure EDN

使用:符号从Python生成Clojure EDN,python,clojurescript,edn,Python,Clojurescript,Edn,我正在尝试使用EDN在一个简单的Python服务器和一个使用ClojureScript编写的浏览器内应用程序之间进行通信 因此,服务器需要为浏览器生成并返回EDN格式的块 我已经安装了一个似乎是Python推荐的EDN库 但我希望能够生成一个使用Clojure符号作为键的地图。例如,{:a1:b2} 但是,如果我创建一个Python字典{“a”:1,“b”:2},并将其传递给dumps函数,则最终的EDN会将键保留为字符串,而不是符号 显然,Python中没有:符号。但是有没有办法说服edn_f

我正在尝试使用EDN在一个简单的Python服务器和一个使用ClojureScript编写的浏览器内应用程序之间进行通信

因此,服务器需要为浏览器生成并返回EDN格式的块

我已经安装了一个似乎是Python推荐的EDN库

但我希望能够生成一个使用Clojure符号作为键的地图。例如,
{:a1:b2}

但是,如果我创建一个Python字典
{“a”:1,“b”:2}
,并将其传递给dumps函数,则最终的EDN会将键保留为字符串,而不是符号


显然,Python中没有
:符号。但是有没有办法说服edn_format.dump将字典字符串键转换成它们呢?或者有更好的Python edn库可以做到这一点吗?

您可以使用
关键字\u keys
参数:

edn_format.dumps({'a': 1}, keyword_keys=True)
# => {:a 1}
关键字
构造函数:

edn_format.dumps({edn_format.Keyword('a'): 1})
# => {:a 1}