Python でこれを見たことがないので、書き込みインターフェイスを使用してファイル (HTTP PUT や POST など) を送信できるものがあれば興味がありますか? file
ファイル名またはオブジェクト (urllib、リクエストなど)を渡す読み取りインターフェイスしか見たことがありません。
もちろん、正当な理由でこれを見たことがないかもしれませんが、それについても知りたいと思っています。
Python でこれを見たことがないので、書き込みインターフェイスを使用してファイル (HTTP PUT や POST など) を送信できるものがあれば興味がありますか? file
ファイル名またはオブジェクト (urllib、リクエストなど)を渡す読み取りインターフェイスしか見たことがありません。
もちろん、正当な理由でこれを見たことがないかもしれませんが、それについても知りたいと思っています。
大まかに言えば理にかなっているように見えるかもしれませんが、ファイル インターフェイスを HTTP 動詞にマッピングしてみましょう。
file interface http
------------------------
read GET
HEAD
------------------------
write POST
PUT
PATCH
------------------------
? DELETE
OPTIONS
ご覧のとおり、ファイル インターフェイスと、RESTful インターフェイスに必要な一連の HTTP 動詞との間に明確なマッピングはありません。もちろん、GET
(読み取り) とPOST
(書き込み) のみを使用する実装を一緒にハックすることもできますが、それでは、他の HTTP 動詞をサポートするために拡張する必要が生じます。
コメントに基づいて編集:
私は自分で試したことはありませんが、深く (http/client.py) のように見えます。データが実装されている場合read
、次のように読み取られます。
while 1:
datablock = data.read(blocksize)
if not datablock:
break
if encode:
datablock = datablock.encode("iso-8859-1")
self.sock.sendall(datablock)
ただし、これを行うとパフォーマンスが低下する可能性があることに注意してください。
# If msg and message_body are sent in a single send() call,
# it will avoid performance problems caused by the interaction
# between delayed ack and the Nagle algorithm. However,
# there is no performance gain if the message is larger
# than MSS (and there is a memory penalty for the message
# copy).
そうです、ファイルオブジェクトをパラメータとして渡すことができるはずです。data