2013-08-15 5 views
7

मैं एक caracter वापस \b का उपयोग कर जा सकते हैं:पायथन में टर्मिनल में एक लाइन ब्रेक वापस जाने के लिए मैं क्या उपयोग कर सकता हूं?

>>> print("123#456") 
123#456 
>>> print("123#\b456") 
123456 

लेकिन अगर एक लाइन ब्रेक शामिल है यह काम नहीं करता:

>>> print("123#\n456") 
123# 
456 
>>> print("123#\n\b456") 
123# 
456 

वहाँ लाइन जाना वापस तोड़ने के लिए एक तरीका है?

53%

और मैं \b का उपयोग मान अपडेट: क्योंकि मैं पिछले लाइन पर एक प्रगति है

मैं इस पूछ रहा हूँ। लेकिन अगर कोई कुछ प्रिंट करता है, तो यह टूट जाता है। मैंने स्ट्रिंग्स का प्रिंट बफर बनाने और प्रिंट करने के लिए 'e b' प्रिंट करने की कोशिश की, फिर बफर को प्रिंट करें। लेकिन लाइन ब्रेक होने पर यह काम नहीं करता है।

+0

आम तौर पर, आप नई लाइन प्रिंट करने से बचते हैं, या आप शाप का उपयोग करते हैं। POSIX सिस्टम पर डिफ़ॉल्ट लाइन-उन्मुख टेक्स्ट मोड में, आप नई लाइन वापस नहीं ले सकते हैं। –

+0

आप कमांड लाइन उपयोगिता के लिए * सभी * प्रगति-सलाखों के लिए एक ही व्यवहार देखते हैं। बड़ी फ़ाइल प्राप्त करने के लिए 'wget' का उपयोग करें, फिर डाउनलोड करते समय एंटर दबाएं। –

+0

input.replace ('\ n', '') - क्या वह मदद है? –

उत्तर

9

एक संभव (थोड़ा सा हैकी) समाधान एक पंक्ति को वापस जाने के लिए '\ 033 [1A' का उपयोग करना है। वापस कूदने के लिए लाइनों की संख्या के साथ 1 बदलें। कर्सर में हेरफेर करने के लिए आप कई अन्य बचने के दृश्यों का उपयोग कर सकते हैं। http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x361.html

- Position the Cursor: 
    \033[<L>;<C>H 
    Or 
    \033[<L>;<C>f 
    puts the cursor at line L and column C. 
- Move the cursor up N lines: 
    \033[<N>A 
- Move the cursor down N lines: 
    \033[<N>B 
- Move the cursor forward N columns: 
    \033[<N>C 
- Move the cursor backward N columns: 
    \033[<N>D 

- Clear the screen, move to (0,0): 
    \033[2J 
- Erase to end of line: 
    \033[K 

- Save cursor position: 
    \033[s 
- Restore cursor position: 
    \033[u 

ध्यान दें कि यह शायद सभी टर्मिनलों के लिए काम नहीं करेगा: पर पूरी सूची की जाँच करें।

संबंधित मुद्दे

 संबंधित मुद्दे