質問するログイン新規登録

回答編集履歴

2

補足

2019/02/19 04:03

投稿

otn
otn

スコア86380

answer CHANGED
@@ -5,6 +5,7 @@
5
5
 
6
6
  ```Python
7
7
  import signal
8
+ import time
8
9
 
9
10
  def foo(sig, frame):
10
11
  x = input("""
@@ -14,6 +15,10 @@
14
15
  exit(1)
15
16
 
16
17
  signal.signal(signal.SIGINT,foo)
18
+
19
+ for i in range(1,20):
20
+ print(i)
21
+ time.sleep(1)
17
22
  ```
18
23
  ですかね。マルチスレッドの場合どうなるかは調べてません.
19
24
 

1

補足を受けての追記

2019/02/19 04:03

投稿

otn
otn

スコア86380

answer CHANGED
@@ -1,1 +1,20 @@
1
- `input()`で、キーボード入力待ちになり、Enterキーで続行します。
1
+ `input()`で、キーボード入力待ちになり、Enterキーで続行します。
2
+
3
+ #追記
4
+ > 「コード上の任意のタイミング」ではなくて、「ユーザーが好きなタイミングで」ですか。
5
+
6
+ ```Python
7
+ import signal
8
+
9
+ def foo(sig, frame):
10
+ x = input("""
11
+ Ctrl-Cが押されました。一時停止中です。続行にはEnterを押してください。
12
+ プログラム終了する場合は、q を入力:""")
13
+ if x == "q":
14
+ exit(1)
15
+
16
+ signal.signal(signal.SIGINT,foo)
17
+ ```
18
+ ですかね。マルチスレッドの場合どうなるかは調べてません.
19
+
20
+ Windowsに特化した別の方法があるかも知れません。