Python subprocess arguments

Viewed 59169

For example I am using ffplay and want to run this command -bufsize[:stream_specifier] integer (output,audio,video)

At the moment I have this:

subprocess.call(["ffplay", "-vn", "-nodisp","-bufsize 4096", "%s" % url])

But this says it is invalid.

3 Answers

While using shlex.split() is overkill for your use case, many of the comments seem to be asking about the use of spaces in parameters in cases where a CLI allows you to pass in quoted strings containing spaces (i.e. git commit -m "Commit message here").

Here is a quick python function that can be used to run commands including parameters with spaces:

import shlex, subprocess

def run_command( command ):
    subprocess.call(shlex.split(command))
Related