आप इसके आकार को जानने से पहले फ़ाइल डाउनलोड करने के लिए नहीं करना चाहते हैं, तो आप कुछ इस तरह की कोशिश कर सकते हैं:
नोट: यह केवल मैक या लिनक्स में काम करेगा।
file_url = 'http://math.ucdenver.edu/RTutorial/titanic.txt'
curl_cmd = paste('curl -X HEAD -i', file_url)
system_cmd = paste(curl_cmd, '|grep Content-Length |cut -d : -f 2')
ऊपर एक स्ट्रिंग system()
का उपयोग कर निष्पादित करने के लिए एक साथ पैक जाएगा। curl_cmd
स्ट्रिंग केवल फ़ाइल के शीर्षलेख प्राप्त करने के लिए कर्ल को बताती है।
system_cmd
शीर्ष अतिरिक्त पार्स पर स्ट्रिंग पैक हेडर को पार्स करने और बस फ़ाइल को निकालने के लिए।
अब, system()
पर कॉल करें और आउटपुट पर पकड़ने के लिए आर को बताने के लिए intern = TRUE
तर्क का उपयोग करें।
b <- system(system_cmd, intern = TRUE)
## % Total % Received % Xferd Average Speed Time Time Time Current
## Dload Upload Total Spent Left Speed
## 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
## curl: (18) transfer closed
यह फ़ाइल के लिए केवल शीर्षलेख डाउनलोड करेगा और फाइलसाइज प्राप्त करने के लिए इसे पार्स करेगा। अब b
बाइट्स में फाइलसाइज होगा।
तो फिर तुम कैसे फ़ाइल खोलने के लिए, या प्रिंट कुछ अनुकूल तरह तय कर सकते हैं:
print(paste("There are", as.numeric(b)/1e6, "mb in the file:", file_url))
## [1] "There are 0.055692 mb in the file: http://math.ucdenver.edu/RTutorial/titanic.txt"
'file.info' शायद तुम क्या चाहते है। – cory
https://stackoverflow.com/questions/20921593/how-to-determine-the-file-size-of-a-remote-download-without-reading-the-entire-f शायद आप –