Help with Python loop weirdness?
Question: I'm learning Python as my second programming language (my first real one if
you don't count HTML/CSS/Javascript). I'm trying to build something useful as
my first real application - an IRC bot that alerts people via SMS when certain
things happen in the channel. Per a request by someone, I'm (trying) to build
in scheduling preferences where people can choose not to get alerts from
between hours X and Y of the day.

Anyways, here's the code I'm having trouble with:

    
    
    db = open("db.csv")
    for line in db:
                row = line.split(",")  # storing stuff in a CSV, reading out of it 
                recipient = row[0]     # who the SMS is going to
                s = row[1]             # gets the first hour of the "no alert" time range
                f = row[2]             # gets last hour of above
                nrt = []               # empty array that will store hours
                curtime = time.strftime("%H")  # current hour
                if s == "no":          
                        print "They always want alerts, sending email"  # start time will = "no" if they always want alerts
                        # send mail code goes here
                else:
                        for hour in range(int(s), int(f)): #takes start, end hours, loops through to get hours in between, stores them in the above list 
                                nrt.append(hour)
                        if curtime in nrt: # best way I could find of doing this, probably a better way, like I said I'm new
                                print "They don't want an alert during the current hour, not sending"  # <== what it says
                        else:
                                # they do want an alert during the current hour, send an email
                                # send mail code here
    

The only problem I'm having is somehow the script only ends up looping through
one of the lines (or something like that) because I only get one result every
time, even if I have more than one entry in the CSV file.


Answer: If this is a regular CSV file you should not try to parse it yourself. Use the
standard library [csv module](http://docs.python.org/library/csv.html).

Here is a short example from the docs:

    
    
    import csv
    reader = csv.reader(open("some.csv", "rb"))
    for row in reader:
        print row
    

