반응형
인쇄 된 항목 제거 및 교체 [중복]
이 질문에 이미 답변이 있습니다.
- 한 줄에 동적으로 인쇄 17 답변
Python GUI가 아니라 명령 프롬프트에서 Python으로 인쇄 한 항목을 제거 할 수 있는지 궁금합니다. 예 :
a = 0
for x in range (0,3):
a = a + 1
b = ("Loading" + "." * a)
print (a)
그래서 그것은 인쇄
>>>Loading
>>>Loading.
>>>Loading..
>>>Loading...
그러나 내 문제는이 모든 것을 한 줄로 원하고 다른 일이 발생하면 스스로 제거한다는 것입니다. 그래서 인쇄하는 대신에 인쇄 "Loading", "Loading.", "Loading...
하고 싶습니다 "Loading."
. 그런 다음 줄에있는 것을 제거 "Loading.."
하고로 바꾼 다음 제거 "Loading.."
하고 (같은 줄에서) "Loading..."
. 설명하기 어렵습니다.
추신 백 스페이스 문자를 사용하려고했지만 작동하지 않는 것 같습니다 ( "\b"
)
감사
CR을 사용하여 줄의 시작으로 이동하십시오.
import time
for x in range (0,5):
b = "Loading" + "." * x
print (b, end="\r")
time.sleep(1)
한 가지 방법은 ANSI 이스케이프 시퀀스 를 사용하는 것입니다 .
import sys
import time
for i in range(10):
print("Loading" + "." * i)
sys.stdout.write("\033[F") # Cursor up one line
time.sleep(1)
또한 때때로 유용합니다 (예 : 이전보다 짧은 것을 인쇄하는 경우).
sys.stdout.write("\033[K") # Clear to the end of line
import sys
import time
a = 0
for x in range (0,3):
a = a + 1
b = ("Loading" + "." * a)
# \r prints a carriage return first, so `b` is printed on top of the previous line.
sys.stdout.write('\r'+b)
time.sleep(0.5)
print (a)
버퍼링없이 요청시 결과를 인쇄하려면 인쇄를 수행중인 콘솔에 따라 sys.stdout.flush()
바로 실행해야 할 수도 있습니다 sys.stdout.write('\r'+b)
.
참고 URL : https://stackoverflow.com/questions/5290994/remove-and-replace-printed-items
반응형
'your programing' 카테고리의 다른 글
localhost를 사용할 때 Facebook 앱 도메인 이름 (0) | 2020.10.06 |
---|---|
Kotlin에서 Gson과 함께 TypeToken + 제네릭을 사용하는 방법 (0) | 2020.10.06 |
org.hibernate.MappingException : 다음에 대한 유형을 결정할 수 없습니다 : java.util.List, at table : College, for columns : [org.hibernate.mapping.Column (students)] (0) | 2020.10.06 |
Javascript에서 페이지에서 객체의 절대 위치를 어떻게 얻을 수 있습니까? (0) | 2020.10.06 |
한 위치에서 다른 위치로 폴더 구조 (sans 파일) 복사 (0) | 2020.10.06 |