How to stop inifinite loop with specific key instead of keyboard Interrupt exception?
Simplified version of code is below. In the while loop I normally process data from serial port and measurement is not limited by time or any value. I want to stop execution with key anytime i need to stop.
try-except is easiest way but it will affect also main code it is implemented. It is not good option in my case. I couldn't find how to fit keyboard monitoring here enter link description hereinto class and also same for signals. I would like to insert an if-statement which calls other function in class to stop execution of loop. Any help would appreciated. Thanks
import time
class Something:
def __init__(self):
self.looping()
def looping(self):
i=0
while True:
i+=1
time.sleep(1)
print(i)
some=Something()
python python-3.x while-loop infinite-loop pynput
add a comment |
Simplified version of code is below. In the while loop I normally process data from serial port and measurement is not limited by time or any value. I want to stop execution with key anytime i need to stop.
try-except is easiest way but it will affect also main code it is implemented. It is not good option in my case. I couldn't find how to fit keyboard monitoring here enter link description hereinto class and also same for signals. I would like to insert an if-statement which calls other function in class to stop execution of loop. Any help would appreciated. Thanks
import time
class Something:
def __init__(self):
self.looping()
def looping(self):
i=0
while True:
i+=1
time.sleep(1)
print(i)
some=Something()
python python-3.x while-loop infinite-loop pynput
1
Why would atry
/except KeyboardInterrupt
affect the rest of your code?
– roganjosh
Nov 22 '18 at 10:15
Old related: stackoverflow.com/questions/1335507/…
– gustavovelascoh
Nov 22 '18 at 10:16
You could create a second thread that changes a variable value on keyboardinput. And let the main thread run the while loop while variable True.
– van der Zon Stef
Nov 22 '18 at 10:24
add a comment |
Simplified version of code is below. In the while loop I normally process data from serial port and measurement is not limited by time or any value. I want to stop execution with key anytime i need to stop.
try-except is easiest way but it will affect also main code it is implemented. It is not good option in my case. I couldn't find how to fit keyboard monitoring here enter link description hereinto class and also same for signals. I would like to insert an if-statement which calls other function in class to stop execution of loop. Any help would appreciated. Thanks
import time
class Something:
def __init__(self):
self.looping()
def looping(self):
i=0
while True:
i+=1
time.sleep(1)
print(i)
some=Something()
python python-3.x while-loop infinite-loop pynput
Simplified version of code is below. In the while loop I normally process data from serial port and measurement is not limited by time or any value. I want to stop execution with key anytime i need to stop.
try-except is easiest way but it will affect also main code it is implemented. It is not good option in my case. I couldn't find how to fit keyboard monitoring here enter link description hereinto class and also same for signals. I would like to insert an if-statement which calls other function in class to stop execution of loop. Any help would appreciated. Thanks
import time
class Something:
def __init__(self):
self.looping()
def looping(self):
i=0
while True:
i+=1
time.sleep(1)
print(i)
some=Something()
python python-3.x while-loop infinite-loop pynput
python python-3.x while-loop infinite-loop pynput
edited Nov 22 '18 at 10:16
roganjosh
6,31731228
6,31731228
asked Nov 22 '18 at 10:14
B_CB_C
41
41
1
Why would atry
/except KeyboardInterrupt
affect the rest of your code?
– roganjosh
Nov 22 '18 at 10:15
Old related: stackoverflow.com/questions/1335507/…
– gustavovelascoh
Nov 22 '18 at 10:16
You could create a second thread that changes a variable value on keyboardinput. And let the main thread run the while loop while variable True.
– van der Zon Stef
Nov 22 '18 at 10:24
add a comment |
1
Why would atry
/except KeyboardInterrupt
affect the rest of your code?
– roganjosh
Nov 22 '18 at 10:15
Old related: stackoverflow.com/questions/1335507/…
– gustavovelascoh
Nov 22 '18 at 10:16
You could create a second thread that changes a variable value on keyboardinput. And let the main thread run the while loop while variable True.
– van der Zon Stef
Nov 22 '18 at 10:24
1
1
Why would a
try
/ except KeyboardInterrupt
affect the rest of your code?– roganjosh
Nov 22 '18 at 10:15
Why would a
try
/ except KeyboardInterrupt
affect the rest of your code?– roganjosh
Nov 22 '18 at 10:15
Old related: stackoverflow.com/questions/1335507/…
– gustavovelascoh
Nov 22 '18 at 10:16
Old related: stackoverflow.com/questions/1335507/…
– gustavovelascoh
Nov 22 '18 at 10:16
You could create a second thread that changes a variable value on keyboardinput. And let the main thread run the while loop while variable True.
– van der Zon Stef
Nov 22 '18 at 10:24
You could create a second thread that changes a variable value on keyboardinput. And let the main thread run the while loop while variable True.
– van der Zon Stef
Nov 22 '18 at 10:24
add a comment |
1 Answer
1
active
oldest
votes
import time
class Something:
def __init__(self):
self.looping()
def looping(self):
i=0
while True:
try:
i+=1
time.sleep(1)
print(i)
except KeyboardInterrupt:
break
some=Something()
I did this but instead of this, i would like assign a key for break. not ctrl+c
– B_C
Nov 22 '18 at 10:25
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%2f53428595%2fhow-to-stop-inifinite-loop-with-specific-key-instead-of-keyboard-interrupt-excep%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
import time
class Something:
def __init__(self):
self.looping()
def looping(self):
i=0
while True:
try:
i+=1
time.sleep(1)
print(i)
except KeyboardInterrupt:
break
some=Something()
I did this but instead of this, i would like assign a key for break. not ctrl+c
– B_C
Nov 22 '18 at 10:25
add a comment |
import time
class Something:
def __init__(self):
self.looping()
def looping(self):
i=0
while True:
try:
i+=1
time.sleep(1)
print(i)
except KeyboardInterrupt:
break
some=Something()
I did this but instead of this, i would like assign a key for break. not ctrl+c
– B_C
Nov 22 '18 at 10:25
add a comment |
import time
class Something:
def __init__(self):
self.looping()
def looping(self):
i=0
while True:
try:
i+=1
time.sleep(1)
print(i)
except KeyboardInterrupt:
break
some=Something()
import time
class Something:
def __init__(self):
self.looping()
def looping(self):
i=0
while True:
try:
i+=1
time.sleep(1)
print(i)
except KeyboardInterrupt:
break
some=Something()
edited Nov 22 '18 at 10:21
answered Nov 22 '18 at 10:17
Srce CdeSrce Cde
1,144511
1,144511
I did this but instead of this, i would like assign a key for break. not ctrl+c
– B_C
Nov 22 '18 at 10:25
add a comment |
I did this but instead of this, i would like assign a key for break. not ctrl+c
– B_C
Nov 22 '18 at 10:25
I did this but instead of this, i would like assign a key for break. not ctrl+c
– B_C
Nov 22 '18 at 10:25
I did this but instead of this, i would like assign a key for break. not ctrl+c
– B_C
Nov 22 '18 at 10:25
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%2f53428595%2fhow-to-stop-inifinite-loop-with-specific-key-instead-of-keyboard-interrupt-excep%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
1
Why would a
try
/except KeyboardInterrupt
affect the rest of your code?– roganjosh
Nov 22 '18 at 10:15
Old related: stackoverflow.com/questions/1335507/…
– gustavovelascoh
Nov 22 '18 at 10:16
You could create a second thread that changes a variable value on keyboardinput. And let the main thread run the while loop while variable True.
– van der Zon Stef
Nov 22 '18 at 10:24