Skip to Content

Advertisement

You (Level 0)
0% Complete
Last Badge Earned
None

Reading files is cool and all, but writing to files is a whole lot more fun. It also should instill a sense of danger in you because you can overwrite content and lose everything in just a moment. Despite the threat of danger, we press on. Python makes writing to files very simple. With somewhat similar methods to reading, writing has primarily 2 methods for writing. Let's get to it!

Warning! The Evil "w" in the Open Method

Example f = open("test.txt","w") #opens file with name of "test.txt"
f.close()

...And whoops! There goes our content. As I said, we are in dangerous water here friends. As soon as you place "w" as the second argument, you are basically telling Python to nuke the current file. Now that we have nuked our file, let's try rebuilding it.

Example f = open("test.txt","w") #opens file with name of "test.txt"
f.write("I am a test file.")
f.write("Maybe someday, he will promote me to a real file.")
f.write("Man, I long to be a real file")
f.write("and hang out with all my new real file friends.") f.close()

If you were continuing from the last tutorial, we just rewrote the contents that we deleted to the file. However, you might be flipping out screaming, "but it's not the same!" You are 100% correct my friend. Hit the control key a couple of times and cool off, I'll show you the fix in a minute. Ultimately, the write() method is really easy. You just pass a string into it (or a string variable) and it will write it to the file following that one way process it does. We also noticed that it kept writing without using any line breaks. Let's use another method to fix this.

Writing Lines to a File

We have the a fairly easy solution of just putting a new line character "\n" at the end of each string like this:

Example f.write("Maybe someday, he will promote me to a real file.\n")

It's just a simple text formatting character. Yes, even text files have a special formatting similar to how HTML documents have their own special formatting. Text files are just much more limited than HTML.

Appending to a File

Example f = open("test.txt","a") #opens file with name of "test.txt"
f.write("and can I get some pickles on that")
f.close()

Boom! While our text file makes absolutely no sense to a human, we both know we just had a big victory. The only big change here is in the open() method. We now have an "a" (for append) instead of the "w". Appending is really just that simple. Now go out there and write all over the world my friend.

For a more tangible and better look into the Python language, consider reading the following book. It's an excellent read.

Your code will execute in this window.



Let's explore some more tutorials or topics!

Next Tutorial Previous Tutorial

Advertisement

If you enjoyed this resource, support me by sharing this page with others.

Comment on

Show Comments
  • User

    Yona June 25, 2015, 7:11 p.m.

    i get this "todo; haven't implemented non-read opens" when i implement in the code simulator. the code im running: f = open("output.txt", "a") f.write("hi there \n") f.close()

  • User

    A Guru called wizard Feb. 13, 2015, 5:38 p.m.

    Barak just open it with append and change the line to " " like so: f = open("test.txt","a") f.write("")[the line number you want] f.close() #enjoy :) ~Mr Guru

  • User

    sandesh poudel Dec. 14, 2014, 7:13 p.m.

    great

  • User

    Barak Dec. 10, 2014, 2:37 p.m.

    how we delete line?

  • User

    Zei June 5, 2014, 3:20 a.m.

    Hey, brilliant stuff! Very easy to follow tutorials so far!

  • User

    AbbbY April 25, 2014, 1:20 p.m.

    Nice basic tutorials ...fun indeed

  • User

    Malvado Docktor Feb. 18, 2014, 6:11 p.m.

    Very cool. I like the presentation and layout. Much obliged.



Advertisement