' Connects input/ouput streams between multiple subprocesses easily just like shell pipe. ' Provides almost the same interface as python subprocess module with some exceptions.
pip3 install pipe-subprocess
Just pass commands to run function.
>>> import pipesubprocess as pipesub
>>> result = pipesub.run(["ls /usr/bin/", "grep py", "head -2"], stdout=pipesub.PIPE)
>>> print(result.stdout)
pbcopy
pydoc
# Commands can be written just as *args.
```python
>>> result = pipesub.run("ls /usr/bin/", "grep py", "head -2")
>>> print(result.stdout)
pbcopy
pydoc
Use run() function to run multiple piped subprocesses. In more complecated case, use pipesubporcess.Popen.
def run(*cmdlist, shlex=True, stdin=None, input=None, stdout=None, stderr=None, capture_output=True, shell=False, cwd=None, timeout=None, check=False, encoding=None, errors=None, text=True, env=None, universal_newlines=None)
- It runs multiple process specified in cmdlist and connects stdout and stdin in the order of cmdlist.
- It returns CompletedProcess()
- input is written to stdin of the first command.
- When timeout ([second] in float) is specified, it raises pipesubprocess.TimeoutExpired() when commands takes longer than that timeout.
- If check=True, it raises pipesubprocess.CalledProcessError() when there is a command with exit code not zero. ' See [README_details.md] for other options.
All exceptions of pipesubprocess module inherits this exception. So all exceptions of thie module can be catched by this exception.
- It represents the arguments of one process passed to *subproces.Popen().
- name
- name of the argument. The first args by default.
- See [README_details.md] for other attributes.
- The return value from run(), representing the finish status of processes.
- popen_args_list
- List of PopenArgs instance.
- returncodes
- List of return codes. None if all commands have not finished yet.
- stdout
- stdout of the last command. , stderr
- gathred stderr of all the commands.
- check_returncodes()
- raises pipesubprocess.CalledProcessError() when returncodes have any non-zero status.
- popen_args
- List of PopenArgs instance.
- timeout
- timeout value specified.
- stdout
- stdout of the last command.
- stderr
- gathred stderr of all the commands.