-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Klaus Alexander Seistrup Sent: Wednesday, May 11, 2005 12:14 PM To: python-list@python.org Subject: Re: Reading files into a 2D list.
Øyvind Østlund wrote: > I have a list of about 20 files that I want to read line by line into > a 2D list. So the first dimension will be each file, and the second > every line in that file. > > I tried to do something like this: > > files_and_lines = [][] > filenumber = 0 > > for files in file_names: > try: > lexi_file = open(str(sys.path[0]) + "/lexi/" + files, "r") > files_and_lines[filenumber] = lexi_file.readlines() > filenumber = filenumber + 1 > > except(IOError): > print "Something went wrong trying to read the file:" > print "'" + str(sys.path[0]) + files + "'" I'm not sure I understand you. Do you wish to end up with an array like this: #v+ [fileName0][fileLines0] [fileName1][fileLines1] ... [fileNameN][fileLinesN] #v- In that case try something like: #v+ >>> files_and_lines = [] >>> for name in file_names: >>> files_and_lines.append([name, open(name, 'r').readlines()]) >>> print 'Read %d files' % (len(files_and_lines),) #v- Add proper error checking. At least, I think the [].append() method is what you're looking for. Cheers, -- Klaus Alexander Seistrup Magnetic Ink, Copenhagen, Denmark http://magnetic-ink.dk/ -- http://mail.python.org/mailman/listinfo/python-list Thanks for the reply. But I might have been a bit clearer. What I want to do is to be able to write: files_and_lines[5][5] And then I am accessing the 6th line in the 6th file, so I can print that line if I want, or do what ever I want with it. So if I did this: If files_and_lines[1][1] == files_and_lines[1][100]: Then I would check if those two lines had the same content. I tried your solution, and if I didn't do anything else wrong, I think you missunderstood me a bit, because if I try print files_and_lines[1][1] now, it prints whole lot more then just one line from file 2. Thanks ØØ -- http://mail.python.org/mailman/listinfo/python-list