यह एक बहुत पुराना धागा है, लेकिन यहाँ एक बहुत ही गहन उत्तर और नमूना कोड है।
\rASCII वर्ण सेट से कैरिज रिटर्न का स्ट्रिंग प्रतिनिधित्व है । यह ऑक्टल 015[ chr(0o15)] या हेक्सिडेसिमल 0d[ chr(0x0d)] या दशमलव 13[ chr(13)] के समान है। man asciiएक उबाऊ पढ़ने के लिए देखें । यह ( \r) एक सुंदर पोर्टेबल प्रतिनिधित्व है और लोगों के पढ़ने के लिए काफी आसान है। इसका सीधा सा मतलब है कि कागज को आगे बढ़ाए बिना गाड़ी को सभी तरह से वापस स्टार्ट करने के लिए ले जाना। यह का CRहिस्सा है CRLFजिसका मतलब है कैरिज रिटर्न और लाइन फीड ।
print()Python 3 में एक फ़ंक्शन है। Python 2 में (कोई भी संस्करण जिसे आप उपयोग करने में रुचि रखते हैं), मॉड्यूल printसे इसकी परिभाषा आयात करके एक फ़ंक्शन में मजबूर किया जा सकता है __future__। printफ़ंक्शन का लाभ यह है कि आप निर्दिष्ट कर सकते हैं कि आखिर में क्या प्रिंट किया जाए, \nहर के अंत में एक नई रेखा प्रिंट करने के लिए डिफ़ॉल्ट व्यवहार को ओवरराइड किया जाएprint() कॉल करें।
sys.stdout.flushपायथन को मानक आउटपुट के उत्पादन को फ्लश करने के लिए कहता है , जहां आप आउटपुट भेजते हैं print()जब तक कि आप अन्यथा निर्दिष्ट न करें। आप python -uपरिवेश चर के साथ चलाकर या सेट करके भी समान व्यवहार प्राप्त कर सकते हैं PYTHONUNBUFFERED=1, जिससे स्किपिंग हो सकती हैimport sys औरsys.stdout.flush() कॉल करना बंद हो जाएगा। वह राशि जो आप कर रहे हैं वह लगभग शून्य है और डिबग करना बहुत आसान नहीं है यदि आप आसानी से भूल जाते हैं कि आपके आवेदन के ठीक से व्यवहार करने से पहले आपको वह कदम उठाना होगा।
और एक नमूना। ध्यान दें कि यह पायथन 2 या 3 में पूरी तरह से चलता है।
from __future__ import print_function
import sys
import time
ANS = 42
FACTORS = {n for n in range(1, ANS + 1) if ANS % n == 0}
for i in range(1, ANS + 1):
if i in FACTORS:
print('\r{0:d}'.format(i), end='')
sys.stdout.flush()
time.sleep(ANS / 100.0)
else:
print()