我有一个包含键和值的字典。我需要使用那些键:值对填充以下openssl命令。
cmd = 'openssl req -nodes -newkey rsa:2048 -keyout ${CN}.key -out ${CN}.csr -subj \
"/{0}={1}/{2}={3}/{4}={5}/{6}={7}/{8}={9}/{10}={11}"'.format()
我在考虑循环翻译字典。
>>> for k, v in dict.items():
... print("{0}={1}".format(k,v))
...
C=US
CN=test.domain.net
L=New York City
O=Company Inc.
S=NY
OU=Company Inc.
但我不确定如何使用'/'加入它们,以便它们不会出现在新行上。
答案 0 :(得分:1)
使用str.join()
作为分隔符加入/
:
"/".join(["{0}={1}".format(k, v) for k, v in d.items()])
演示:
>>> d = {"C": "US", "CN": "test.domain.net", "L": "New York City"}
>>> "/".join(["{0}={1}".format(k, v) for k, v in d.items()])
'C=US/CN=test.domain.net/L=New York City'