Reading Lines From a File in Python
Summary: in this tutorial, yous learn diverse ways to read text files in Python.
TL;DR
The following shows how to read all texts from the readme.txt file into a string:
with open up('readme.txt') equally f: lines = f.readlines()
Code linguistic communication: JavaScript ( javascript ) Steps for reading a text file in Python
To read a text file in Python, you follow these steps:
- Offset, open up a text file for reading past using the
open up()function. - 2nd, read text from the text file using the file
read(),readline(), orreadlines()method of the file object. - Third, close the file using the file
close()method.
one) open() function
The open() office has many parameters merely y'all'll exist focusing on the offset 2.
open(path_to_file, mode)
The path_to_file parameter specifies the path to the text file.
If the file is in the same binder every bit the program, you merely need to specify the name of the file. Otherwise, you lot need to specify the path to the file.
To specify the path to the file, y'all use the forrad-slash ('/') even if you lot're working in Windows.
For example, if the file is readme.txt stored in the sample binder equally the plan, you need to specify the path to the file every bit c:/sample/readme.txt
The manner is an optional parameter. It'southward a cord that specifies the manner in which you desire to open the file.
The following table shows bachelor modes for opening a text file:
| Way | Clarification |
|---|---|
'r' | Open for text file for reading text |
'west' | Open a text file for writing text |
'a' | Open a text file for appending text |
For example, to open a file whose name is the-zen-of-python.txt stored in the same folder as the program, you use the following code:
f = open('the-zen-of-python.txt','r')
Lawmaking language: JavaScript ( javascript ) The open() function returns a file object which you will use to read text from a text file.
two) Reading text methods
The file object provides you with three methods for reading text from a text file:
-
read()– read all text from a file into a string. This method is useful if you take a small file and you desire to dispense the whole text of that file. -
readline()– read the text file line by line and return all the lines as strings. -
readlines()– read all the lines of the text file and render them as a listing of strings.
3) close() method
The file that you open will remain open until you lot close it using the close() method.
It's important to close the file that is no longer in use. If you lot don't close the file, the program may crash or the file would be corrupted.
The post-obit shows how to telephone call the close() method to shut the file:
f .close()
Code linguistic communication: CSS ( css ) To close the file automatically without calling the close() method, you use the with statement like this:
with open(path_to_file) as f: contents = f.readlines()
Code language: JavaScript ( javascript ) In practice, you lot'll employ the with statement to close the file automatically.
Reading a text file examples
We'll use the-zen-of-python.txt file for the demonstration.
The following example illustrates how to use the read() method to read all the contents of the the-zen-of-python.txt file into a string:
with open('the-zen-of-python.txt') as f: contents = f.read() impress(contents)
Code language: JavaScript ( javascript ) Output:
Cute is ameliorate than ugly. Explicit is better than implicit. Simple is better than complex. ...
The following example uses the readlines() method to read the text file and returns the file contents as a list of strings:
lines = [] with open('the-zen-of-python.txt') as f: lines = f.readlines() count = 0 for line in lines: count += 1 print(f'line {count}: {line}')
Lawmaking linguistic communication: JavaScript ( javascript ) Output:
line 1: Beautiful is better than ugly. line 2: Explicit is better than implicit. line 3: Unproblematic is amend than complex. ...
The following case shows how to use the readline() to read the text file line by line:
with open up('the-zen-of-python.txt') as f: line = f.readline() while line: line = f.readline() print(line)
Code language: JavaScript ( javascript ) Output:
Explicit is improve than implicit. Simple is improve than complex. Complex is better than complicated. ...
A more than concise way to read a text file line by line
The open() function returns a file object which is an iterable object. Therefore, you can use a for loop to iterate over the lines of a text file equally follows:
with open('the-zen-of-python.txt') as f: for line in f: print(line)
Code language: JavaScript ( javascript ) This is more concise way to read a text file line by line.
Read UTF-8 text files
The code in the previous examples works fine with ASCII text files. However, if you lot're dealing with other languages such as Japanese, Chinese, and Korean, the text file is non a simple ASCII text file. And it'due south likely a UTF-viii file that uses more than than just the standard ASCII text characters.
To open a UTF-8 text file, you lot need to pass the encoding='utf-viii' to the open() office to instruct information technology to expect UTF-eight characters from the file.
For the sit-in, you'll use the post-obit quotes.txt file that contains some quotes in Japanese.
The post-obit shows how to loop through the quotes.txt file:
with open('quotes.txt', encoding='utf8') equally f: for line in f: print(line.strip())
Code language: JavaScript ( javascript ) Output:
Summary
- Use the
open()part with the'r'mode to open a text file for reading. - Use the
read(),readline(), orreadlines()method to read a text file. - Always close a file after completing reading it using the
close()method or thewithstatement. - Use the
encoding='utf-8'to read the UTF-8 text file.
Did you find this tutorial helpful ?
Source: https://www.pythontutorial.net/python-basics/python-read-text-file/
0 Response to "Reading Lines From a File in Python"
Postar um comentário