0

I am writing a program that takes the text written in a text document called datafile.txt, then prints what is in the file. The text that is in the file is is "Hello World", but the text that prints is "['Hello World']" How do i make it so the characters [, ], and ' do not appear.

file = open("datafile.txt", "r")
lines = file.readlines()
SaveDir = lines
print SaveDir

2 Answers 2

2

The issue is that file.readlines() returns a list of strings - one for each line in the file - rather than a single string. The [' and '] characters are just python's way of indicating the containing list object. It doesn't know ahead of time that your file only contains a single line.

You can print the individual strings (in this case there is only one) by looping over the list e.g.

for SaveDir in lines :
    print SaveDir
3
  • How this have to do with gtk or glade ? Isn't this clearly an I/O python question and so, off-topic?
    – hytromo
    Jun 12, 2014 at 23:23
  • no luck, the same output occurred @hakermania
    – marc.soda
    Jun 12, 2014 at 23:49
  • Or just use .read() which is preferred over .readlines() anyway.
    – Timo
    Jun 13, 2014 at 9:11
0

You could try this python code,

import os
file = open("/path/datafile.txt", "r")
lines = file.readlines()
str = ''.join(lines)
print str  # => Hello World

.join() function is used to convert a list into string. It prints the file contents as it is without displaying it in list.

Not the answer you're looking for? Browse other questions tagged .