有沒有辦法在Python中對printf
的字符串進行格式化?像這樣的情況下,每次重寫的次數爲x
,而不是回顯到新行。在python中的字符串的printf格式
x=0
while [[ $x -lt 10 ]]; do
x=$((x+1))
printf '%s\r'"Processing page ${x}"
sleep 1
done
有沒有辦法在Python中對printf
的字符串進行格式化?像這樣的情況下,每次重寫的次數爲x
,而不是回顯到新行。在python中的字符串的printf格式
x=0
while [[ $x -lt 10 ]]; do
x=$((x+1))
printf '%s\r'"Processing page ${x}"
sleep 1
done
在Python 3(戴維·陳的回答適用於Python也2.6+):
import time
x = 0
while x < 10:
x += 1
print('\rProcessing Page {0}'.format(x), end='')
time.sleep(1)
添加一個回車符開始,從end=''
末去除新線將覆蓋當前行。
您可能會提到您的解決方案特定於Python3,或者(甚至更好)提供可在Python2和Python3中使用的解決方案。 –
是的,我記得剛纔 – ZuluDeltaNiner
感謝您的幫助。 –
在Python 3.x中,print函數爲end
參數提供了一個附加參數。
>>> print('foo', end='')
foo
>>> for i in range(10):
print('foo', end='')
foofoofoofoofoofoofoofoofoofoo
當然,如果你使用的是Python> = 2.6,則需要從__future__
進口print_function
。
>>> from __future__ import print_function
感謝您的幫助。 –
你的意思是像[this](https://pyformat.info/)? –
這個問題的答案將取決於正在使用的Python版本。你在使用Python2還是Python3? –
@Robᵩ我正在使用Python2 –