Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to clear output in jupyter notebook cell after each for loop?

So, for each for loop, I generate an image + ask the user to input 'yes' or 'no'. I'd like the image & the user input line to be cleared from the cell before I generate a new image & new user input line. Instead, only the image is being cleared/replaced (the user input line doesn't show at all).
This is what it looks like now (everything under for loop should be indented to right): enter image description here

for filename in os.listdir(folder):
clear_output(wait=True)
split_filename=os.path.splitext(filename)[0] #splitting filename from .jpg
image_id, age=split_filename.split('_', 2) #saving image_id and age
#print([image_id, age])

if int(image_id)>= starting_image_id: #start at a certain image #, specified above    
    image_ids.append(image_id) 
    ages.append(age)
 
    #This line below displays image in original color:
    #display.display(Image.open(os.path.join(folder,filename)))
    
    #These 5 lines below display image in grayscale:
    image = cv2.imread(os.path.join(folder,filename))
    image1 = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
    plt.figure()   # create a new figure
    plt.imshow(image1, cmap='gray')
    plt.show()
                     
    attractive_rating=0 #so that while loop will run until user input = y or n 
    while attractive_rating != 'y' and attractive_rating !='n':
        attractive_rating=input('Do you find this face attractive? Enter y/n:')
    attractive_labels.append(attractive_rating) 
    
    if attractive_labels.count('y') > 2 and attractive_labels.count('n')>2:
        break 
like image 436
Sofia R Valdez Avatar asked Oct 24 '25 04:10

Sofia R Valdez


1 Answers

You can use clear_output at the end of the loop.

This code will print out some output with a specified value. Each iteration the previous output is cleared and a new one is displayed instead.

from IPython.display import clear_output

value = 1

while value != 'x':
    value = input('Input a value. Type x to quit.')
    print(f'The value was {value}')
    clear_output(wait=True)
print('Script completed')
like image 118
qoob Avatar answered Oct 26 '25 17:10

qoob



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!