shell command invocation with backquotes, like Perl, Ruby.
Project description
Introduction
backquotes brings (Perl / Ruby)’s shell invocation syntax to Python.
backquotes is experimental module by now, using it in a serious program is not recommended.
Syntax
Firstly, remember to import backquotes module.
import backquotes
Basic
You can use similar syntax to Perl / Ruby.
import backquotes
print(`date`)
Pipes and redirections
Yes, you can use pipes, redirections too.
import backquotes
print(`ls | tr [a-z] [A-Z]`.splitlines())
Local variables substitution
To bring local variables in Python code to shell command, use Perl-like variables substitution.
import backquotes
spam = 'spam'
print(`echo $spam`)
$$ is substituted to a literal $.
import backquotes
print(`echo $$PATH`)
Usage
Runtime-preprocessing
You can use runtime-preprocessing only in Python 2. This works transparently when you import backquotes.
#!/usr/bin/env python
import backquotes
print(`date`)
Save as date.py, and run it as usual.
python date.py
You will see the result of date command.
Runtime-preprocessing sometimes causes SyntaxError before preprocessing starts, especially with complex commands invocation. You can avoid this error by using single-quotes just inside the backquotes.
print(`'for file in *; do echo $file; done'`)
Execute backquotes module
Run python with -m backquotes option to invoke backquotes as a script. backquotes compiles a plain Python code and execute it.
python -m backquotes date.py
You can pass arguments to the script.
python -m backquotes date.py 2015 10 31
Preprocess Python code
Run python with -m backquotes -E option to only preprocess the given source file and print to stdout.
mkdir dist
python -m backquotes -E date.py > dist/date.py
python dist/date.py
Restrictions
backquotes does not work in Python REPL. Import it in REPL causes warnings.
a module which imports backquotes does not work when it is imported.
Install
pip install backquotes
or
git clone https://github.com/manicmaniac/backquotes.git
cd backquotes
python setup.py install
or
wget https://raw.githubusercontent.com/manicmaniac/backquotes/master/backquotes.py
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
Built Distribution
Hashes for backquotes-0.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24489ea2ea8a1f4247318cf511297fbb83e996d1da254d3d8b57c5b87d6990dd |
|
MD5 | 0978076f09790b89a21c512c4e4a0ea1 |
|
BLAKE2b-256 | fdbd4d30b725de88c03695ce8e7bfe585af834a181c097d53c0190bc4ffc5ec4 |