We have already looked at reading from and writing to files. The other important feature of files is their uses in "redirection." Every major operating system has at least two files that aren't necessarily on the hard drive. The vernacular for these is "standard input" and "standard output." (Some systems also have "standard error," but we won't get into that.) Basically, when you issue an input command, you're directing Python to read from the keyboard, usually, but not necessarily always. And when you use print, you're directing output to the window on your screen running your program, usually but not necessarily always. What's really happening is that you are reading from standard input and writing to standard output and these are usually connected to your keyboard and screen, but they don't have to be.