On 9 jun, 22:23, Roy Smith <r...@panix.com> wrote: > In article > <cd1be83a-f560-4024-90b3-697a51bb1...@g7g2000vbv.googlegroups.com>, > Jean Dubois <jeandubois...@gmail.com> wrote: > > > I'm writing some code to check whether an url is available or not, > > therefore I make use of a wget-command in Linux and then check whether > > this is successful > > In general, "shelling out" to run a command-line utility should be the > last resort. It's slower, and more complicated, than doing it in pure > python. You would only call a shell command if there was no other way. > > Fortunately, in Python, there is another way. Several, in fact. > > The most straight-forward is to use the built-in urllib2 module > (http://docs.python.org/2/library/urllib2.html). > > If you're going to be doing anything complicated (i.e. setting optional > headers, managing cookies, etc), you probably want to be looking at the > excellent third-party module, requests (http://python-requests.org). > > In any case, given your code: > > > > > > > > > > > #!/usr/bin/env python > > import sys > > import os > > from datetime import datetime, timedelta > > today=datetime.now() > > yesterday= datetime.now() - timedelta(days=1) > > daybeforeyesterday= datetime.now() - timedelta(days=2) > > collection = [daybeforeyesterday,yesterday,today] > > for thisday in collection: > > checkavailablestring='wget -q -O - > >http://www.deredactie.be/cm/vrtnieuws/videozone/programmas/journaal/E... > > ay.strftime("%y%m%d")+'_JO7 > > >/dev/null ; echo $?' > > if os.system(checkavailablestring)==0: > > print thisday, 'stream is available' > > else: > > print thisday, 'stream is not available' > > I would break the debugging down into several parts. First, are you > generating the command string properly? Try printing out > checkavailablestring before you call os.system() to make sure it's what > you think it is. > > Next, once you're sure you've got the correct string, run it manually in > the shell and see what it does. > > Next, are you sure you're using os.system() correctly? Try running: > > os.system("/bin/true") > > and > > os.system("/bin/false") > > and make sure you get the results you think you should. But, really, > once you've done all that (and it's worth doing as an exercise), rewrite > your code to use urllib2 or requests. It'll be a lot easier.
Could you show me how to code the example in metacode below wuth the use of urllib2? #!/usr/bin/env python import urllib2 if check whether url exists succeed: print 'url exists' else: print 'url does not exist' thanks in advance jean -- http://mail.python.org/mailman/listinfo/python-list