python
  • download
  • urllib2
  • 2016-03-22 14 views -2 likes 
    -2

    以下のコードを使用してPython(2.7)でファイルをダウンロードしようとしています - しかし、なぜ私は空のファイルを取得しますか? 誰かが私に "リーク"を指摘できますか?私は何が欠けていますか?Pythonファイルをダウンロードしますが、ファイルは空ですか?

    テキストの元のファイルを取得するにはどうすればよいですか?

    import urllib2 
    
    url = 'https://www.dropbox.com/s/splz3vk9pl1tbgz/test.txt?dl=0' 
    user_agent = 'Mozilla 5.0 (Windows 7; Win64; x64)' 
    file_name = "test.txt" 
    u = urllib2.Request(url, headers = {'User-Agent' : user_agent}) 
    f = open(file_name, 'wb') 
    f.close() 
    
    +5

    。間にデータを書き込むことを意味しましたか? –

    +0

    はい。私はそれを実装する方法 の間のデータをしたいですか? google search - no love –

    +0

    あなたがしなければならないことは、_pythonのダウンロードファイル_を検索することです。例の*負荷*があります。スタックオーバーフローに関する質問よりも簡単ではないでしょうか? – barny

    答えて

    1

    あなたの現在のコードは次のようになります。

    1. は実際にHTTPリクエストを送信することはありません。 Request()は要求を作成するだけで、urlopen()は実際にそれを送信します。
    2. f.write()で実際にファイルに何も書き込むことは決してありません。ファイルを開いてすぐにファイルを閉じるだけです。

    完全な例は次のようになります。あなたがファイルを開いて、その後すぐにそれを閉じているので

    import urllib2 
    
    url = 'https://www.dropbox.com/s/splz3vk9pl1tbgz/test.txt?dl=0' 
    user_agent = 'Mozilla 5.0 (Windows 7; Win64; x64)' 
    file_name = "test.txt" 
    u = urllib2.Request(url, headers = {'User-Agent' : user_agent}) 
    
    # Actually make the request 
    req = urllib2.urlopen(u) 
    
    f = open(file_name, 'wb') 
    
    # Read data from the request, and write it to the file 
    f.write(req.read()) 
    
    f.close() 
    
    +0

    ありがとうあなたのコメントと答え/これは私のGoogleのスキルを向上させることを願って –

    関連する問題