. Advertisement .
..3..
. Advertisement .
..4..
Do you know how to search files using Grep in Python? If yes, you probably don’t really need these guidelines. Otherwise, this article is written for people like you. Check it out!
How to Search A File Using Grep in Python
Keep these five basic steps in mind:
- Step 1. Open the file in its write mode
- Step 2. Write content for that file
- Step 3. Define whatever pattern you search for
- Step 4. Open the file in its read mode
- Step 5. Use “For loop” to read the lines one by one and single out the pattern
Step 1. Open The File In Its Write Mode.
Use Open()
(a Python built-in function) to open that Python file.
file = open("data.txt", "w")
Step 2. Write Content For That File.
Next, write content within the file via the function File.Write()
. Once done, close it.
file.write("One Up\nThreePals\nFour Musketeers")
file.close()
Step 3. Give A Definition of The Pattern You Like To Search For Within The File.
Let’s say you like to seek the word “Pals” within this file. Define your pattern:
pattern = "Pals"
Step 4. Open The File In Its Read Mode.
Because we are trying to search for keywords, the best way to do so is to use the function Open()
to open this file in reading mode.
file = open("data.txt", "r")
Step 5. Read The Lines One By One Using “For Loop”
How can we match strings against Python’s regular expressions? The method Re.search()
will be your best bet. Import the module “Re” at the file’s head to accommodate these R regular expressions.
Suppose it can find matches using regular expressions, we can print the entire line then. For instance, we are seeking the word “Pals”, so if the system can find this word, it will print the entire line “Three Pals”.
for line in file:
if re.search(pattern, line):
print(line)
So we read the lines one by one, so that the system will print the entire line if it spots any phrase against the patterns. See the entire code below.
import re
file = open("data.txt", "w")
file.write("One Up\nThreePals\nFour Musketeers")
file.close()
pattern = "Pals"
file = open("data.txt", "r")
for word in file:
if re.search(pattern, word):
print(word)
Output:
Three Pals
Another Example
The guidelines above have analyzed an example in great detail to help you understand each step. Let’s look at another example.
- Write the file
file = open("grep_sample.txt", "w")
file.write("second line\nthird line\nfourth line")
file.close()
- Find the pattern
pattern = "third"
- Print the entire line
file = open("grep_sample.txt", "r")
for line in file:
if re.search(pattern, line):
print(line)
- Output
third line
Conclusion
This article has shown you a step-by-step guide to search for files using Grep in Python. Pretty simple, right? To tackle file errors in Python (such as the error “Function not defined”), feel free to browse ITtutoria website.
Leave a comment