معرفی شرکت ها


creek-0.1.9


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Simple streams facade
ویژگی مقدار
سیستم عامل -
نام فایل creek-0.1.9
نام creek
نسخه کتابخانه 0.1.9
نگهدارنده []
ایمیل نگهدارنده []
نویسنده OtoSense
ایمیل نویسنده -
آدرس صفحه اصلی https://github.com/i2mint/creek
آدرس اینترنتی https://pypi.org/project/creek/
مجوز apache-2.0
# creek Simple streams facade. To install: ```pip install creek``` [Documentation here](https://i2mint.github.io/creek/) The ``Creek`` base class offsers a layer-able wrap of the stream interface. There are three layering methods -- pre_iter, data_to_obj, and post_filt -- whose use is demonstrated in the iteration code below: ``` for line in self.pre_iter(self.stream): # pre_iter: prepare and/or filter the stream obj = self.data_to_obj(line) # data_to_obj: Transforms the data that stream yields if self.post_filt(obj): # post_filt: Filters the stream further (but based on object now) yield obj ``` Examples: ```pydocstring >>> from io import StringIO >>> src = StringIO( ... '''a, b, c ... 1,2, 3 ... 4, 5,6 ... ''' ... ) >>> >>> from creek import Creek >>> >>> class MyCreek(Creek): ... def data_to_obj(self, line): ... return [x.strip() for x in line.strip().split(',')] ... >>> stream = MyCreek(src) >>> >>> list(stream) [['a', 'b', 'c'], ['1', '2', '3'], ['4', '5', '6']] >>> stream.seek(0) # oh!... but we consumed the stream already, so let's go back to the beginning 0 >>> list(stream) [['a', 'b', 'c'], ['1', '2', '3'], ['4', '5', '6']] >>> stream.seek(0) # reverse again 0 >>> next(stream) ['a', 'b', 'c'] >>> next(stream) ['1', '2', '3'] ``` Let's add a filter! There's two kinds you can use. One that is applied to the line before the data is transformed by data_to_obj, and the other that is applied after (to the obj). ```pydocstring >>> from creek import Creek >>> from io import StringIO >>> >>> src = StringIO( ... '''a, b, c ... 1,2, 3 ... 4, 5,6 ... ''') >>> class MyFilteredCreek(MyCreek): ... def post_filt(self, obj): ... return str.isnumeric(obj[0]) >>> >>> s = MyFilteredCreek(src) >>> >>> list(s) [['1', '2', '3'], ['4', '5', '6']] >>> s.seek(0) 0 >>> list(s) [['1', '2', '3'], ['4', '5', '6']] >>> s.seek(0) 0 >>> next(s) ['1', '2', '3'] ``` Recipes: - pre_iter: involving itertools.islice to skip header lines - pre_iter: involving enumerate to get line indices in stream iterator - pre_iter = functools.partial(map, line_pre_proc_func) to preprocess all lines with line_pre_proc_func - pre_iter: include filter before obj


نحوه نصب


نصب پکیج whl creek-0.1.9:

    pip install creek-0.1.9.whl


نصب پکیج tar.gz creek-0.1.9:

    pip install creek-0.1.9.tar.gz