使用字典键+值+连接值填充字符串的最佳方法

时间:2017-01-06 21:31:08

标签: python dictionary join

我有一个包含键和值的字典。我需要使用那些键:值对填充以下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.

但我不确定如何使用'/'加入它们,以便它们不会出现在新行上。

  1. 这是最好的使用方法吗?
  2. 如果是这样,我如何将新行加入一行(这样他们就不会在字符串中包含\ n)

1 个答案:

答案 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'