Can anyone throw some light on this please ! ?<br><br><br>
<br><br><div class="gmail_quote">On Thu, Nov 24, 2011 at 9:05 PM,  <span dir="ltr"><<a href="mailto:Nikunj.Badjatya@emc.com">Nikunj.Badjatya@emc.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal">Hi All,<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Please look at the code below.<u></u><u></u></p><p class="MsoNormal">

I am using pypi progressbar. But in general, How can I keep the area of the console fixed for  the thread to print its status on it.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">{{{<u></u><u></u></p>

<p class="MsoNormal">import sys<u></u><u></u></p><p class="MsoNormal">import time<u></u><u></u></p><p class="MsoNormal">import threading<u></u><u></u></p><p class="MsoNormal">import os<u></u><u></u></p><p class="MsoNormal">

<u></u> <u></u></p><p class="MsoNormal">from progressbar import AnimatedMarker, Bar, BouncingBar, Counter, ETA, \<u></u><u></u></p><p class="MsoNormal">                        FileTransferSpeed, FormatLabel, Percentage, \<u></u><u></u></p>

<p class="MsoNormal">                        ProgressBar, ReverseBar, RotatingMarker, \<u></u><u></u></p><p class="MsoNormal">                        SimpleProgress, Timer<u></u><u></u></p><p class="MsoNormal">                        <u></u><u></u></p>

<p class="MsoNormal">def ProgBar():<u></u><u></u></p><p class="MsoNormal">    widgets = [' ', Percentage(), ' ', Bar(marker='#',left='[',right=']'),' ']<u></u><u></u></p><p class="MsoNormal">

    pbar = ProgressBar(widgets=widgets, maxval=100)<u></u><u></u></p><p class="MsoNormal">    pbar.start()<u></u><u></u></p><p class="MsoNormal">    return pbar<u></u><u></u></p><p class="MsoNormal">    <u></u><u></u></p>

<p class="MsoNormal">def update2(i):<u></u><u></u></p><p class="MsoNormal">    os.environ["PBAR"] = i<u></u><u></u></p><p class="MsoNormal">    print(“This will print for every call to update”)<u></u><u></u></p>

<p class="MsoNormal">    return <u></u><u></u></p><p class="MsoNormal">    <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">class MyThread(threading.Thread):<u></u><u></u></p>

<p class="MsoNormal">    def run(self):<u></u><u></u></p><p class="MsoNormal">        l = 0<u></u><u></u></p><p class="MsoNormal">        while True:<u></u><u></u></p><p class="MsoNormal">            n = os.getenv("PBAR", "")<u></u><u></u></p>

<p class="MsoNormal">            if len(n) != 0:<u></u><u></u></p><p class="MsoNormal">                n = int(n)<u></u><u></u></p><p class="MsoNormal">                if n > l:<u></u><u></u></p><p class="MsoNormal">                    pbar.update(n)<u></u><u></u></p>

<p class="MsoNormal">                    l = n<u></u><u></u></p><p class="MsoNormal">                    if n == 100:<u></u><u></u></p><p class="MsoNormal">                        break <u></u><u></u></p><p class="MsoNormal">

                else:<u></u><u></u></p><p class="MsoNormal">                    continue       <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">pbar = ProgBar()<u></u><u></u></p><p class="MsoNormal">

mythread = MyThread()<u></u><u></u></p><p class="MsoNormal">mythread.daemon = True  <u></u><u></u></p><p class="MsoNormal">mythread.start() <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">        <u></u><u></u></p>

<p class="MsoNormal">for i in range(101):<u></u><u></u></p><p class="MsoNormal">    update2("{0}".format(i))<u></u><u></u></p><p class="MsoNormal">    time.sleep(0.25)<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">  }}}  <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">{{{<u></u><u></u></p><p class="MsoNormal">Output:<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">

<img width="712" height="334" src="cid:image002.jpg@01CCAAEC.CFE44870" alt="output.jpeg"><u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">}}}<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">But I require the output to be of type:<u></u><u></u></p><p class="MsoNormal">{{{<u></u><u></u></p><p class="MsoNormal">13%  [###########                               ]<u></u><u></u></p>

<p class="MsoNormal">This will print for every call to update<u></u><u></u></p><p class="MsoNormal">This will print for every call to update<u></u><u></u></p><p class="MsoNormal">This will print for every call to update<u></u><u></u></p>

<p class="MsoNormal">This will print for every call to update<u></u><u></u></p><p class="MsoNormal">This will print for every call to update<u></u><u></u></p><p class="MsoNormal">}}}<u></u><u></u></p><p class="MsoNormal">

<u></u> <u></u></p><p class="MsoNormal">This is just a sample piece of code for narrowing down the problem. <u></u><u></u></p><p class="MsoNormal">How can I fix the cursor position fix for the thread which is updating my progressbar .?<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Thanks<u></u><u></u></p><p class="MsoNormal">Nikunj<u></u><u></u></p><p class="MsoNormal">Bangalore-India<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p></div></div><br>--<br>
<a href="http://mail.python.org/mailman/listinfo/python-list" target="_blank">http://mail.python.org/mailman/listinfo/python-list</a><br>
<br></blockquote></div><br>