फ़ाइल की पंक्तियों में एक पैटर्न की खोज करना काफी आसान है:

z = "/path/to/file/log.log"

with open(z) as file:
    for line in file:
        x = "pattern"
        if x in line:
            print(line)

मैं सोच रहा हूं कि क्या आप पूरी लाइन को खोजने से बच सकते हैं और इसके बजाय सिर्फ एक सेक्शन पर ध्यान केंद्रित कर सकते हैं। भले ही यह कुछ ऐसा काम नहीं करता है:

for line[10:20] in file:

अनिवार्य रूप से केवल उस क्षेत्र की खोज करना और प्रक्रिया को तेज करने के तरीके के रूप में बाकी को अनदेखा करना।

0
JSimonsen 10 नवम्बर 2017, 01:09

2 जवाब

सबसे बढ़िया उत्तर

यह जांचने के लिए कि रेखा के किसी विशिष्ट टुकड़े में कोई पैटर्न निहित है या नहीं, पंक्ति में कहीं भी, उपयोग करें:

for line in file:
    if pattern in line[10:20]:
        # found it
2
mkrieger1 10 नवम्बर 2017, 01:44

आप इसे आजमा सकते हैं:

with open("file") as fp:
    for i, line in enumerate(fp):
        if i >= 10 and i < 20:
             x = "pattern"
             if x in line:
                  print(line)
0
shreyy 10 नवम्बर 2017, 01:20