पायथन के बारे में सीखते समय, मैं इस कोड पर आया, जो एक टेक्स्ट फ़ाइल लेता है, प्रत्येक पंक्ति को एक सरणी में विभाजित करता है, और इसे एक कस्टम शब्दकोश में डालता है, जहां सरणी [0] है कुंजी और सरणी [1] मूल्य है:पायथन में स्ट्रिंग.स्ट्रिप()
my_dict = {}
infile = open("file.txt")
for line in infile:
#line = line.strip()
#parts = [p.strip() for p in line.split("\t")]
parts = [p for p in line.split("\t")]
my_dict[parts[0]] = parts[1]
print line
for key in my_dict:
print "key: " + key + "\t" + "value " + my_dict[key]
मैं बंद और पर टिप्पणी की लाइनों के साथ कार्यक्रम भाग गया और मैं एक ही परिणाम मिला। (निश्चित रूप से नीचे दी गई रेखा के साथ दूसरी टिप्पणी वाली रेखा को बदलना)। ऐसा लगता है कि एक स्ट्रिप() करना वैकल्पिक है। क्या इसे छोड़ने के लिए बेहतर अभ्यास है?
यह इस विशेष इनपुट के लिए वैकल्पिक था, लेकिन आम तौर पर कम से कम कुछ मात्रा में विकृत इनपुट के खिलाफ सुरक्षा करना अच्छा अभ्यास है। लाइनों के अंत में अतिरिक्त सफेद स्थान इतना आम है (विशेष रूप से जब फ़ाइलों को हाथ से संपादित किया जा सकता है) कि मैं वस्तुतः हमेशा .strip() का उपयोग करता हूं। –
मुझे लगता है कि स्ट्रिप कॉल करने के बाद दो लाइनें अलग होंगी, पहले टैब के बाद एक जगह होगी। – Ant
@ एंट: हाँ, यह एक गलती थी; '\ t' के आस-पास आंतरिक सफेद स्थान हटा दिया जाना चाहिए था। –