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 Gunicorn i18n Matplotlib Nginx OpenCV pandas Pillow PostgreSQL psycopg2 PyCon pyenv random Redis ReportLab requests Selenium timedelta Ubuntu uWSGI venv 進捗


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

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




    Show Comments (0)

    Comments

    Related Articles

    Python

    PythonistaでFlaskからHello World!

    iPhoneとiPadから使えるPythonistaというアプリを使ってFlaskからHello World!する方法です。 Pythonistaはプリインストールされたモジュールが充実していて、バージョンも2.7か3. […]

    Posted on by press
    Django

    Djangoで日本語文字列のQuerySetを五十音順でソートする

    DjangoのWEBアプリケーションでQuerySetの表示順を五十音順にしたら、開発環境では五十音順で表示されているのに本番環境では五十音順になっていないときの対処法です。(中途半端に五十音順になっていて、4、5件毎に […]

    Posted on by press