On Mon, 26 Dec 2005 20:56:17 -0800, homepricemaps wrote: > sorry for asking such beginner questions but i tried this and nothing > wrote to my text file > > for food, price, store in bs(food, price, store): > out = open("test.txt", 'a') > out.write (food + price + store) > out.close()
What are the contents of food, price and store? If "nothing wrote to my text file", chances are all three of them are the empty string. > while if i write the following without the for i at least get > something? > out = open("test.txt", 'a') > out.write (food + price + store) > out.close() You get "something". That's not much help. But I predict that what you are getting is the contents of food price and store, at least one of which are not empty. You need to encapsulate your code by separating the part of the code that reads the html file from the part that writes the text file. I suggest something like this: def read_html_data(name_of_file): # I don't know BeautifulSoup, so you will have to fix this... datafile = BeautifulSoup(name_of_file) # somehow read in the foods, prices and stores # for each set of three, store them in a tuple (food, store, price) # then store the tuples in a list # something vaguely like this: data = [] while 1: food = datafile.get("food") # or whatever store = datafile.get("store") price = datafile.get("price") data.append( (food,store,price) ) datafile.close() return data def write_data_to_text(datalist, name_of_file): # Expects a list of tuples (food,store,price). Writes that list # to name_of_file separated by newlines. fp = file(name_of_file, "w") for triplet in datalist: fp.write("Food = %s, store = %s, price = %s\n" % triplet fp.close() Hope this helps. -- Steven. -- http://mail.python.org/mailman/listinfo/python-list