Python text operations module
Project description
Install
To install:
pip install python-textops
Overview
The usual way to use textops is something like below. IMPORTANT : Note that textops library redefines the python bitwise OR operator ‘|’ in order to use it as a ‘pipe’ like in a Unix shell:
from textops import * result = "an input text" | my().chained().operations() or for result_item in "an input text" | my().chained().operations(): do_something(result_item) or myops = my().chained().operations() # and later in the code, use them : result = myops("an input text") or result = "an input text" | myops
An “input text” can be :
a simple string,
a multi-line string (one string having newlines),
a list of strings,
a strings generator,
a list of lists (useful when you cut lines into columns),
a list of dicts (useful when you parse a line).
So one can do:
>>> 'line1line2line3' | grep('2').tolist() ['line1line2line3'] >>> 'line1\nline2\nline3' | grep('2').tolist() ['line2'] >>> ['line1','line2','line3'] | grep('2').tolist() ['line2'] >>> [['line','1'],['line','2'],['line','3']] | grep('2').tolist() [['line', '2']] >>> [{'line':1},{'line':'2'},{'line':3}] | grep('2').tolist() [{'line': '2'}]
Examples
Piped then dotted notation (recommended):
>>> print 'this is an error\nthis is a warning' | grepi('error').first().upper() THIS IS AN ERROR
You could use the pipe everywhere (internally a little less optimized, but looks like shell):
>>> print 'this is an error\nthis is a warning' | grepi('error') | first() | strop.upper() THIS IS AN ERROR
To execute an operation directly from strings, lists or dicts with the dotted notation, you must use textops Extended types : StrExt, ListExt or DictExt:
>>> s = StrExt('this is an error\nthis is a warning') >>> print s.grepi('error').first().upper() THIS IS AN ERROR
Documentation
Please, read documentation here :
News
0.2.0 (2015-12-16)
Better repr display in ipython
0.1.9 (2015-12-15)
Add eformat
Add context dict parameter for format and render operations
0.1.8 (2015-12-10)
Add less(), skess() list operations
Add parse_smart() parser
0.1.7 (2015-11-26)
Add some operations
perf tunning
0.1.3 (2015-11-20)
Tune many things
All is now documented
0.1.2 (2015-11-04)
More docs and doctests
0.1.1 (2015-11-04)
First working package
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.