I don&#x27;t think the piping syntax is a big issue. If you use it more than once in a module, just define something like this: (haven&#x27;t checked, may have errors)<p><pre><code>    def pipe_them(args*):
        last = subprocess.Popen(args[0], stdout=subprocess.PIPE)
        for p in args[1:]:
            last = subprocess.Popen(p, stdin=last.stdout, stdout=subprocess.PIPE)
        return last

    proc = pipe_them([&#x27;something&#x27;], [&#x27;something_else&#x27;, &#x27;args&#x27;], [&#x27;final_one&#x27;])
    proc.communicate()
</code></pre>
Interpolation shouldn&#x27;t be a huge problem either with `% locals()` (if it&#x27;s a small one-off script).