2017-01-06 29 views
-1

我有一個包含鍵和值的字典。我需要用這些鍵值對填充以下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

使用/作爲分隔符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' 
+0

正是我需要的。謝謝。 – ARL

相關問題