Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python mechanize上载文件_Python_Mechanize - Fatal编程技术网

使用python mechanize上载文件

使用python mechanize上载文件,python,mechanize,Python,Mechanize,我使用的是windows 10笔记本电脑。 当我在本地计算机上手动打开submit.html时,单击并浏览到namo.jpg namo.png然后提交,我会让网站处理我的图像,并在15秒内返回结果文件。 但我似乎无法让它使用Python mechanize执行同样的操作,当它运行脚本时,mechanize_results.html文件总是返回得太快,并在页面中告诉我“上传的文件不是有效的图像。只允许JPG、PNG和GIF文件…” 我不确定我必须做什么更改才能让站点将我的python mechan

我使用的是windows 10笔记本电脑。 当我在本地计算机上手动打开submit.html时,单击并浏览到namo.jpg namo.png然后提交,我会让网站处理我的图像,并在15秒内返回结果文件。 但我似乎无法让它使用Python mechanize执行同样的操作,当它运行脚本时,mechanize_results.html文件总是返回得太快,并在页面中告诉我“上传的文件不是有效的图像。只允许JPG、PNG和GIF文件…” 我不确定我必须做什么更改才能让站点将我的python mechanize脚本提交的文件识别为图像文件

我的submit.html文件包含以下内容


如果省略模式,则默认为“r”。默认情况下使用文本模式,该模式可以在写入时将“\n”字符转换为平台特定的表示形式,在读取时再转换回平台特定的表示形式。因此,在打开二进制文件时,应该在mode值后附加“b”,以二进制模式打开文件,这将提高可移植性。(即使在不以不同方式处理二进制文件和文本文件的系统上,附加“b”也很有用,因为它可以作为文档使用。)有关模式的更多可能值,请参见下文


这里都是关于窗户的。因此,只需使用“rb”打开PNG文件。

我刚刚尝试了这个方法,但仍然不起作用,相同的错误是“上载的文件不是有效的图像。只允许使用JPG、PNG和GIF文件…”您确定手动或从python上载相同的文件吗?您写道您手动上传了namo.jpg。但是在代码中使用了namo.png.whoops打字错误…我甚至没有一个名为namo.jpg的文件…很抱歉,我现在就编辑这个问题。昨晚,我有一个br.form.add_文件(open(filename),'images/png',filename,name='file'),但它不起作用…但刚才我用你的'rb'建议解决了它…它与br.form.add_文件(open(filename,'rb'))一起工作,'images/png',文件名,name='file')