Jupyter Ipywidgets - How to clear cell output before re-printing the output
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
Using Python 3.7 in a Jupyter notebook, the code below shows a text entry field that triggers the handle_submit function to print out some output.
In this example 40 repetitions of the input.
from ipywidgets import widgets
from IPython.display import display
text = widgets.Text()
display(text)
def handle_submit(sender):
print('n'.join([text.value] * 40 ))
text.on_submit(handle_submit)
Running this code displays a text box.
If you enter text in the box and press Enter, the handle_submit function is run and the "result" is printed.
This can be used multiple times, but all old output is kept. So after using the entry field a couple of times you need to scroll endlessly to get to the new result.
Is there a command to clear the cell output before printing new output from the handle_submit function? Unlike this example, the output length is not fixed, so the solution should handle differently sized outputs.
python python-3.x jupyter-notebook ipywidgets
add a comment |
Using Python 3.7 in a Jupyter notebook, the code below shows a text entry field that triggers the handle_submit function to print out some output.
In this example 40 repetitions of the input.
from ipywidgets import widgets
from IPython.display import display
text = widgets.Text()
display(text)
def handle_submit(sender):
print('n'.join([text.value] * 40 ))
text.on_submit(handle_submit)
Running this code displays a text box.
If you enter text in the box and press Enter, the handle_submit function is run and the "result" is printed.
This can be used multiple times, but all old output is kept. So after using the entry field a couple of times you need to scroll endlessly to get to the new result.
Is there a command to clear the cell output before printing new output from the handle_submit function? Unlike this example, the output length is not fixed, so the solution should handle differently sized outputs.
python python-3.x jupyter-notebook ipywidgets
add a comment |
Using Python 3.7 in a Jupyter notebook, the code below shows a text entry field that triggers the handle_submit function to print out some output.
In this example 40 repetitions of the input.
from ipywidgets import widgets
from IPython.display import display
text = widgets.Text()
display(text)
def handle_submit(sender):
print('n'.join([text.value] * 40 ))
text.on_submit(handle_submit)
Running this code displays a text box.
If you enter text in the box and press Enter, the handle_submit function is run and the "result" is printed.
This can be used multiple times, but all old output is kept. So after using the entry field a couple of times you need to scroll endlessly to get to the new result.
Is there a command to clear the cell output before printing new output from the handle_submit function? Unlike this example, the output length is not fixed, so the solution should handle differently sized outputs.
python python-3.x jupyter-notebook ipywidgets
Using Python 3.7 in a Jupyter notebook, the code below shows a text entry field that triggers the handle_submit function to print out some output.
In this example 40 repetitions of the input.
from ipywidgets import widgets
from IPython.display import display
text = widgets.Text()
display(text)
def handle_submit(sender):
print('n'.join([text.value] * 40 ))
text.on_submit(handle_submit)
Running this code displays a text box.
If you enter text in the box and press Enter, the handle_submit function is run and the "result" is printed.
This can be used multiple times, but all old output is kept. So after using the entry field a couple of times you need to scroll endlessly to get to the new result.
Is there a command to clear the cell output before printing new output from the handle_submit function? Unlike this example, the output length is not fixed, so the solution should handle differently sized outputs.
python python-3.x jupyter-notebook ipywidgets
python python-3.x jupyter-notebook ipywidgets
asked Jan 3 at 20:59
576i576i
2,50011335
2,50011335
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
By creating an Output widget, you can print to this widget the same way as a cell output. You also have the option to call clear_output()
in a context manager to, well, clear the output.
I've coded this up so the output is cleared every time new input is submitted, but there's no reason why you couldn't hook a button up to run clear_output()
to do this manually.
from ipywidgets import widgets
from IPython.display import display, clear_output
text = widgets.Text()
display(text)
output = widgets.Output()
display(output)
def handle_submit(sender):
with output:
clear_output()
print('n'.join([text.value] * 40 ))
text.on_submit(handle_submit)
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54029719%2fjupyter-ipywidgets-how-to-clear-cell-output-before-re-printing-the-output%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
By creating an Output widget, you can print to this widget the same way as a cell output. You also have the option to call clear_output()
in a context manager to, well, clear the output.
I've coded this up so the output is cleared every time new input is submitted, but there's no reason why you couldn't hook a button up to run clear_output()
to do this manually.
from ipywidgets import widgets
from IPython.display import display, clear_output
text = widgets.Text()
display(text)
output = widgets.Output()
display(output)
def handle_submit(sender):
with output:
clear_output()
print('n'.join([text.value] * 40 ))
text.on_submit(handle_submit)
add a comment |
By creating an Output widget, you can print to this widget the same way as a cell output. You also have the option to call clear_output()
in a context manager to, well, clear the output.
I've coded this up so the output is cleared every time new input is submitted, but there's no reason why you couldn't hook a button up to run clear_output()
to do this manually.
from ipywidgets import widgets
from IPython.display import display, clear_output
text = widgets.Text()
display(text)
output = widgets.Output()
display(output)
def handle_submit(sender):
with output:
clear_output()
print('n'.join([text.value] * 40 ))
text.on_submit(handle_submit)
add a comment |
By creating an Output widget, you can print to this widget the same way as a cell output. You also have the option to call clear_output()
in a context manager to, well, clear the output.
I've coded this up so the output is cleared every time new input is submitted, but there's no reason why you couldn't hook a button up to run clear_output()
to do this manually.
from ipywidgets import widgets
from IPython.display import display, clear_output
text = widgets.Text()
display(text)
output = widgets.Output()
display(output)
def handle_submit(sender):
with output:
clear_output()
print('n'.join([text.value] * 40 ))
text.on_submit(handle_submit)
By creating an Output widget, you can print to this widget the same way as a cell output. You also have the option to call clear_output()
in a context manager to, well, clear the output.
I've coded this up so the output is cleared every time new input is submitted, but there's no reason why you couldn't hook a button up to run clear_output()
to do this manually.
from ipywidgets import widgets
from IPython.display import display, clear_output
text = widgets.Text()
display(text)
output = widgets.Output()
display(output)
def handle_submit(sender):
with output:
clear_output()
print('n'.join([text.value] * 40 ))
text.on_submit(handle_submit)
answered Jan 8 at 7:55
ac24ac24
705110
705110
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54029719%2fjupyter-ipywidgets-how-to-clear-cell-output-before-re-printing-the-output%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown