easysh

an easy to execute shell commands in Python.


Keywords
shell, sh
License
MIT
Install
pip install easysh==1.0.0

Documentation

easysh

an easy to execute shell in python

Requirements

Python 3.3 +

Installation

pip install easysh

Usage

from easysh import Shell

output= Shell.exec('ls -l')
print(output)

asyncio

from easysh import Shell

output= await Shell.aexec('ls -l',cwd='/var')
print(output)

Real-time output

from easysh import Shell

with Shell.create('ls -l') as std:
    for line in std:
        print(line)

asyncio Real-time output

from easysh import Shell

async with Shell.create('ls -l') as std:
    async for line in std:
        print(line)

execute shell command with timeout

from easysh import Shell

# raise subprocess.TimeoutExpired
await Shell.aexec('python',timeout=3)

error handing

from easysh import Shell, ShellError

try:
    Shell.exec("unknown command")
except ShellError as e:
    print(e)

capturing the output and error streams

from easysh import Shell

# capturing the output and error streams
with Shell.create("unknown command", raise_on_stderr=False) as std:
    output = std.read()
    print(output)
    print(std.has_errors)