Skip to main content

Terminal extension for python

Project description

TerminalPyth

Library that allows you to call terminal commands in python whithout discarding director changes (unlike os.system() method does).

Installation:

$ pip install terminalpyth

Usage:

import terminalpy

Create a terminalpy object. Pass True or False as argument if you want (or not) to have back the output.

trm = terminalpy.Terminal(output=True)

Only one straight-forward method: type. Pass inside it the command you want to be executed.

output = trm.type('pwd')

# in this case, returns path to the current directory,
# which in this case is stored in "output"

It works with pretty much every terminal command.

To use "sudo", if you are not in a terminal session itself, you must add the "-S" option, to read the password from IDE (e.g. Pycharm).

trm.clear()

This command clears the memory of the directory changes, returning back to the project foler.

trm.setOutput(output=False)

Changes the state of the return action. If "False", there will be no return value, otherwise there will.
The method allows to change the state during the session.

Example:

Imagine a basic directory tree:

- home
    - python
        - project1
            - main.py
        - prokect2
            - main2.py
    - cpp
        - project3

This is the difference between TerminalPyth and os, receiving the same exact instructions:

# /home/python/project1/main.py
import terminalpy as tp

term = tp.Terminal(output=True)

path = term.type('pwd')
print(path)
# output: /home/python/project1

term.type('cd ..')
print(term.type('ls')
# output:   project1
#           project2

term.type('cd ..')
term.type('cd cpp')
print(term.type('pwd'))
# output: /home/cpp

term.clear()
print(term.type('pwd'))
# output: /home/python/project1

--------------------------------

# /home/python/project2/main2.py
import os

os.system('pwd')
# output: /home/python/project2

os.system('cd ..')
os.system('ls')
# output: main2.py

os.system('cd ..')
os.system('cd c++') # Error: The directory 'cpp' does not exist
os.system('pwd')
# output: /home/python/project2

The main differences between TerminalPyth and os.system():
- TerminalPyth allows multiple direcotry changes
- TerminalPyth allows to store the output in a variable
- TerminalPyth lets you chose if return the output or not
- os.system() prints its output always, in any case
- os.system() doesn't allow to store the output
- os.system() doesn't allow multiple directory change

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

terminalpyth-2.1.0.tar.gz (3.9 kB view hashes)

Uploaded Source

Built Distribution

terminalpyth-2.1.0-py3-none-any.whl (5.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page