redaiconglin 发表于 2022-3-14 20:08:00

各位老师这段代码里面【‘files’】这个是什么意思作用是什么

import urllib3
importjson
with open('test.txt') as f:
    data = f.read()
http = urllib3.PoolManager()
r = http.request('POST','http://httpbin.org/post',fields={'filefield':('example.txt',data),})
files = json.loads(r.data.decode('utf-8'))['files']    这个【‘files’】起什么作用。放在这里是什么意思
print(files)
感谢老师的解答

isdkz 发表于 2022-3-14 20:10:06

本帖最后由 isdkz 于 2022-3-14 20:15 编辑

['files'] 是获取字典中 键名 为 files 的键值。

你可以打印一下 json.loads(r.data.decode('utf-8')) 的内容。



可以看到 json.loads(r.data.decode('utf-8')) 是一个字典,且有一个 名为 files 的键

redaiconglin 发表于 2022-3-14 20:39:08

isdkz 发表于 2022-3-14 20:10
['files'] 是获取字典中 键名 为 files 的键值。

你可以打印一下 json.loads(r.data.decode('utf-8'))...

老师还需要麻烦您一下这段里面fields={'filefield':('example.txt',data),})字典中的‘filefield’键和example.txt这个文件是起什么作用。是怎么出来的谢谢了

isdkz 发表于 2022-3-14 20:45:14

redaiconglin 发表于 2022-3-14 20:39
老师还需要麻烦您一下这段里面fields={'filefield':('example.txt',data),})字典中的‘filefield’键和ex ...

filefield 是上传文件的一个请求头字段,里面的 example.txt 只是告诉服务器你上传的文件的名字,

data 是你上传的文件的内容,服务器并不关心你的文件是不是真的叫 expample.txt,所以你可以随便改的

redaiconglin 发表于 2022-3-14 22:31:04

isdkz 发表于 2022-3-14 20:45
filefield 是上传文件的一个请求头字段,里面的 example.txt 只是告诉服务器你上传的文件的名字,

d ...

感谢老师的讲解。谢谢
页: [1]
查看完整版本: 各位老师这段代码里面【‘files’】这个是什么意思作用是什么