title: How to pass "" as argument to subprocess.check_call?
body: <p>When applying the solution</p>
  
  <pre><code>ssh-keygen -t rsa -N "" -f my.key
  </code></pre>
  
  <p>to <a href="https://stackoverflow.com/questions/3659602/automating-enter-keypresses-for-bash-script-generating-ssh-keys">Automating &quot;enter&quot; keypresses for bash script generating ssh keys</a> in Python 3 I stumbled over the following issue:</p>
  
  <pre><code>sp.check_call(["ssh-keygen", "-t", "rsa", "-N", "\"\"", "-f", "my.key"])
  </code></pre>
  
  <p>as well as</p>
  
  <pre><code>sp.check_call(["ssh-keygen", "-t", "rsa", "-N", "''", "-f", "my.key"])
  </code></pre>
  
  <p>fail due to</p>
  
  <pre><code>Saving key "my.key" failed: passphrase is too short (minimum five characters)
  </code></pre>
  
  <p>and</p>
  
  <pre><code>sp.check_call(["ssh-keygen", "-t", "rsa", "-N", "", "-f", "my.key"])
  </code></pre>
  
  <p>causes <code>ssh-keygen</code> to prompt for the key which should be avoided by passing <code>-N ""</code>.</p>
  
  <p>What the pythonic way to acchieve the command receiving <code>-N ""</code>? I'm aware of the possibility to pass the command and arguments as one string which would probably solve this or take another approach from the answers to the referenced questions. I want to broaden my Python knowledge.</p>