How to read files in python line by line

How to read File Line by Line in Python?

There are many ways to read a text file line by line in Python. You can read the lines to a list, or just access them one by one in a loop by iterating over the lines provided by some kind of iterator or calling a function on the file object.

In this tutorial, we will learn how to read a file line by line using readline() function, readlines() function, or file object, with the help of example programs.

Example 1: Read Text File Line by Line – readline()

In this example, we will use readline() function on the file stream to get next line in a loop.

Steps to use file.readline() function

Читайте также:  Java heap space failed to allocate bytes

Following are the steps to read file line by line using readline() function.

  1. Read file in text mode. It returns a stream to the file.
  2. Create an Infinite While Loop.
    1. During each iteration of the loop, read the next line from the file using readline().
    2. If the line is not empty, you have the next line. You can check this using if-not. Else, there are no more lines in the file, and we break the loop.

    Python Program

    #get file object file1 = open("sample.txt", "r") while(True): #read next line line = file1.readline() #check if line is not null if not line: break #you can access the line print(line.strip()) #close file file1.close
    Hi User! Welcome to Python Examples. Continue Exploring.

    Example 2: Read Lines as List – readlines()

    readlines() function returns all the lines in the file as a list of strings. We can traverse through the list, and access each line of the file.

    In the following program, we shall read a text file, and then get the list of all lines in the text file using readlines() function. After that, we use For Loop to traverse these list of strings.

    Python Program

    #get file object file1 = open("sample.txt", "r") #read all lines lines = file1.readlines() #traverse through lines one by one for line in lines: print(line.strip()) #close file file1.close
    Hi User! Welcome to Python Examples. Continue Exploring.

    Example 3: Read File Line by Line using File Object

    In our first example, we have read each line of file using an infinite while loop and readline() function. But, you can use For Loop statement on the file object itself to get the next line in the file in each iteration, until the end of file.

    Following is the program, demonstrating how we use for-in statement to iterate over lines in the file.

    Python Program

    #get file object file1 = open("sample.txt", "r") #traverse through lines one by one for line in file1: print(line.strip()) #close file file1.close
    Hi User! Welcome to Python Examples. Continue Exploring.

    Summary

    In this tutorial of Python Examples, we learned how to read a text file line by line, with the help of well detailed python example programs.

    Источник

    Python Open File – How to Read a Text File Line by Line

    Python Open File – How to Read a Text File Line by Line

    In Python, there are a few ways you can read a text file.

    In this article, I will go over the open() function, the read() , readline() , readlines() , close() methods, and the with keyword.

    What is the open() function in Python?

    If you want to read a text file in Python, you first have to open it.

    This is the basic syntax for Python’s open() function:

    open("name of file you want opened", "optional mode")

    File names and correct paths

    If the text file and your current file are in the same directory («folder»), then you can just reference the file name in the open() function.

    Here is an example of both files being in the same directory:

    Screen-Shot-2021-09-13-at-1.49.16-AM

    If your text file is in a different directory, then you will need to reference the correct path name for the text file.

    In this example, the random-text file is inside a different folder then main.py :

    Screen-Shot-2021-09-13-at-2.00.27-AM

    In order to access that file in the main.py , you have to include the folder name with the name of the file.

    open("text-files/random-text.txt")

    If you don’t have the correct path for the file, then you will get an error message like this:

    Screen-Shot-2021-09-13-at-2.03.33-AM

    It is really important to keep track of which directory you are in so you can reference the correct path name.

    Optional Mode parameter in open()

    There are different modes when you are working with files. The default mode is the read mode.

    The letter r stands for read mode.

    You can also omit mode= and just write «r» .

    There are other types of modes such as «w» for writing or «a» for appending. I am not going to go into detail for the other modes because we are just going to focus on reading files.

    For a complete list of the other modes, please read through the documentation.

    Additional parameters for the open() function in Python

    The open() function can take in these optional parameters.

    To learn more about these optional parameters, please read through the documentation.

    What is the readable() method in Python?

    If you want to check if a file can be read, then you can use the readable() method. This will return a True or False .

    This example would return True because we are in the read mode:

    file = open("demo.txt") print(file.readable())

    If I changed this example, to «w» (write) mode, then the readable() method would return False :

    file = open("demo.txt", "w") print(file.readable())

    What is the read() method in Python?

    The read() method is going to read all of the content of the file as one string. This is a good method to use if you don’t have a lot of content in the text file.

    In this example, I am using the read() method to print out a list of names from the demo.txt file:

    file = open("demo.txt") print(file.read())

    Screen-Shot-2021-09-13-at-2.43.59-AM

    This method can take in an optional parameter called size. Instead of reading the whole file, only a portion of it will be read.

    If we modify the earlier example, we can print out only the first word by adding the number 4 as an argument for read() .

    file = open("demo.txt") print(file.read(4))

    If the size argument is omitted, or if the number is negative, then the whole file will be read.

    What is the close() method in Python?

    Once you are done reading a file, it is important that you close it. If you forget to close your file, then that can cause issues.

    This is an example of how to close the demo.txt file:

    file = open("demo.txt") print(file.read()) file.close()

    How to use the with keyword to close files in Python

    One way to ensure that your file is closed is to use the with keyword. This is considered good practice, because the file will close automatically instead of you having to manually close it.

    Here is how to rewrite our example using the with keyword:

    with open("demo.txt") as file: print(file.read())

    What is the readline() method in Python?

    This method is going to read one line from the file and return that.

    In this example, we have a text file with these two sentences:

    This is the first line This is the second line

    If we use the readline() method, it will only print the first sentence of the file.

    with open("demo.txt") as file: print(file.readline())

    Screen-Shot-2021-09-13-at-3.57.14-AM

    This method also takes in the optional size parameter. We can modify the example to add the number 7 to only read and print out This is :

    with open("demo.txt") as file: print(file.readline(7))

    Screen-Shot-2021-09-13-at-4.08.03-AM

    What is the readlines() method in Python?

    This method will read and return a list of all of the lines in the file.

    In this example, we are going to print out our grocery items as a list using the readlines() method.

    with open("demo.txt") as file: print(file.readlines())

    Screen-Shot-2021-09-13-at-4.19.23-AM

    How to use a for loop to read lines from a file in Python

    An alternative to these different read methods would be to use a for loop .

    In this example, we can print out all of the items in the demo.txt file by looping over the object.

    with open("demo.txt") as file: for item in file: print(item)

    Screen-Shot-2021-09-13-at-4.27.49-AM

    Conclusion

    If you want to read a text file in Python, you first have to open it.

    open("name of file you want opened", "optional mode") 

    If the text file and your current file are in the same directory («folder»), then you can just reference the file name in the open() function.

    If your text file is in a different directory, then you will need to reference the correct path name for the text file.

    The open() function takes in the optional mode parameter. The default mode is the read mode.

    If you want to check if a file can be read, then you can use the readable() method. This will return a True or False .

    The read() method is going to read all of the content of the file as one string.

    Once you are done reading a file, it is important that you close it. If you forget to close your file, then that can cause issues.

    One way to ensure that your file is closed is to use the with keyword.

    with open("demo.txt") as file: print(file.read())

    The readline() method is going to read one line from the file and return that.

    The readlines() method will read and return a list of all of the lines in the file.

    An alternative to these different read methods would be to use a for loop .

    with open("demo.txt") as file: for item in file: print(item)

    I hope you enjoyed this article and best of luck on your Python journey.

    Источник

Оцените статью