We need to distinguish between several design features of a Python script:
- We've seen several aspects of gathering input:
- Getting highly dynamic input from a command-line interface and environment variables. See the Using argparse to get command-line input recipe in Chapter 5, User Inputs and Outputs.
- Getting slow for changing configuration options from files. See the recipes, Finding configuration files, Using YAML for configuration files, and Using Python for configuration files.
- For reading any input files, see the Reading delimited files with the CSV module, Reading complex formats using regular expressions, Reading JSON documents, Reading XML documents, and Reading HTML documents recipes in Chapter 8, Input/Output, Physical ...