<< Chapter < Page Chapter >> Page >

The syntax of the call to the print function with two parameters in Listing 3 is probably different from what you have seen in my previous modules. By default, the print function terminates each output line with a newline . Because the lines of text in the file already contain a newline, without the second parametershown in Listing 3 , the output shown in Figure 1 would be double-spaced. The inclusion of the second parameter in the call to the print function in Listing 3 prevents the print function from inserting an extra newline and inserts an empty string instead.

Append more text to the file

The code in Listing 4 begins by printing a blank line to cause the output shown in Figure 3 to be more readable.

Then the code in Listing 4

  • re-opens the file for appending,
  • writes two additional text lines into the file, and
  • closes the file.
Listing 4 . Append more text to the file.
print()#blank line to separate the output text #Append some text to the file.#Open the file object for appending. theFile = open("SampleTextFile.txt","a")#Append two more lines of text to the file. theFile.write("First appended line.\n")theFile.write("Second appended line.\n") #Close the filetheFile.close()

Read and print the file contents with a while loop

The readline method of a file object will read and return the next line from the file. An empty string is returned whenthe end of file is encountered. (There are some subtle ramifications that you can learn about at File Objects .)

The code in Listing 5 uses the readline method in a while loop to read and print each line of text in the file.

Listing 5 . Read and print the file contents with a while loop.
#Open the file object in default read mode. theFile = open("SampleTextFile.txt")#Read and print the lines of text using a different approach. line = theFile.readline()print(line,end='') while line != "":line = theFile.readline() print(line,end='')#Close the file theFile.close()

Figure 2 shows the output produced by the code in Listing 5 .

Figure 2 . Output from the code in Listing 5.
This is a sample text file. Second line of text.Third line. Fourth line.Last line. First appended line.Second appended line.

If you compare Figure 2 with Figure 1 , you will see that the two lines of text that were appended by the code in Listing 4 are shown in Figure 2 .

Run the program

I encourage you to copy the code from Listing 6 . Execute the code and confirm that you get the same results as those shown in Figure 3 . Experiment with the code, making changes, and observing the results of your changes. Make certain that youcan explain why your changes behave as they do.

Complete program listing

A complete listing of the program discussed in this module is provided in Listing 6 . The output produced by this program is shown in Figure 3 .

Listing 6 . Complete program listing.

# Illustrates how to write, read, and append to a text file. #---------------------------------------------------------------------------#Open a file object for writing. theFile = open("SampleTextFile.txt","w")#Write several lines of text to the file. Note the requirement to explicitly #provide the newline at the end of each line of text.theFile.write("This is a sample text file.\n") theFile.write("Second line of text.\n")theFile.write("Third line.\n") theFile.write("Fourth line.\n")theFile.write("Last line.\n") #Be sure to close the filetheFile.close() #Open the file object in read mode. Note that the "r" mode is the default#but it is shown here for clarity. theFile = open("SampleTextFile.txt","r")#Read and print the lines of text. for line in theFile:print(line,end='') #Close the filetheFile.close() print()#blank line to separate the output text#Append some text to the file. #Open the file object for appending.theFile = open("SampleTextFile.txt","a") #Append two more lines of text to the file.theFile.write("First appended line.\n") theFile.write("Second appended line.\n")#Close the file theFile.close()#Open the file object in default read mode. theFile = open("SampleTextFile.txt")#Read and print the lines of text using a different approach. line = theFile.readline()print(line,end='') while line != "":line = theFile.readline() print(line,end='')#Close the file theFile.close()
Figure 3 . Output produced by the code in Listing 6.
This is a sample text file. Second line of text.Third line. Fourth line.Last line. This is a sample text file.Second line of text. Third line.Fourth line. Last line.First appended line.

Miscellaneous

This section contains a variety of miscellaneous information.

Housekeeping material
  • Module name: Itse1359-1510-Reading and Writing Text Files
  • File: Itse1359-1510.htm
  • Published: 10/28/14
  • Revised: 02/08/16
Disclaimers:

Financial : Although the Connexions site makes it possible for you to download a PDF file for thismodule at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, you should beaware that some of the HTML elements in this module may not translate well into PDF.

I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version of the module.

In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale on Amazon.com showing me as the author. Ineither receive compensation for those sales nor do I know who does receive compensation. If you purchase such a book, please beaware that it is a copy of a module that is freely available on cnx.org and that it was made and published withoutmy prior knowledge.

Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.

-end-

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Itse 1359 introduction to scripting languages: python. OpenStax CNX. Jan 22, 2016 Download for free at https://legacy.cnx.org/content/col11713/1.32
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Itse 1359 introduction to scripting languages: python' conversation and receive update notifications?

Ask