2017-09-12 7 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() 

は、ここで私は私を助けてformat.Please zipを使用して、ローカルdownloadフォルダにページをダウンロードして保存する必要があります。

+0

ここで、「リクエスト」とは何ですか? – Rahul

+0

私はすでに投稿データに言及しています。 'request.POST.get( 'file')= http:// koolfeedback.com/beta/about-us.php'。このURLはフォームパラメータから来ており、その正確なページをダウンロードしてローカルフォルダに保存する必要があります。 – subhra

+0

"status"という名前のファイルにそのURLのコンテンツを保存しているようです。 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

あなたはこのようなジャンゴものを使用している場合は、

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() 
関連する問題