python - Parse a .txt file -
मेरे पास .txt फ़ाइल है:
__ctype_tab.o से प्रतीकों: नाम का मान कक्षा प्रकार आकार रेखा अनुभाग __ctype | 00000000 | डी | ऑब्जेक्ट | 00000004 | | Data __ctype_tab | 00000000 | आर | ऑब्जेक्ट | 00000101 | | .rodata प्रतीक _ashldi3.o से: नाम मूल्य वर्ग प्रकार आकार रेखा अनुभाग __ashldi3 | 00000000 | टी | FUNC | 00000050 | | .text मैं इस फाइल को कैसे पार्स कर सकता हूं और फ़ंक्शन के साथ फ़ंक्शंस प्राप्त कर सकता हूं? इसके अलावा, इस पाठ से मैं कैसे पार्स और अर्क निकाल सकता हूं .ओ नाम?
मैं उन्हें कॉलम बुद्धिमान पार्सिंग से कैसे प्राप्त कर सकता हूं या कैसे।
मुझे तत्काल मदद की ज़रूरत है ... सामान्य रूप में उपयुक्त समाधान की प्रतीक्षा की जा रही है
मुझे लगता है कि यह संभव है कि मैं regexes के इस्तेमाल से भी कम खर्च कर सकता हूं, हालांकि मैं हूं खुली ('datafile.txt', 'r') में लाइन के लिए आप
symbolList = [] को पूरा करने की कोशिश कर रहे हैं, पर पूरी तरह से स्पष्ट नहीं है: यदि '.o' पंक्ति में: tempname = Line.split () [- 1] [0: -2] पास अगर 'FUNC' लाइन में नहीं है: पास पास: symbolList.append ((tempname, line.split ('|' [0])) मैंने अन्य पदों से सीख लिया है कि जब आप पहली बार एक फाइल के माध्यम से पढ़ रहे हैं तो सभी डेटा को लपेटने के लिए सस्ता और बेहतर है इस प्रकार यदि आप एक पास में संपूर्ण डेटाफ़ाइल को लपेट करना चाहते हैं तो आप इसके बजाय निम्न के बजाय कर सकते हैं
fullDict = {} ओपन में लाइन के लिए ('datafile.txt', 'r'): यदि '.o' पंक्ति में: tempname = line.split () [- 1] [0: -2] अगर '|' लाइन में नहीं: पास के पास: tempDict = {} dataList = dataItem के लिए line.strip ()। विभाजित ('|')] नाम = डेटा सूची [0] .strip () tempDict ['मान' ] = डेटा लिस्ट [1] tempDict ['कक्षा'] = डेटा लिस्ट [2] tempDict ['प्रकार'] = डेटा सूची [3] tempDict ['आकार'] = डेटा सूची [4] tempDict ['रेखा'] = डेटा सूची [5] TempDict ['अनुभाग'] = डेटा सूची [6] tempDict ['o.name'] = tempname fullDict [name] = tempDict tempDict = {} तब अगर आप फ़ंक्श टाइप करना चाहते हैं पूर्ण में रिकार्ड के लिए:
funcDict = {}: यदि पूर्ण डिक्ट [रिकॉर्ड] ['प्रकार'] == 'FUNC': फ़नकाडेक्ट [रिकॉर्ड] = फ़ुल डेसिट [रिकॉर्ड] < / Code> इतना जुनूनी होने के लिए क्षमा करें, लेकिन मैं सूची के आकलन को बनाने में बेहतर संभाल करने की कोशिश कर रहा हूं और मैंने फैसला किया कि यह शॉट के योग्य है
Comments
Post a Comment