2016-03-22 12 views
-2

Aşağıdaki kodu kullanarak Python (2.7) ile dosya indirmeye çalışıyorum - Ama neden boş dosya alıyorum? Birisi bana "sızıntı" işaret edebilir - ne eksik?Python Dosyaları indir, ancak boş mu?

İçeride orijinal dosya nasıl alınır?

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

Bir dosyayı açın ve sonra hemen kapatın çünkü. Arada veri yazmak mı istediniz? –

+0

evet. arasındaki veriyi nasıl uygularım? google arama - aşk yok –

+0

Tüm yapmanız gereken _python indir file dosyasını aramaktır ve * load * örnekleri vardır. Yığın Taşması ile ilgili bir soru sormaktan daha kolay olmaz mıydı? – barny

cevap

1

Geçerli kodudur:

  1. asla aslında HTTP isteği göndererek; Request() sadece bir istek oluşturur, urlopen() aslında gönderir;
  2. asla dosyaya f.write() ile hiçbir şey yazmıyor, sadece bir dosya açıyor ve hemen kapatıyorsunuz.

Tam örnek görünebilir gibi:

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

yorumlar ve cevapla/umarım bu benim google becerilerimi geliştirir –