On Tue, 05 Jan 2010 10:31:09 -0500, Dave McCormick <mackrac...@gmail.com> wrote:

... But this is what I have so far.
##############
file = 'red.txt'
file = open("red.txt","r")
rList = file.readlines()
file.close()
redList = str(rList).split()

Dave, you're doing exactly the right thing: gradually expanding your program, to provide more functionality and to learn more about the available programming tools. It's also very good that you take care to close() the file after processing it. Now for the bad news ...

1. Don't use "file" as a variable name -- it's a built-in object type. (Some people don't like the fact that Python allows you to redefine such "reserved words".)

2. It's probably not the best idea to use a single variable (you use "file") to do double-duty: to hold the name of a file, and to hold the open-file object returned by the open() function. It's perfectly legal, but it hides information that might be useful when you're debugging a program. This is better:

  fname = 'red.txt'
  inpf = open(fname, "r")

3. It might be better to use read() rather than readlines() to process the "red.txt" file. It depends on what that file is supposed to contain. For example, if you expect "red.txt" to contain exactly one line, which has one or more words, you can process the open-file object like this:

  file_contents = inpf.read()
  redList = file_contents.split()

   ... or ...

  redList = inpf.read().split()

It's certainly a mistake to use the expression "str(rList).split()". Using str() to convert the list "rList" into a string creates a mess that includes square-bracket characters. Did this actually work for you?

Best,
John

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to