Pythonでファイルをアップロードする


press
Pythonでファイルをアップロードする

Pythonでファイルをアップロードする

画像をPOSTして結果を返すプログラムやファイルをアップロードして機械学習の推論を試す時に、ブラウザからFormを使ってアップロードすることもできますが、PythonでファイルのPOST送信をする方法を紹介します。

コードはGitHubリポジトリにあげています。

開発環境

$ python -V
Python 3.8.0

$ tree
.
├── 001.jpg
└── post.py

モジュールのインストール

以下のコマンドでモジュールをインストールします。

pip install requests

ソースコード

post.py

import requests

url = 'YOUR DOMAIN'

image = '001.jpg'
data = open(image, 'rb')
file = {'file': data}

res = requests.post(url, files=file)
print(res.json())

解説

import requests
モジュールをインポート

url = 'YOUR DOMAIN'
POSTするURLを指定
YOUR DOMAINの部分はXXXXX.comやXXXXX.co.jpのようにURLを指定

image = '001.jpg'
POSTするファイル名を指定
画像ファイルでもテキストファイルでもPOST可能

data = open(image, 'rb')
POSTするファイルを開く
rbread binaryの略です。

file = {'file': data}
request.FILES[‘file’]の’file’に開いたファイルを指定

res = requests.post(url, files=file)
POST送信

print(res.json())
戻り値を表示


人気のタグ

Beautiful Soup calender Channels charset ChromeDriver datetime Docker gettext glob Google Colaboratory i18n Matplotlib Nginx OpenCV pandas Pillow PostgreSQL psycopg2 PyCon random Redis ReportLab requests Selenium timedelta uWSGI venv


当ブログは群馬県でPython / Djangoを中心にウェブアプリケーションを開発している株式会社ファントムが運営しています。

株式会社ファントムへのお問い合わせ




    Show Comments (0)

    Comments

    Related Articles

    Python

    Pythonのdatetimeで日付、時間の計算(1)

    Pythonのdatetimeで日付、時間の計算(1) Pythonには日付や日時を扱うdatetimeモジュールがありますが、日付の取得・計算にはtimedeltaを使います。 開発環境 現在の日付、時刻を取得 日付の […]

    Posted on by press
    Django

    pandasで読み込んだCSVの値がNaNだったときの対処方法

    DjangoのWEBプリケーションでCSVをpandasで読み込んでforで一行ずつループ処理をしたところ、毎回決まったところで決まったエラーが出たのでPyCharmのデバッグ機能を使って原因を調べた内容です。 プログラ […]

    Posted on by press