1.3 KiB
1.3 KiB
id, source_exercise_id, title, section, source_path, source_repo, source_commit, student_visible_solution, has_private_solution, skip
| id | source_exercise_id | title | section | source_path | source_repo | source_commit | student_visible_solution | has_private_solution | skip |
|---|---|---|---|---|---|---|---|---|---|
| practical-python-6.8 | 6.8 | Setting up a simple pipeline | 6.3 Producers, Consumers and Pipelines | 06_Generators/03_Producers_consumers.md | https://github.com/dabeaz-course/practical-python | 93dca856b41c61a0a0f85ae334116e4c125629ea | false | false | false |
Exercise 6.8: Setting up a simple pipeline
Source: Practical Python Programming,
06_Generators/03_Producers_consumers.md.
Exercise 6.8: Setting up a simple pipeline
Let's see the pipelining idea in action. Write the following function:
>>> def filematch(lines, substr):
for line in lines:
if substr in line:
yield line
>>>
This function is almost exactly the same as the first generator example in the previous exercise except that it's no longer opening a file--it merely operates on a sequence of lines given to it as an argument. Now, try this:
>>> from follow import follow
>>> lines = follow('Data/stocklog.csv')
>>> ibm = filematch(lines, 'IBM')
>>> for line in ibm:
print(line)
... wait for output ...
It might take awhile for output to appear, but eventually you should see some lines containing data for IBM.