Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.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 2.7.2下载、命名和保存文件_Python - Fatal编程技术网

使用Python 2.7.2下载、命名和保存文件

使用Python 2.7.2下载、命名和保存文件,python,Python,是否可以使用Python 2.7.2从网站下载并命名文件,然后将其保存在桌面上?如果是,那么怎么做呢?使用该库非常简单。下面是一个将StackOverflow徽标图像下载到当前目录的示例: import requests with open('sprites.png', 'wb') as f: resp = requests.get('https://cdn.sstatic.net/stackoverflow/img/sprites.png',

是否可以使用Python 2.7.2从网站下载并命名文件,然后将其保存在桌面上?如果是,那么怎么做呢?

使用该库非常简单。下面是一个将StackOverflow徽标图像下载到当前目录的示例:

import requests
with open('sprites.png', 'wb') as f:
    resp = requests.get('https://cdn.sstatic.net/stackoverflow/img/sprites.png',
                        stream=True)
    for chunk in resp.iter_content(8192):
        f.write(chunk)

您可以使用
urllib.urlretrieve

urllib.urlretrieve(url[, filename[, reporthook[, data]]])
发件人:

如有必要,将URL表示的网络对象复制到本地文件。如果 URL指向本地文件或对象的有效缓存副本 存在,则不复制对象


这里有三种方法可以使用,或

其中,
filename
是您想要的文件名,
URL
是您想要下载的文件的URL


这将把文件保存在与下载python文件相同的目录中

是的,可以使用各种web框架(selenium、urllib等)下载文件。然后,您可以使用内置模块来命名或重命名文件。简短的回答是“是”。。但这取决于你从哪里下载。如果您知道要读取的远程文件
urllib2.urlopen
的完整url,则可以使用urllib进行下载。打开要写入的本地文件
远程文件.read()的内容写入本地文件<代码>操作系统。根据需要重命名本地文件。我的问题被选为离题。我不同意。它似乎太短,太笼统。然而,从答案中我们可以理解,这个问题有非常具体的答案(解决方案)。谢谢你的回答。代码不工作,我得到错误:ImportError:没有名为requests的模块。这是您必须安装的第三方模块。点击链接获取安装说明。谢谢!我使用了第三种选择,它的工作。导入请求不起作用“ImportError:没有名为请求的模块”。我还有一个与此相关的问题,如何知道下载是否已完成以转移到另一个任务?不客气,您必须下载请求,这就是它不起作用的原因,我编辑了这个问题:)现在,当您看到下载已完成时!你知道它的doneSo我不需要担心程序将继续只有在完成下载。我说的对吗?是的,在下载完成之前,下载后不会运行任何东西!但是,如果由于某些网络问题或其他原因而导致下载中断,该怎么办呢。是否可以限制允许的最大执行时间?
import urllib2

with open('filename','wb') as f:
    f.write(urllib2.urlopen(URL).read())
    f.close()
print "Download Complete!"
---------------------------------------
import requests

r = requests.get(URL)
with open("filename", "wb") as code:
    code.write(r.content)
print "Download Complete!"
---------------------------------------

import urllib

urllib.urlretrieve(URL, "filename")
print "Download Complete!"