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 black calender Channels charset ChromeDriver datetime Docker File Watcher flake8 gettext GitHub glob Google Colaboratory GPU Gunicorn i18n Matplotlib Nginx OpenCV pandas Pillow Pipenv PostgreSQL psycopg2 PyCharm PyCon pyenv random Redis ReportLab requests Selenium timedelta Ubuntu uWSGI venv


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

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




    Show Comments (0)

    Comments

    Related Articles

    Python

    Pythonで文字列をリスト化して一文字づつ処理

    Pythonで文字列をリスト化して一文字づつ処理 Pythonで文字列をリスト化して一文字づつ処理する方法です。サンプルでは一文字づつ文字をshift-jisに変換して、変換できない文字を表示します。 開発環境 ソースコ […]

    Posted on by press
    Python

    フォルダ内のファイルを複数毎にzip形式に圧縮

    フォルダ内のファイルを複数毎にzip形式に圧縮 ファイルをまとめてzip形式に圧縮してしまうと容量が増えてしまうので、メールなどで送るために複数個に分けて圧縮ファイルを作りたいときがあります。ファイル数がそれほど多くない […]

    Posted on by press

    ,,,