不带外部库的Python下载文件

不带外部库的Python下载文件,python,python-2.7,Python,Python 2.7,我有一个非常大的Python脚本,我正在使用pyinstaller创建一个exe。我需要下载一个XML文件,但希望exe尽可能小,因为它已经变得相当大了 Python中是否有从URL获取文件的方法?如果没有可用于将打开的页面保存到指定路径的外部库,我无法找到任何内容 或者,您可以使用打开url,然后以二进制模式写入读取文件: import urllib urllib.urlretrieve(url, destination_path) # First and short way with op

我有一个非常大的Python脚本,我正在使用pyinstaller创建一个exe。我需要下载一个XML文件,但希望exe尽可能小,因为它已经变得相当大了

Python中是否有从URL获取文件的方法?如果没有可用于将打开的页面保存到指定路径的外部库,我无法找到任何内容

或者,您可以使用打开url,然后以二进制模式写入读取文件:

import urllib
urllib.urlretrieve(url, destination_path) # First and short way

with open(destination_path, 'wb') as f:   # Equivalent to the first, but longer
    f.write(urllib.urlopen(url).read())

把这个放在枕头下面:相关:在Python 3中,这些函数已经移到了,所以请分别使用和。@AndréTerra注意,问题被标记为
Python-2.7
-1:
f.write
不接受
urlopen()
。您可以使用
shutil.copyfileobj(urllib2.urlopen(url),f)
,谢谢!通过将
.read()
method返回的string对象传递给该对象,修复了此问题。我已删除了下一票。虽然
copyfileobj
.read()
更适合大文件,但它可以将整个文件加载到内存中