9.7 Additional Notes Regarding Files

  • Table of file-open modes for text files
    • Reading modes raise a FileNotFoundError if the file does not exist
    • Each text-file mode has a corresponding binary-file mode specified with b, as in 'rb' or 'wb+'
Mode Description
'r' Open a text file for reading. This is the default if you do not specify the file-open mode when you call open.
'w' Open a text file for writing. Existing file contents are deleted.
'a' Open a text file for appending at the end, creating the file if it does not exist. New data is written at the end of the file.
'r+' Open a text file reading and writing.
'w+' Open a text file reading and writing. Existing file contents are deleted.
'a+' Open a text file reading and appending at the end. New data is written at the end of the file. If the file does not exist, it is created.

Other File Object Methods

  • read
    • For a text file, returns a string containing the number of characters specified by the method’s integer argument
    • For a binary file, returns the specified number of bytes
    • If no argument is specified, the method returns the entire contents of the file
  • readline
    • Returns one line of text as a string, including the newline character if there is one
    • Returns an empty string when it encounters the end of the file
  • writelines
    • Receives a list of strings and writes its contents to a file
  • Classes that Python uses to create file objects are defined in the Python Standard Library’s io module

©1992–2020 by Pearson Education, Inc. All Rights Reserved. This content is based on Chapter 5 of the book Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and the Cloud.

DISCLAIMER: The authors and publisher of this book have used their best efforts in preparing the book. These efforts include the development, research, and testing of the theories and programs to determine their effectiveness. The authors and publisher make no warranty of any kind, expressed or implied, with regard to these programs or to the documentation contained in these books. The authors and publisher shall not be liable in any event for incidental or consequential damages in connection with, or arising out of, the furnishing, performance, or use of these programs.