반응형
인쇄 된 항목 제거 및 교체 [중복]
이 질문에 이미 답변이 있습니다.
- 한 줄에 동적으로 인쇄 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 |