In Python, you open a file using the built-in
open() function and passing it the path to the file you want to open. By default, files are opened as read-only.
Here's a very basic example of opening and reading a file that is the current directory:
f = open('myfile.txt') contents = f.read() print(contents)
f.read() just reads the entire file as a string into a variable. So, this will just print the entire contents of the file.
Alternatively, you might want to read the file into a list, one line at a time. You can do that with the
f = open('myfile.txt') file_as_list = f.readlines() for line in file_as_list: print(line)
The results may surprise you though. When printed, each line will be followed by two newline characters. That's because
readlines() does not strip the newline character when splitting the contents into a list. Each list item will end in a newline characters. That accounts for one of the newline character. The other newline character comes by default at the end of each call to
There are a couple of easy ways to address this:
endin the call to
f = open('myfile.txt') file_as_list = f.readlines() for line in file_as_list: print(line, end='')
f = open('myfile.txt') contents = f.read() file_as_list = contents.splitlines() for line in file_as_list: print(line)
splitlines()actually splits on the newline character, the newline character is not left hanging at the end of each line.
Nat Dunn founded Webucator in 2003 to combine his passion for technical training with his business expertise and to help companies benefit from both. His previous experience was in sales, business and technical training, and management. Nat has an MBA from Harvard Business School and a BA in International Relations from Pomona College.