दिलचस्प पोस्ट
लाइब्रेरी (डीएलएल) के लिए 'app.config' के समतुल्य EF4 – चयनित संग्रहित प्रक्रिया कोई कॉलम रिटर्न नहीं करता है पीएचपी कैसे एक तारीख समय के बाद से समय बीतने के लिए? ग्रहण / जावा कोड पूरा नहीं हो रहा है Printf परिवार का उपयोग करके size_t variable को कैसे प्रिंट किया जा सकता है? फ़ाइल नाम में बैच आदेश दिनांक और समय Msiexec का उपयोग किए बिना कमांड लाइन से एक MSI फ़ाइल को अनइंस्टॉल करना मैं एएसपी.नेट एमवीसी में अपना वेबएप का मूल यूआरएल कैसे प्राप्त करूं? जावा में कौन से आपरेशन परमाणु माना जाता है? क्यों "नामस्थान std का उपयोग करना" बुरा अभ्यास माना जाता है? इटरेटर (या किसी अन्य विशेषता) को वापस करने का सही तरीका क्या है? Iframe को पुनः लोड / रीफ़्रेश करने का सबसे अच्छा तरीका क्या है? AngularJs: फ़ाइल इनपुट क्षेत्रों में परिवर्तनों की जांच कैसे करें? कितनी तारीखों के साथ तालिका को आबाद करना है? क्यों malloc मेरे कंप्यूटर पर स्मृति का उपयोग नहीं कर रहा है?

मूल http फ़ाइल डाउनलोड करने और अजगर में डिस्क को सहेजना?

मैं पायथन के लिए नया हूँ और मैं इस प्रश्न पर क्यू एंड ए के माध्यम से जा रहा हूं, मेरे प्रश्न के उत्तर के लिए। हालांकि, मैं एक शुरुआत कर रहा हूं और मुझे कुछ समाधानों को समझना मुश्किल लगता है। मुझे एक बहुत ही बुनियादी समाधान की आवश्यकता है

क्या कोई कृपया 'http के माध्यम से एक फ़ाइल डाउनलोड करने और' इसे डिस्क पर सहेज रहा है, विंडोज़ में, 'मेरे लिए एक सरल समाधान समझा सकता है?

मुझे यकीन नहीं है कि शील और ओएस मॉड्यूल का उपयोग कैसे करें, या तो

जो फ़ाइल मैं डाउनलोड करना चाहता हूँ वह 500 एमबी के अंतर्गत है और एक .gz संग्रह फ़ाइल है। अगर कोई यह बता सकता है कि संग्रह कैसे निकाले और उसमें फ़ाइलों का उपयोग भी किया, तो यह अच्छा होगा!

यहाँ एक आंशिक समाधान है, जो मैंने विभिन्न उत्तरों से लिखा है:

import requests import os import shutil global dump def download_file(): global dump url = "http://randomsite.com/file.gz" file = requests.get(url, stream=True) dump = file.raw def save_file(): global dump location = os.path.abspath("D:\folder\file.gz") with open("file.gz", 'wb') as location: shutil.copyfileobj(dump, location) del dump 

क्या किसी ने त्रुटियों (शुरुआती स्तर) को इंगित किया और ऐसा करने के लिए किसी भी आसान तरीके की व्याख्या की?

धन्यवाद!

वेब के समाधान से एकत्रित समाधान "मूल http फ़ाइल डाउनलोड करने और अजगर में डिस्क को सहेजना?"

एक फाइल डाउनलोड करने का एक साफ तरीका है:

 import urllib testfile = urllib.URLopener() testfile.retrieve("http://randomsite.com/file.gz", "file.gz") 

यह एक वेबसाइट से एक फ़ाइल डाउनलोड करता है और इसे file.gz नाम देता है यह urlib और python के माध्यम से एक चित्र डाउनलोड करने से मेरे पसंदीदा समाधानों में से एक है

यह उदाहरण urllib लाइब्रेरी का उपयोग करता है, और यह सीधे एक स्रोत फ़ाइल को पुनः प्राप्त करेगा।

जैसा कि यहां बताया गया है :

 import urllib urllib.urlretrieve ("http://randomsite.com/file.gz", "file.gz") 

EDIT: यदि आप अभी भी अनुरोधों का उपयोग करना चाहते हैं, तो इस प्रश्न या इस पर एक नज़र डालें

मैं wget का उपयोग करें

सरल और अच्छी लाइब्रेरी यदि आप उदाहरण चाहते हैं?

 import wget file_url = 'http://johndoe.com/download.zip' file_name = wget.download(file_url) 

wget मॉड्यूल समर्थन अजगर 2 और अजगर 3 संस्करण

Wget, urllib और अनुरोध का उपयोग करने के चार तरीके

 #!/usr/bin/python import requests from StringIO import StringIO from PIL import Image import profile as profile import urllib import wget url = 'http://img.hiwab.com/python/website.jpg' def testRequest(): image_name = 'test1.jpg' r = requests.get(url, stream=True) with open(image_name, 'wb') as f: for chunk in r.iter_content(): f.write(chunk) def testRequest2(): image_name = 'test2.jpg' r = requests.get(url) i = Image.open(StringIO(r.content)) i.save(image_name) def testUrllib(): image_name = 'test3.jpg' testfile = urllib.URLopener() testfile.retrieve(url, image_name) def testwget(): image_name = 'test4.jpg' wget.download(url, image_name) if __name__ == '__main__': profile.run('testRequest()') profile.run('testRequest2()') profile.run('testUrllib()') profile.run('testwget()') 

परीक्षा क्रम – 4469882 फ़ंक्शन कॉल (4469842 आदिम कॉल) 20.236 सेकंड में

testRequest2 – 0.072 सेकंड में 8580 फ़ंक्शन कॉल (8574 आदिम कॉल)

testUrlib – 0.08 सेकंड में 3810 समारोह कॉल (3775 आदिम कॉल)

testwget – 3489 फ़ंक्शन कॉल 0.020 सेकंड में

विदेशी विंडोज़ समाधान

 import subprocess subprocess.run("powershell Invoke-WebRequest {} -OutFile {}".format(your_url, filename), shell=True) 

फ़ाइल को सहेजने का एक अन्य साफ तरीका यह है:

 import csv import urllib urllib.retrieve("your url goes here" , "output.csv")