title: How to call python command line program with Jupyter cell
body: <p>I am using a third-party program designed to be run as a command line program, which outputs files that I later need to use in my code. I am working in Jupyter Lab and want to integrate the function calls into my code. The typical way to run this is:</p>
  
  <pre><code>python create_files.py -a input_a -b input_b -c -d
  </code></pre>
  
  <p>I then want to call this within my Jupyter notebook. I have been able to get it to work by using <code>!</code>, i.e.:</p>
  
  <pre><code>! python create_files.py -a input_a -b input_b -c -d
  </code></pre>
  
  <p>The problem with this is that when I want to specify <code>input_a</code> or <code>input_b</code> using variables, this doesn't work because it seems that <code>!</code> expects a literal string, so to speak.</p>
  
  <p>Is there a more clean way of doing this without having to alter the source code of this program (I have tried looking into that, and the code is written such that there is no simple way to call its main function.)</p>