On 5/2/2016 5:26 AM, BartC wrote:
On 02/05/2016 04:39, DFS wrote:To save a webpage to a file: ------------------------------------- 1. import urllib 2. urllib.urlretrieve("http://econpy.pythonanywhere.com /ex/001.html","D:\file.html") -------------------------------------That's it! Coming from VB/A background, some of the stuff you can do with python - with ease - is amazing. VBScript version ------------------------------------------------------ 1. Option Explicit 2. Dim xmlHTTP, fso, fOut 3. Set xmlHTTP = CreateObject("MSXML2.serverXMLHTTP") 4. xmlHTTP.Open "GET", "http://econpy.pythonanywhere.com/ex/001.html" 5. xmlHTTP.Send 6. Set fso = CreateObject("Scripting.FileSystemObject") 7. Set fOut = fso.CreateTextFile("D:\file.html", True) 8. fOut.WriteLine xmlHTTP.ResponseText 9. fOut.Close 10. Set fOut = Nothing 11. Set fso = Nothing 12. Set xmlHTTP = Nothing ------------------------------------------------------ Technically, that VBS will run with just lines 3-9, but that's still 6 lines of code vs 2 for python.It seems Python provides a higher level solution compared with VBS. Python presumably also has to do those Opens and Sends, but they are hidden away inside urllib.urlretrieve. You can do the same with VB just by wrapping up these lines in a subroutine. As you would if this had to be executed in a dozen different places for example. Then you could just write: getfile("http://econpy.pythonanywhere.com/ex/001.html", "D:/file.html") in VBS too. (The forward slash in the file name ought to work.)
Of course. Taken to its extreme, I could eventually replace you with one line of code :)
But python does it for me. That would save me 8 lines...
(I don't know VBS; I assume it does /have/ subroutines? What I haven't factored in here is error handling which might yet require more coding in VBS compared with Python)
Yeah, VBS has subs and functions. And strange, limited error handling. And a single data type, called Variant. But it's installed with Windows so it's easy to get going with.
-- https://mail.python.org/mailman/listinfo/python-list
