पायथन शौकिया में नए टेक्स्ट दस्तावेज़ को लिखें। मेरे पास एक टेक्स्ट फ़ाइल है जो हजारों लाइनों पर जानकारी सूचीबद्ध करती है और मैं एक रेखा का चयन करने की कोशिश कर रहा हूं और निम्नलिखित 2-3 लाइनों को एक पैटर्न से मेल खाने के आधार पर चुन रहा हूं। मैं फ़ाइल नीचे मूल में से हटा दिए गए हैं बस मुझे के हित के लिए फ़ाइल के कुछ हिस्सों को रोकने के लिए तो मेरे वर्तमान फ़ाइल इस तरह दिखता है:एक txt दस्तावेज़ की कई पंक्तियों को चुनने के साथ समस्या और पाइथन
trig1.RESP:
stim4: silence.wav
trig1.RESP:
trig6.RESP: 1
trig1.RESP:
trig1.RESP:
trig5.RESP: 1
stim5: silence.wav
trig1.RESP:
trig6.RESP: 1
stim3: silence.wav
trig1.RESP:
stim5: silence.wav
trig1.RESP:
trig6.RESP: 1
और इतने पर और आगे ... असल में क्या मैं करने की कोशिश कर रहा हूं हर पंक्ति को लिखना जिसमें लाइन के चुप्पी। वाव भाग और उसके बाद अगली दो पंक्तियां हैं। क्योंकि यह silence.wav लाइन और लाइन जो प्रतिक्रिया (भाग मैं सबसे अधिक दिलचस्पी रहा हूँ, एक प्रतिक्रिया से पहले trig1 है प्रिंट
parsed_output = open("name-of-file-to-be-written", "w")
filtered_input = open("name-of-file-that-has-above-data", "r")
for line in filtered_input:
if "silence.wav" in line and "trig1" in filtered_input.next():
parsed_output.write(line)
parsed_output.write(filtered_input.next())
parsed_output.close()
यह अधिकांश भाग के लिए ठीक काम करता है: मैं निम्नलिखित कोड का इस्तेमाल किया इस बिंदु पर कम महत्वपूर्ण है)। हालांकि इस मुद्दे को मैं में चलाने है जब लाइनों जाना:
stim3: silence.wav
trig1.RESP:
stim5: silence.wav
के बाद से मेरी उत्पादन तो (trig1 लंघन के बाद अगली पंक्ति) stim3 (वर्तमान पंक्ति) और stim5 लिखेंगे, मैं इसे अगले पर ले जाता है लगता है "उत्तेजना: silence.wav" और stim5 को छोड़ देता है क्योंकि इसे लिखा गया था जब इसे पिछले कमांड में शामिल किया गया था। मुझे stim6.RESP: stim5 के बाद 1 चाहिए, लेकिन मेरा आउटपुट उस कारण से नहीं दिखाता है जिसका मैंने वर्णन किया था। क्या कोई तरीका है जिसे मैं उस उत्तेजना 5 पर छोड़ने के लिए नहीं प्राप्त कर सकता हूं?
क्षमा करें अगर यह वास्तव में लंबा था। आपका अग्रिम में ही बहुत धन्यवाद!
छोटे sidenote: मैं आपको हमेशा खोले गए फाइलों के बारे में सुझाव दूंगा। ऐसा करने का सबसे अच्छा तरीका - 'साथ' कथन का उपयोग करना। – cleg