Tôi đã muốn trong một thời gian dài để tìm hiểu làm thế nào để xóa một cái gì đó như in ["ví dụ"] bằng Python, nhưng tôi dường như không thể tìm thấy hoặc tìm ra bất cứ điều gì.
print["Hey"]
>Hey
Bây giờ tôi cần phải xóa nó, và viết một số văn bản mới.
print["How is your day?"]
Nó sẽ in.
Chào
>How is your day?
Nhưng tôi muốn xóa "Hey" để người dùng không nên nhìn vào cả hai cùng một lúc và nó trông hơi lộn xộn.
BRAX
11.3k5 Huy hiệu vàng19 Huy hiệu bạc33 Huy hiệu đồng5 gold badges19 silver badges33 bronze badges
Đã hỏi ngày 25 tháng 10 năm 2013 lúc 18:12Oct 25, 2013 at 18:12
3
import os
os.system['cls']
Hoặc os.system['clear']
trên Unix [Mac và Linux]. Nếu bạn cũng không muốn cuộn lên, thì bạn có thể làm điều này:
print["How is your day?"]
0 cũng nên loại bỏ cuộn lại. Một cái gì đó hoạt động trên tất cả các hệ thống:import os
os.system['cls' if os.name == 'nt' else "printf '\033c'"]
Đã trả lời ngày 25 tháng 10 năm 2013 lúc 18:15Oct 25, 2013 at 18:15
Trò chơi Brainiacgames BrainiacGames Brainiac
77.7K32 Huy hiệu vàng133 Huy hiệu bạc192 Huy hiệu Đồng32 gold badges133 silver badges192 bronze badges
12
Tôi nghĩ rằng đây là những gì bạn muốn làm:
Lấy con trỏ một dòng lên và xóa dòng
Điều này có thể được thực hiện như sử dụng mã bên dưới
import sys
import time
def delete_last_line[]:
"Use this function to delete the last line in the STDOUT"
#cursor up one line
sys.stdout.write['\x1b[1A']
#delete last line
sys.stdout.write['\x1b[2K']
########## FOR DEMO ################
if __name__ == "__main__":
print["hello"]
print["this line will be delete after 2 seconds"]
time.sleep[2]
delete_last_line[]
####################################
Đã trả lời ngày 1 tháng 10 năm 2018 lúc 11:37Oct 1, 2018 at 11:37
Aniket Navluraniket NavlurAniket Navlur
9221 Huy hiệu vàng11 Huy hiệu bạc22 Huy hiệu đồng1 gold badge11 silver badges22 bronze badges
0
Bổ sung nhỏ vào câu trả lời của
print["How is your day?"]
1 để xóa nhiều dòng:def delete_multiple_lines[n=1]:
"""Delete the last line in the STDOUT."""
for _ in range[n]:
sys.stdout.write["\x1b[1A"] # cursor up one line
sys.stdout.write["\x1b[2K"] # delete the last line
Đã trả lời ngày 22 tháng 11 năm 2021 lúc 21:47Nov 22, 2021 at 21:47
Alperalperalper
2.5416 Huy hiệu vàng45 Huy hiệu bạc80 Huy hiệu Đồng6 gold badges45 silver badges80 bronze badges
1
Tôi có một cách tạm thời:
print["Hey", end=""]
for i in range[4]:
print['\b', end = '']
print["How is your day?"]
Alper
2.5416 Huy hiệu vàng45 Huy hiệu bạc80 Huy hiệu Đồng6 gold badges45 silver badges80 bronze badges
Tôi có một cách tạm thời:Feb 24, 2019 at 18:22
AlperVicrobot
Đã trả lời ngày 24 tháng 2 năm 2019 lúc 18:221 gold badge16 silver badges29 bronze badges
1
Vicrobotvicrobot
import time
import sys
#first text
print['Hey.', end=""]
#flush stdout
sys.stdout.flush[]
#wait a second
time.sleep[1]
#write a carriage return and new text
print['\rHow is your day?']
3.6351 Huy hiệu vàng16 Huy hiệu bạc29 Huy hiệu đồng
Nhân vật Escape
2 [Quay trở lại], có nghĩa là "bắt đầu in từ đầu dòng này". Nhưng một số hệ điều hành sử dụng nó là 'Newline'. Sau đây sẽ hoạt động trong Linux:1 gold badge9 silver badges25 bronze badgesprint["How is your day?"]
PfabriFeb 17, 2021 at 10:20
8231 Huy hiệu vàng9 Huy hiệu bạc25 Huy hiệu đồngAdam Jenča
Đã trả lời ngày 17 tháng 2 năm 2021 lúc 10:204 silver badges15 bronze badges
1