我要做的是用新的打印语句替换打印语句。用外行的话来说,我希望控制台打印,然后在下载完成后立即Downloading...
替换它。Downloading...done!
我已经尝试过这个答案,但它只是打印一些垃圾,然后在新行上打印语句。我正在使用 Python 3。提前致谢!
问问题
925 次
4 回答
0
end=""
在第一个中使用print
,默认值为end
anew line
但您可以通过传递您自己的值来更改它:
print("Downloading...",end="")
#your code here
print("Done!")
输出:
Downloading...Done!
帮助print
:
In [3]: print?
Type: builtin_function_or_method
String Form:<built-in function print>
Namespace: Python builtin
Docstring:
print(value, ..., sep=' ', end='\n', file=sys.stdout)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
于 2013-04-20T17:49:32.797 回答
0
一个简单的例子:
import time
print("Downloading... ", end='')
time.sleep(3)
print("done.")
您还可以在使用 "\r" 之前替换部分行 printet:
import time
print("Downloading... ", end='')
time.sleep(3)
print("\r.............. done.")
这当然只适用于您不在回车符之前的任何地方打印换行符。
于 2013-04-20T17:50:08.203 回答
0
print ("Print this line, and print a newline")
print ("Print this line, but not a newline", end="")
http://www.harshj.com/2008/12/09/the-new-print-function-in-python-3/
于 2013-04-20T17:50:41.053 回答
0
如果你想要一个交互式的...
,即它增长,你可以做这样的事情。只需用更合适的东西更改条件中的条件,while
甚至在循环内使用while True
和。if
break
>>> import time
>>> def dotdotdot():
... print("Downloading", end="")
... a = 0
... while a < 10:
... print(".", end="")
... time.sleep(1)
... a += 1
... print("done!")
...
>>> dotdotdot()
Downloading..........done!
于 2013-04-20T18:06:16.400 回答