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

2024-10-06 12:23:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本有键和值的字典。我需要用这些命令填充下面的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. 如果是,如何将新行合并到一行中(以便它们不会包含在字符串中)

Tags: key命令cmdformat字典cnrsareq
1条回答
网友
1楼 · 发布于 2024-10-06 12:23:58

使用/作为分隔符,用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'

相关问题 更多 >