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.
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.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab2ebb3a36838ebcb6b78d51b60add1e8d52cf16cd3ce0c5114e4a81b53427f0 |
|
MD5 | a57d6d72d402be26b3ee0e449bf6e929 |
|
BLAKE2b-256 | 3e2abe44eb32a3e46437c28cd129f39afd3fd8a1e332a802064913e85a03bc99 |