0

10 秒ごとに ftp ディレクトリ リストを取得する python プログラムがあります。

While True:
  ...
  ftp.nlst()
  time.sleep(refresh_delay)
  ...

time.sleep(refresh_delay)プログラムの関数呼び出し中に「q」または「r」を押して終了または再起動できるようにしたい。プログラム中の Ctrl-C の問題は、ftp.quit() 関数が呼び出されず、タイムアウトになるまで接続を開いたままにすることを意味します。

比較のために、MS コマンド ライン ユーティリティchoiceは次の方法でこれを行います。

choice /c QRN /t 10 /d N /M "Quit, Restart, Do Nothing"

可能であればオプションを非表示にしたいのですが、必須ではありません。

4

1 に答える 1

1

2 つのスレッドが必要になるのではないかと心配しています。もう 1 つはユーザー入力を取得し、おそらく終了して最初のスレッドに参加します。

于 2013-11-25T21:28:16.580 に答える