2017-01-06 10 views
-1

私はキーと値を持つ辞書を持っています。次のopensslコマンドにそれらのkey:valueのペアを設定する必要があります。辞書キー+値+結合値を使用した人口文字列を使用する最も良い方法

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() 

私はおそらく辞書をループすることを考えていました。

しかし、私はそれらを新しい行には表示されないように '/'に結合する方法はわかりません。

  1. これは使用するのに最適なアプローチですか?
  2. もしそうなら、私は1つの行に新しい行を作成しましょうか(彼らは含まれないように、\ 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

関連する問題