2017-09-12 111 views
0

我需要一個幫助。我需要從遠程源下載文件並使用Python將其存儲到本地文件夾中。我在下面解釋我的代碼。如何從遠程源下載文件並使用Python將其保存到本地文件夾中

def downloadfile(request): 
    """ This function helps to download the file from remote site""" 

    if request.method == 'POST': 
     URL = request.POST.get('file') #i.e-http://koolfeedback.com/beta/about-us.php 
     filename = "status" 
     with open(filename,'wb') as fyl: 
      fyl.write(urllib2.urlopen(URL).read()) 
      fyl.close() 

在這裏,我需要下載頁面,並存儲到使用zip format.Please幫我當地download文件夾。

+0

這裏的'request'是什麼意思? – Rahul

+0

我已經提到了發佈數據。 'request.POST.get( '文件')= HTTP:// koolfeedback.com /β/約-us.php'。此URL來自表單參數,我需要下載該確切頁面並將其存儲到本地文件夾中。 – subhra

+0

看起來您已經將該URL中的內容保存在名爲「status」的文件中。你想使用DEFLATE壓縮來壓縮這個文件並將其移動到名爲download的文件夾? –

回答

1

你可能想使用urllib功能urlretrieve而非urlopen,這是打開遠程文件(如遠程服務器,你怎麼從,不是你想下載的文件閱讀的文本上的文本文件)。

參見:https://stackoverflow.com/a/22682/6328995

+0

不,我的主要目標是包含遠程文件。 – subhra

+0

然後只是鏈接它? – Jingo

+0

你有沒有試過:'fyl.write((urllib2.urlopen(URL))。read())'?功能的嵌套可能會導致問題。另外,嘗試用'print(urllib2.urlopen(URL))。read())'替換這一行以查看它是否正確讀取文件 – Tyler

0

如果您正在使用Django這樣的事情;

folder_to_store = "path/to/folder" 
full_filename = os.path.join(folder_to_store, request.FILES['file'].name) 
fout = open(full_filename, 'wb+') 
for chunk in fout.chunks(): 
    fout.write(chunk) 
fout.close() 
相關問題