mirror of https://github.com/python/cpython
48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
|
import os.path
|
||
|
import textwrap
|
||
|
|
||
|
|
||
|
def format_duration(seconds):
|
||
|
if seconds < 1.0:
|
||
|
return '%.0f ms' % (seconds * 1e3)
|
||
|
if seconds < 60.0:
|
||
|
return '%.0f sec' % seconds
|
||
|
|
||
|
minutes, seconds = divmod(seconds, 60.0)
|
||
|
hours, minutes = divmod(minutes, 60.0)
|
||
|
if hours:
|
||
|
return '%.0f hour %.0f min' % (hours, minutes)
|
||
|
else:
|
||
|
return '%.0f min %.0f sec' % (minutes, seconds)
|
||
|
|
||
|
|
||
|
def removepy(names):
|
||
|
if not names:
|
||
|
return
|
||
|
for idx, name in enumerate(names):
|
||
|
basename, ext = os.path.splitext(name)
|
||
|
if ext == '.py':
|
||
|
names[idx] = basename
|
||
|
|
||
|
|
||
|
def count(n, word):
|
||
|
if n == 1:
|
||
|
return "%d %s" % (n, word)
|
||
|
else:
|
||
|
return "%d %ss" % (n, word)
|
||
|
|
||
|
|
||
|
def printlist(x, width=70, indent=4, file=None):
|
||
|
"""Print the elements of iterable x to stdout.
|
||
|
|
||
|
Optional arg width (default 70) is the maximum line length.
|
||
|
Optional arg indent (default 4) is the number of blanks with which to
|
||
|
begin each line.
|
||
|
"""
|
||
|
|
||
|
blanks = ' ' * indent
|
||
|
# Print the sorted list: 'x' may be a '--random' list or a set()
|
||
|
print(textwrap.fill(' '.join(str(elt) for elt in sorted(x)), width,
|
||
|
initial_indent=blanks, subsequent_indent=blanks),
|
||
|
file=file)
|