Exercises

This chapter is full of programs we encourage you to type in and play with. However, if you really want exercises, here are a few more challenging ones:

  1. Redirecting stdout. Modify the mygrep.py script to output to the last file specified on the command line instead of to the console.

  2. Writing a shell. Using the Cmd class in the cmd module and the functions listed in Chapter 8 for manipulating files and directories, write a little shell that accepts the standard Unix commands (or DOS commands if you’d rather): ls (dir) for listing the current directory, cd for changing directory, mv (or ren) for moving/renaming a file, and cp (copy) for copying a file.

  3. Understanding map, reduce, and filter. The map, reduce, and filter functions are somewhat difficult to understand if it’s the first time you’ve encountered this type of function, partly because they involve passing functions as arguments, and partly because they do a lot even with such small names. One good way to ensure you know how they work is to rewrite them; in this exercise, write three functions (map2, reduce2, filter2), that do the same thing as map, filter, and reduce, respectively, at least as far as we’ve described how they work:

    • map2 takes two arguments. The first should be a function accepting two arguments, or None. The second should be a sequence. If the first argument is a function, that function is called with each element of the sequence, and the resulting values are returned in a list. If the first argument ...

Get Learning Python now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.