Ich führe eine einfache Aufgabe zum Hochladen einer Datei mithilfe der Python-Anforderungsbibliothek aus. Ich habe nach Stack Overflow gesucht und niemand schien das gleiche Problem zu haben, nämlich dass die Datei nicht vom Server empfangen wird:
import requests
url='http://nesssi.cacr.caltech.edu/cgi-bin/getmulticonedb_release2.cgi/post'
files={'files': open('file.txt','rb')}
values={'upload_file' : 'file.txt' , 'DB':'photcat' , 'OUT':'csv' , 'SHORT':'short'}
r=requests.post(url,files=files,data=values)
Ich fülle den Wert des Schlüsselworts 'upload_file' mit meinem Dateinamen, denn wenn ich ihn leer lasse, heißt es
Error - You must select a file to upload!
Und jetzt verstehe ich
File file.txt of size bytes is uploaded successfully!
Query service results: There were 0 lines.
Was nur angezeigt wird, wenn die Datei leer ist. Ich bin also nicht sicher, wie ich meine Datei erfolgreich senden soll. Ich weiß, dass die Datei funktioniert, denn wenn ich auf diese Website gehe und das Formular manuell ausfülle, wird eine schöne Liste übereinstimmender Objekte zurückgegeben, nach der ich suche. Ich würde mich wirklich über alle Hinweise freuen.
Einige andere Themen im Zusammenhang (aber nicht mein Problem zu beantworten):