On 2014-10-15 20:24, Vincent Vande Vyvre wrote:
Le 15/10/2014 20:39, Shiva a écrit :
Hi,

I am trying to search a string through files in a directory -
however while Python script works on it and writes a log - I want
to present the user with count of number of strings found. So it
should increment for each string found.

How do I implement it?

If I use a print() within a if condition statement - and execute
the script in terminal - for each find, the print() prints in new
line instead of a constantly incrementing counter.

> Try this:
>
>   >>> def counter(x):
> ...     for i in range(x):
> ...             print "\rProgress .............. %s" % i,
> ...             sys.stdout.flush()
> ...             time.sleep(1)
> ...
>   >>> counter(5)
>
In Python 3, you can specify what to do at the end of the print.
Normally it prints a newline, but you can make it print nothing at the
end, leaving the cursor just after the last thing printed:

>>> def counter(x):
...     for i in range(x):
...         print("\rProgress .............. %s" % i, end="")
...         sys.stdout.flush()
...         time.sleep(1)
...
>>> counter(5)

The "\r" moves the cursor back to the start of the line so that it
overwrites what was printed last time.
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to