【问题标题】:Best way to use populate string with dictionary keys + values + join values使用字典键+值+连接值填充字符串的最佳方法
【发布时间】:2017-01-06 21:31:07
【问题描述】:

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

【问题讨论】:

    标签: python dictionary join


    【解决方案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'
    

    【讨论】:

    • 正是我需要的。谢谢。
    猜你喜欢
    • 2016-12-11
    • 2023-03-17
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 2022-11-10
    相关资源
    最近更新 更多