में सफल regex मैचों से एक शब्दकोश बनाएं I Python के लिए बहुत नया है, और मैं एक फ़ाइल को पार्स करने की कोशिश कर रहा हूं। फ़ाइल में केवल कुछ पंक्तियों में ब्याज का डेटा होता है, और मैं फ़ाइल में मान्य मिलान लाइनों से पार्स की गई सामग्री के शब्दकोश के साथ समाप्त करना चाहता हूं।पाइथन
नीचे दिया गया कोड काम करता है, लेकिन यह थोड़ा बदसूरत है और मैं यह सीखने की कोशिश कर रहा हूं कि इसे कैसे किया जाना चाहिए, शायद समझ के साथ, या अन्यथा एक मल्टीलाइन रेगेक्स के साथ। मैं पायथन 3.2 का उपयोग कर रहा हूँ।
file_data = open('x:\\path\\to\\file','r').readlines()
my_list = []
for line in file_data:
# discard lines which don't match at all
if re.search(pattern, line):
# icky, repeating search!!
one_tuple = re.search(pattern, line).group(3,2)
my_list.append(one_tuple)
my_dict = dict(my_list)
क्या आप बेहतर कार्यान्वयन का सुझाव दे सकते हैं?
समझें सुंदर हो सकती हैं, लेकिन आप आसानी से चर के अंदर एक मूल्य को बाध्य नहीं कर सकते हैं, इसलिए आपको डबल 're.search' की आवश्यकता होगी। बस एक लूप का उपयोग करें। –