Python text operations module
Project description
Install
To install:
pip install python-textops3
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
3.2.1 (2022-03-31)
add Python 3.10 support
3.1.0 (2020-06-25)
add TupleExt
DictExt now support pickle
3.0.8 (2019-10-08)
add encoding & encoding_errors arguments to cat()
3.0.7 (2019-10-01)
add separators argument to parse_smart()
3.0.6 (2019-09-25)
add key_filter argument to parse_smart()
3.0.5 (2019-06-14)
add decode_bytes()
3.0.3 (2018-11-07)
Migrate from python 2 to python 3
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.
Source Distribution
Built Distribution
File details
Details for the file python-textops3-3.2.1.tar.gz
.
File metadata
- Download URL: python-textops3-3.2.1.tar.gz
- Upload date:
- Size: 89.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b99768eda465a333bfd61ac75fafc71044f1d4d8fc67568d8e0163316805f39d |
|
MD5 | 9fea8ea35142652437c9aba2c8551350 |
|
BLAKE2b-256 | 6dba116d6220c6e844bb64c9af9f97dabdff1a07b23449b4ae651e78e7a984dd |
File details
Details for the file python_textops3-3.2.1-py3-none-any.whl
.
File metadata
- Download URL: python_textops3-3.2.1-py3-none-any.whl
- Upload date:
- Size: 62.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | da9c5358d132e4d90b52792d0e9bcee81f5f03f5320b4456f2429588f1cd7903 |
|
MD5 | f044e1450e61b867ad19f2bca1e6eff5 |
|
BLAKE2b-256 | 1c5a0f03be7363710c519b1874cfd525e66a05d24da7c710c9634d6d5568efa5 |