Skip to content

Python multi OS wrapper to sub-process execution with input, output streaming

License

Notifications You must be signed in to change notification settings

hithwen/py-execute

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

py-execute Build Status

Python multi OS wrapper to run external proccesses. It allows you to see real time output but also get all the output in a single string in the return value. It can also handle user input.

This library is part of biicode core

Examples

>>> from py_execute import run_command
>>> ret = run_command.execute('echo "Hello World"')
Hello World
>>> ret
'Hello World\n'

Command with input

>>> ret = run_command.execute('read -p "Do you like py-executor?" yn; case $yn in [yY]* ) echo "cool";; esac', user_input='y\n')
cool
>>> ret
'cool\n'

If you dont want real time output:

>>> from py_execute.process_executor import execute
>>> execute('echo "Hello"', ui=Mock())
(0, 'Hello\n')

If you want to dump all output in a StringIO:

>>> from py_execute.process_executor import execute
>>> from py_execute.basicuserio import BasicUserIO
>>> from py_execute.outputstream_wrapper import OutputStreamWrapper
>>> from StringIO import StringIO
>>> ui = BasicUserIO(out=OutputStreamWrapper(StringIO()))
>>> execute('echo "Hello"', ui=ui)
(0, 'Hello\n')
>>> str(ui.out)
'Hello\n'

Install

pip install py-execute

About

Python multi OS wrapper to sub-process execution with input, output streaming

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages