As you’ve seen, text is integral to most Python programs, and you saw how often of our examples use it. We take text input from users, manipulate that text, and display messages in response. This is why Python comes with so many text-related features. In this chapter, you learned how to split and join strings; format, edit, and search for strings; use regular expressions to search for patterns within strings; and work with the files on your file system. We then applied much of this in our example application. 160 C H A P T E R 8 ? ? ? Executable Files, Organization, and Python on the Web Up to this point, you’ve been running your scripts via the python interpreter. This is all well and good, but it would be nice if we could get the scripts to run by themselves, just like real programs, so that’s just what we'll look at first. I’ll then cover how to organize and spruce up your code, because clean, organized code makes you more efficient and gives you time to write even more lovely Python code. This leads us onto some of the dynamic features of Python: modules and the exec() and eval() functions. These features give you more flexibility and choice when writing Python applications.