दिलचस्प पोस्ट
एंटीआई फ्रेमवर्क में एनरम्स के साथ कैसे काम करें? पोजिशनिंग के लिए उपयोग किए जाने पर फोन त्वरक के वास्तविक दुनिया सटीकता क्या है? एचटीएमएल 5 (या फैब्रिक.जेएस) में छत का प्रभाव और घाटी पाठ प्रभाव कैसे बनाया जाए CUDA डिवाइस पर एक स्ट्रिंग युक्त पॉइंटर्स कॉपी करना एंड्रॉइड डिवाइस कंपन कैसे करें? जीडब्ल्यूटीटी मॉड्यूल को (पुनः) संकलित REDUX की आवश्यकता हो सकती है VB.NET प्रगति पट्टी पृष्ठभूमिकार जावा: पार्स जावा स्रोत कोड, निकालें तरीकों क्यों प्रतिक्रिया। रीडायरेक्ट सिस्टम का कारण होता है। थ्रेडिंग। थ्रेड एडोबेशन? रेट्रोफ़िट – मल्टीपार्ट अनुरोध: आवश्यक multipart फ़ाइल पैरामीटर 'फ़ाइल' मौजूद नहीं है पाठ फ़ाइल में पूर्णांक राशि का सबसे तेज़ तरीका एकाधिक तीर फ़ंक्शंस जावास्क्रिप्ट में क्या मतलब है? एपरसैंड (&) कैसे सी ++ में काम करता है? कॉलम जोड़ना जिसमें दूसरे कॉलम के बिन मूल्य शामिल हैं कंटेनरों के बीच एक द्विदिश लिंक कैसे बनाएं?

पायथन: आउटपुट स्ट्रिंग प्रारूप, सही संरेखण

मैं एक पाठ फ़ाइल संसाधित कर रहा हूं जिसमें x, y, z निर्देशांक शामिल हैं

1 128 1298039 123388 0 2 .... 

प्रत्येक पंक्ति को 3 मदों में सीमांकित किया जाता है

 words = line.split() 

डेटा प्रसंस्करण के बाद मुझे निर्देशांक वापस दूसरी टेक्सटाइल फ़ाइल में लिखना होगा ताकि प्रत्येक कॉलम में आइटम सही (साथ ही इनपुट फ़ाइल) गठबंधन कर सकें। हर पंक्ति निर्देशांक से बना है

 line_new = words[0] + ' ' + words[1] + ' ' words[2]. 

क्या सी + + की तरह कोई मैनिपुलेटर है std::setw() आदि सी + + में चौड़ाई और संरेखण निर्धारित करने की इजाजत है?

Solutions Collecting From Web of "पायथन: आउटपुट स्ट्रिंग प्रारूप, सही संरेखण"

नए str.format वाक्यविन्यास का उपयोग करके इस दृष्टिकोण की कोशिश करें:

 line_new = '{:>12} {:>12} {:>12}'.format(word[0], word[1], word[2]) 

और यह कैसे पुराने % सिंटैक्स (पायथन के पुराने संस्करणों के लिए उपयोगी है जो कि str.format समर्थन नहीं करते हैं) का उपयोग करने के लिए यहां है:

 line_new = '%12s %12s %12s' % (word[0], word[1], word[2]) 

आप इसे इस तरह संरेखित कर सकते हैं:

 print('{:>8} {:>8} {:>8}'.format(*words)) 

जहां > अर्थ है " सही से संरेखित करें " और 8 विशिष्ट मान के लिए चौड़ाई है

और यहाँ एक सबूत है:

 >>> for line in [[1, 128, 1298039], [123388, 0, 2]]: print('{:>8} {:>8} {:>8}'.format(*line)) 1 128 1298039 123388 0 2 

Ps। *line अर्थ है कि line सूची को अनपैक किया जाएगा, इसलिए। .format(*line) .format(line[0], line[1], line[2]) (मान लीजि line केवल तीन तत्वों के साथ एक सूची है)।

यह rjust का उपयोग करके प्राप्त किया जा सकता है:

 line_new = word[0].rjust(10) + word[1].rjust(10) + word[2].rjust(10) 

आउटपुट का सरल सारणीकरण:

 a = 0.3333333 b = 200/3 print("variable a variable b") print("%10.2f %10.2f" % (a, b)) 

उत्पादन:

 variable a variable b 0.33 66.67 

% 10.2f: 10 न्यूनतम लंबाई है और 2 दशमलव स्थानों की संख्या है।