whatg
07-12-2010, 03:24 PM
Am new to python so I decided to take some notes in .txt files and thought it would be a good idea if I had program that could read them! So I set out to do this. All is well except whenever there is a new line in the text file python prints "\n" instead of taking a new line.
This is my code:
name=raw_input("Which file would you like to read?")
second=".txt"
name = "%s%s" % (name,second)
file = open(name)
for line in file:
print line,
Text File:
Python is great
I love python
but why is it doing this?
Result:
Python is great \n I love python \n but why is it doing this?
What am I doing wrong!? Thanks
abduraooft
07-13-2010, 11:00 AM
Solved!!
Share your solution please...
whatg
07-13-2010, 09:26 PM
Lol sorry, that would be a good idea!
Yeah when I was experimenting I put the new line characters into the text file so thats why they were showing up. Now I am having a problem taking a new line when there is one in the file e.g.
File:
Hi
Bye
Program Prints:
Hi Bye
Have been following the python guide but I seem to be doing something wrong, I can only seem to able to read the whole file at once and not just one line?!
Samhain13
07-14-2010, 08:51 PM
^ Well, nobody can tell you what's wrong with what you're doing if nobody can see it. But you should probably read up on read() and readlines(); they're very useful when you're working with text files.
whatg
07-15-2010, 10:02 AM
Done some more research and found that it doesn't work on mac os x because of some GNU licence agreement. I tried my program on linux and it worked fine. Am now looking at how to get it to work on the mac..
Does anyone know how to do that?
I had to chose the method that didn't work lol :-P
Samhain13
07-16-2010, 03:31 PM
Whatever. If you don't show people here how you're trying to do things, nobody can help you.
whatg
07-16-2010, 05:39 PM
Whatever. If you don't show people here how you're trying to do things, nobody can help you.
I am showing you what I'm doing, included the program source, its output and the desired result. I don't know how more clear I can be.
file.readline() does not work on mac for some strange reason!
Does anyone know how to solve this?
Samhain13
07-17-2010, 01:28 PM
file.readline() does not work on mac for some strange reason!
Does anyone know how to solve this?
Uhm. Put an s in file.readline? Like: file.readlines(). You should also catch the result in a variable because readlines() is going to return a list. But again, what are you trying to do and how are you trying to do it?
whatg
07-17-2010, 09:58 PM
I did try the readlines and it worked. I just didn't know how I would go about printing each line of text on a new line.
I simply want to read a text file and print it out in IDLE and so that when there is a new line of text this is represented in IDLE.
whatg
07-23-2010, 06:13 PM
When creating the file object use f = (filename, 'rU')
apparently the 'U' tells python to ignore the Unix line endings.
so the code would look something like this.
filename=raw_input("Give me a filename: ")
f = (filename, 'rU')
for line in f:
print line,
whatg
07-23-2010, 06:13 PM
When creating the file object use f = (filename, 'rU')
apparently the 'U' tells python to ignore the Unix line endings.
so the code would look something like this.
filename=raw_input("Give me a filename: ")
f = (filename, 'rU')
for line in f:
print line,
If only I could thank myself.. lol :P