2017-04-04 11 views
0

私は前に同様の質問をしましたが、私は十分に具体的ではなかったことを今や認識しています。私はPythonにはかなり新しいですが、私はGETリクエストを処理するためにリクエストライブラリを使うことに慣れています。ループを介して(リクエストライブラリを使用して)いくつかのGETリクエストを処理できるようにする単一のスクリプトを設定しようとしています。次に、特定のフィールドの値を変更している複数のPUTリクエスト(おそらく2番目のループ)を処理するために、それらのGETリクエストから収集された情報を使用する必要があります。たとえば、これは私が私のGET要求のいずれかから戻って受け取ることになるものです:GETリクエストのデータを使って同じPythonスクリプトでPUTリクエストを処理する

{ 
"member": { 
    "id": 12233444, 
    "code": null, 
    "code2": null, 
    "code3": null, 
    "state": "active", 
    "cost_quarter": null, 
    "master_id": 818667, 
    "timeout_period": 2000, 
    "enable_for_change": true, 
    "is_prohibited": false, 
    "site_id": 5544, 
}} 

私は、これらのそれぞれに対してPUTリクエストを処理する必要があるだろう「5000」に「timeout_period」を変更する要求をGET 。私のPUT要求は、各メンバーのために次のようになります。私はこれを実現することができるか本当にわからない

{ 
"member": { 
    "id": 12233444, 
    "code": null, 
    "code2": null, 
    "code3": null, 
    "state": "active", 
    "cost_quarter": null, 
    "master_id": 818667, 
    "timeout_period": 5000, 
    "enable_for_change": true, 
    "is_prohibited": false, 
    "site_id": 5544, 
}} 

。いくつかのGETリクエストを(ループを介して)処理し、その情報をどこかに保存し、それを使って変更された情報を持つPUTリクエスト(各メンバー)を処理する方法はありますか?

ご協力いただければ幸いです。ありがとう。

+0

リクエストのJSON本体として2番目のコードスニペットを使用している間に、サーバーにPUTリクエストを送信しますか? – hallazzang

+0

申し訳ありませんが、私はエンドポイントにいくつかのGETリクエストを作成し、それらのGETリクエストから取得したデータを使用して、同じメンバーのPUTリクエストを処理する必要があります。理由は、「メンバー」データが常に同じであるとは限りません。そのため、PUTリクエストを処理するときに、これらのメンバーのそれぞれに対して構造が損なわれている必要があります。この例では "timeout_period"という単一フィールド値を変更するだけです。 – user7681184

+0

私が求めているのは「あなたがPUTリクエストを処理する方法」です。 JSON形式のデータのように見えます。私が正しく理解していれば、最初のスニペット( 'time_period'は2000)がGETリクエストによって返されます。そして、その 'time_period'値を変更して、そのデータをリクエストのJSON本体として使用している間にPUTリクエストを送信したいのですか? – hallazzang

答えて

0
import requests 

r = requests.get(...).json() 
r['time_period'] = 5000 

requests.put(..., json=r) 

この方法を使用してください。

+0

大変ありがとう。ここから、複数のメンバーを処理したい場合は、forループを設定するだけですか? – user7681184

+0

もちろん、あなたはすべきです。 – hallazzang

関連する問題