Teachnique
      CourseRoadmaps
      Login

      OverviewCommentsUser InputNumbersBooleansHistoryHello World ProgramEnvironment SetupSyntaxVariablesData TypesType CastingUnicode SystemLiteralsOperators

      Control FlowBreak StatementContinue StatementPass StatementNested LoopsDecision MakingIf StatementIf-else StatementNested IF StatementMatch-Case StatementLoopsFor LoopsFor-else LoopsWhile Loops

      FunctionsBuilt-in FunctionsDefault ArgumentsKeyword ArgumentsKeyword-Only ArgumentsPositional ArgumentsPositional-Only ArgumentsArbitrary ArgumentsVariable ScopeFunction AnnotationsModules

      StringSlicing StringsModify StringsString ConcatenationString FormattingEscape CharactersString MethodsString Exercises

      ListsList ExercisesAccess List ItemsChange List ItemsAdd List ItemsRemove List ItemsLoop ListsList ComprehensionSort ListsCopy ListsJoin ListsList Methods

      TuplesAccess Tuple ItemsUpdate TuplesUnpack Tuple ItemsLoop TuplesJoin TuplesTuple MethodsTuple Exercises

      SetsAccess Set ItemsAdd Set ItemsRemove Set ItemsLoop SetsJoin SetsCopy SetsSet OperatorsSet MethodsSet Exercises

      DictionariesDictionary ExercisesAccess Dictionary ItemsChange Dictionary ItemsAdd Dictionary ItemsRemove Dictionary ItemsDictionary View ObjectsLoop DictionariesCopy DictionariesNested DictionariesDictionary Methods

      ArraysAccess Array ItemsAdd Array ItemsRemove Array ItemsLoop ArraysCopy ArraysReverse ArraysSort ArraysJoin ArraysArray MethodsArray Exercises

      File HandlingWrite to FileRead FilesRenaming and Deleting FilesDirectoriesFile Methods

      OOP ConceptsDynamic BindingDynamic TypingAbstractionObject and ClassesEncapsulationInterfacesPackagesInner ClassesAnonymous Class and ObjectsSingleton ClassWrapper ClassesEnumsReflectionClass AttributesClass MethodsStatic MethodsConstructorsAccess ModifiersInheritancePolymorphismMethod OverridingMethod Overloading

      Feedback

      Submit request if you have any questions.

      Course
      File Handling

      Python Tutorial

      This Python tutorial has been written for the beginners to help them understand the basic to advanced concepts of Python Programming Language. After completing this tutorial, you will find yourself at a great level of expertise in Python, from where you can take yourself to the next levels to become a world class Software Engineer.

      File Handling

      When we use any computer application, some data needs to be provided. Data is stored in computer's main memory (RAM) until the application is running. Thereafter, memory contents from RAM are erased.
      We would like to store it in such a way that it can be retrieved whenever required in a persistent medium such as a disk file.
      Python uses built-in input() and print() functions to perform standard input/output operations. Python program interacts with these IO devices through standard stream objects stdin and stdout defined in sys module.
      
      The input() function reads bytes from a standard input stream device i.e. keyboard. Hence both the following statements read input from the user.
      name = input()
      #is equivalent to
      import sys
      name = sys.stdin.readline()
      The print() function on the other hand, sends the data towards standard output stream device, i.e., the display monitor. It is a convenience function emulating write() method of stdout object.
      print (name)
      
      #is equivalent to
      import sys
      sys.stdout.write(name)
      Any object that interacts with input and output steam is called File object. Python's built-in function open() returns a file object.

      The open() Function

      This function creates a file object, which would be utilized to call other support methods associated with it.

      Syntax

      file object = open(file_name [, access_mode][, buffering])
      Here are the parameter details −
      file_name − The file_name argument is a string value that contains the name of the file that you want to access.
      access_mode − The access_mode determines the mode in which the file has to be opened, i.e., read, write, append, etc. A complete list of possible values is given below in the table. This is an optional parameter and the default file access mode is read (r).
      buffering − If the buffering value is set to 0, no buffering takes place. If the buffering value is 1, line buffering is performed while accessing a file. If you specify the buffering value as an integer greater than 1, then buffering action is performed with the indicated buffer size. If negative, the buffer size is the system default (default behavior).

      File Opening Modes

      Following are the file opening modes
      Sr.No.
      Modes & Description
      1
      r
      Opens a file for reading only. The file pointer is placed at the beginning of the file. This is the default mode.
      2
      rb
      Opens a file for reading only in binary format. The file pointer is placed at the beginning of the file. This is the default mode.
      3
      r+
      Opens a file for both reading and writing. The file pointer placed at the beginning of the file.
      4
      rb+
      Opens a file for both reading and writing in binary format. The file pointer placed at the beginning of the file.
      5
      w
      Opens a file for writing only. Overwrites the file if the file exists. If the file does not exist, creates a new file for writing.
      6
      b
      Opens the file in binary mode
      7
      t
      Opens the file in text mode (default)
      8
      +
      open file for updating (reading and writing)
      9
      wb
      Opens a file for writing only in binary format. Overwrites the file if the file exists. If the file does not exist, creates a new file for writing.
      10
      w+
      Opens a file for both writing and reading. Overwrites the existing file if the file exists. If the file does not exist, creates a new file for reading and writing.
      11
      wb+
      Opens a file for both writing and reading in binary format. Overwrites the existing file if the file exists. If the file does not exist, creates a new file for reading and writing.
      12
      a
      Opens a file for appending. The file pointer is at the end of the file if the file exists. That is, the file is in the append mode. If the file does not exist, it creates a new file for writing.
      13
      ab
      Opens a file for appending in binary format. The file pointer is at the end of the file if the file exists. That is, the file is in the append mode. If the file does not exist, it creates a new file for writing.
      14
      a+
      Opens a file for both appending and reading. The file pointer is at the end of the file if the file exists. The file opens in the append mode. If the file does not exist, it creates a new file for reading and writing.
      15
      ab+
      Opens a file for both appending and reading in binary format. The file pointer is at the end of the file if the file exists. The file opens in the append mode. If the file does not exist, it creates a new file for reading and writing.
      16
      x
      open for exclusive creation, failing if the file already exists
      Once a file is opened and you have one file object, you can get various information related to that file.

      Example

      # Open a file
      fo = open("foo.txt", "wb")
      print ("Name of the file: ", fo.name)
      print ("Closed or not: ", fo.closed)
      print ("Opening mode: ", fo.mode)
      fo.close()
      It will produce the following output
      Name of the file: foo.txt
      Closed or not: False
      Opening mode: wb

      Practice with Online Editor

      Note: This Python online Editor is a Python interpreter written in Rust, RustPython may not fully support all Python standard libraries and third-party libraries yet.
      Remember to save code(Ctrl + S Or Command + S) before run it.