Exercises

  1. Describing a directory. Write a function that takes a directory name and describes the contents of the directory, recursively (in other words, for each file, print the name and size, and proceed down any eventual directories).

  2. Modifying the prompt. Modify your interpreter so that the prompt is, instead of the >>> string, a string describing the current directory and the count of the number of lines entered in the current Python session.

  3. Avoiding regular expressions. Write a program that obeys the same requirements as pepper.py but doesn’t use regular expressions to do the job. This is somewhat difficult, but a useful exercise in building program logic.

  4. Wrapping a text file with a class. Write a class that takes a filename and reads the data in the corresponding file as text. Make it so that this class has three methods: paragraph, line, word, each of which take an integer argument, so that if mywrapper is an instance of this class, printing mywrapper.paragraph[0] prints the first paragraph of the file, mywrapper.line[-2] prints the next-to-last line in the file, and mywrapper.word[3] prints the fourth word in the file.

  5. Common tasks. These exercises don’t have solutions in Appendix C, but instead are selected from the examples shown in Chapter 9. Try them now before you read Chapter 9 if you wish to be challenged!

    • How would you make a copy of a list object? How about a dictionary?

    • How would you sort a list? How about randomizing the order of its elements?

    • If you’ve heard ...

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.