<< 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.
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
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() |
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 .
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.
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. |
This section contains a variety of miscellaneous information.
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-
Notification Switch
Would you like to follow the 'Itse 1359 introduction to scripting languages: python' conversation and receive update notifications?