質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
REST

REST(Representational State Transfer)はwebアプリケーションの構築スタイルの一種です。HTTP GET/POSTによってリクエストを送信し、レスポンスはXMLで返されます。SOAPのようなRPCの構築と比べるとサーバからクライアントを分離することが出来る為、人気です。

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

1697閲覧

コマンドプロンプトでRESTの途中停止方法(プログラム停止方法)

aws

総合スコア48

REST

REST(Representational State Transfer)はwebアプリケーションの構築スタイルの一種です。HTTP GET/POSTによってリクエストを送信し、レスポンスはXMLで返されます。SOAPのようなRPCの構築と比べるとサーバからクライアントを分離することが出来る為、人気です。

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

1クリップ

投稿2020/07/25 13:50

編集2020/07/27 02:05

為替データをAPIでRESTで提供しているサービスがあり、その為替データの更新をpythonで構築しています。

為替データ取得更新等は出来たのですがプログラム停止方法が分からず困っています。
止めるといってもプログラム(コード)で止めたいのではなくコマンドプロンプトのキーで止めたいです。

一般的?なプログラムの途中停止方法としては

Ctrl+C

でプログラムを強制停止出来ると思うのですが、コマンドプロンプトに "Ctrl+C" 入力する事が出来ず停止しません。

なので毎回コマンドプロンプトを終了させて再度立ち上げて動かしています。

何か良い方法など御座いませんでしょうか?

環境
windows10
python3.7
実行:コマンドプロンプト

#############################

【追加編集】画像を追加させて頂きました。

以下の様な感じでREST APIを利用して為替データを取得しています。(printでコマンドプロンプトに表示しています。)

gif動画を変更させて頂きました。 print は "aaaaa"と時刻のみの表示です。
この状態で "Ctrl+C" を押してもprintで表示以外には何も表示されません。
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gentaro

2020/07/25 18:55

どうでもいいですが、RESTを「Rest」などと中途半端に小文字を使うと意味が伝わりません。 プログラミングというより一般的な英語の話ですが、RESTそのものが略語から生まれた単語なんで、略語表記の大文字と小文字を勝手に変えるのはNGです。
otn

2020/07/25 19:19

Restって、RESTのことかと思ったのですが、 > Restを動かしていると ということは、RESTじゃなくて何らかのツールの名前でしょうか?それは何??
otn

2020/07/26 13:41

> RESTを動かしていると が意味不明です。
aws

2020/07/26 14:08

otn様 ご説明が不足で申し訳御座いません。 どの様に説明すると良いのか悩んでいるのですが、REST APIで為替データを取得している状態でコマンドプロンプトに "Ctrl+C" 入力する事が出来ない状態です。
otn

2020/07/26 16:14

「REST APIを使ってウェブアクセスするPythonプログラムを動かしていると」という意味でしょうか? また、 > コマンドプロンプトに "Ctrl+C" 入力する事が出来ない状態です。 とは、具体的にどんな現象でしょうか?つまり、押すとどうなりますか?(どうならないかじゃなくて)
aws

2020/07/27 01:18

>「REST APIを使ってウェブアクセスするPythonプログラムを動かしていると」という意味でしょうか? はい。こちらの意味になります。 > とは、具体的にどんな現象でしょうか?つまり、押すとどうなりますか?(どうならないかじゃなくて) 押しても何もおこりません。 本文にてgif動画を追加しました。 動画中も"Ctrl+C" を押しましたが何も起こりません。
otn

2020/07/27 01:28

この動画画像だと、表示が流れて、何も起こらなかったかどうか判別できないです。 Ctrl+Cを押したときに、意図的にprintした表示以外には何も表示された無かったことは確認できているのでしょうか?できているなら、その部分を載せてください。
aws

2020/07/27 02:10

gif動画を変更しprintをaaaaaと日時のみの表示してみました。 動画中 Ctrl+C を押していますがprint表示以外は何も表示されていません。
otn

2020/07/27 04:05

念のためですが、自分で書いたプログラムですよね? 他人が書いたプログラムだと、意図的にCtrl-Cを無視している可能性がありますが。
guest

回答1

0

ベストアンサー

使っているライブラリの中まで把握していないと言うことなら、HTTPリクエスト中(レスポンス待ちの間)はKeyboardInterruptがブロックされてるのでしょう。
少なくとも、urllibだとそうです。

案1:
Ctrl-Cを押しっぱなしにすれば、ライブラリからリターンしてきた時点で止まるかと思います。
これは試し済みかと思ったのですが、どうもやってないと言うことですかね。

案2:

Python

1 try: 2 ライブラリ呼び出し 3 except KeyboardInterrupt: 4 print("STOP") 5 sys.exit()

だと、長押ししなくてもライブラリから戻った時点で止まるはず。多分。

案3:
Ctrl+Cでなく、Ctrl+Breakを使う。これだとurllibだとレスポンス待ちの場合でも止まります。それ以外のライブラリは知らない。
Breakは普段使わないキーなので、ノートPCだとFnキーと併用だと思います。

投稿2020/07/27 05:17

otn

総合スコア85901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aws

2020/07/27 14:25

ご回答有難う御座います。 案1 Ctrl-C を押し続けるも何も起こらず。 案2 プログラム修正後 Ctrl-C を押し+連打などするも何も起こらず。 案3 出来ました!! 初期及びKeyboardInterrupt変更共に両方停止する事が出来ました。 キーボードにBreakキーが無かったためスクリーンキーボードを表示。 スクリーンキーボードにもBreakがないためCtrl + ScrLkを入力 参考URL : http://jisakupc-technical.info/windows/4635/ 分かりにくい説明を何度もしたにも関わらずお付き合い頂き本当に有難う御座います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問