On Apr 3, 5:06 pm, Bruno Desthuilliers <[EMAIL PROTECTED]> wrote: > bahoo a écrit : > > > Hi, > > > I have a text file containing a single line of text, such as > > 0024 > > > How should I read it into a "list"? > > You mean ['0024'], or ['0', '0', '2', '4'] ? > > > I tried this, but the "join" did not work as expected. > > What did you expect ? > > help(str.join) > join(...) > S.join(sequence) -> string > > Return a string which is the concatenation of the strings in the > sequence. The separator between elements is S. > > > Any > > suggestions? > > Honestly, the first would be to learn to ask questions, and the second > to pay more attention to what's written in the doc. But let's try : > > > infile = open('my_file.txt','r') > > for line in infile: > > line.join(line) > > my_list.extend( line ) > > If you have a single line of text, you don't need to iterate. > > file has a readlines() method that will return a list of all lines. It > also has a read() method that reads the whole content. Notice that none > of these methods will strip newlines characters. > > Also, str has a strip() method that - by default - strip out any > 'whitespace' characters - which includes newline characters. And > finally, passing a string as an argument to list's constructor gives you > a list of the characters in the string. > > This is all you need to know to solve your problem - or at least the two > possible definitions of it I mentionned above. > > >>> open('source.txt').readlines() > ['0024\n'] > >>> map(str.strip, open('source.txt').readlines()) > ['0024'] > >>> open('source.txt').read() > '0024\n' > >>> list(open('source.txt').read().strip()) > ['0', '0', '2', '4'] > >>>
Thanks, this helped a lot. I am now using the suggested map(str.strip, open('source.txt').readlines()) However, I am a C programmer, and I have a bit difficulty understanding the syntax. I don't see where the "str" came from, so perhaps the output of "open('source.txt').readlines()" is defaulted to "str? Thanks! -- http://mail.python.org/mailman/listinfo/python-list