system tools "the os path to knowledgethis begins our in-depth look at ways to apply python to real programming tasks in this and the following you'll see how to use python to write system toolsguisdatabase applicationsinternet scriptswebsitesand more along the waywe'll also study larger python programming concepts in actioncode reusemaintainabilityobject-oriented programming (oop)and so on in this first part of the bookwe begin our python programming tour by exploring the systems application domain--scripts that deal with filesprogramsand the general environment surrounding program although the examples in this domain focus on particular kinds of tasksthe techniques they employ will prove to be useful in later parts of the book as well in other wordsyou should begin your journey hereunless you are already python systems programming wizard why python herepython' system interfaces span application domainsbut for the next five most of our examples fall into the category of system tools--programs sometimes called command-line utilitiesshell scriptssystem administrationsystems programmingand other permutations of such words regardless of their titleyou are probably already familiar with this sort of scriptthese scripts accomplish such tasks as processing files in directorylaunching test programsand so on such programs historically have been written in nonportable and syntactically obscure shell languages such as dos batch filescshand awk even in this relatively simple domainthoughsome of python' better attributes shine brightly for instancepython' ease of use and extensive built-in library make it simple (and even funto use advanced system tools such as threadssignalsforkssocketsand their kinsuch tools are much less accessible under the obscure syntax of shell languages and the slow development cycles of compiled languages python' support for concepts like code clarity and oop also help us write shell tools that can be read