Я пытаюсь POST всех файлов в папке на моем локальном диске на определенный веб-URL с помощью запросов и глобуса. Каждый раз, когда я отправляю новый файл в URL-адрес, я хочу добавить в словарь новый элемент «ключ-значение», который является «именем файла (ключа), выводимым с сервера после POSTing файла (значения)»:Как сделать словарь в Python с файлами в виде ключей?
import requests, glob, unicodedata
outputs = {}
text_files = glob.iglob("/Users/ME/Documents/folder/folder/*.csv")
url = 'http://myWebsite.com/extension/extension/extension'
for data in text_files:
file2 = {'file': open(data)}
r = requests.post(url, files=file2)
outputs[file2] = r.text
Это дает мне ошибку:
Traceback (most recent call last):
File "/Users/ME/Documents/folder/folder/myProgram.py", line 15, in <module>
outputs[file2] = r.text
TypeError: unhashable type: 'dict'
Это потому, что (я думаю) "file2", если в 'Словаре' типа. Есть ли в любом случае, чтобы cast/alter 'file2' после Я ПОСТ, чтобы просто быть строкой имени файла?
Почему бы не использовать имя файла вместо этого? –
Зачем делать кастинг/изменение 'file2'? Почему бы просто не использовать 'data', который уже является именем файла? – Kevin