Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 12 of 12

Thread: Read File

  1. #1
    New Coder
    Join Date
    Jan 2010
    Posts
    45
    Thanks
    6
    Thanked 0 Times in 0 Posts

    Exclamation Read File

    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

  • #2
    New Coder
    Join Date
    Jan 2010
    Posts
    45
    Thanks
    6
    Thanked 0 Times in 0 Posts

    Solved!

    Solved!!

  • #3
    Supreme Master coder! abduraooft's Avatar
    Join Date
    Mar 2007
    Location
    N/A
    Posts
    14,859
    Thanks
    160
    Thanked 2,223 Times in 2,210 Posts
    Blog Entries
    1
    Quote Originally Posted by whatg View Post
    Solved!!
    Share your solution please...
    The Dream is not what you see in sleep; Dream is the thing which doesn't let you sleep. --(Dr. APJ. Abdul Kalam)

  • #4
    New Coder
    Join Date
    Jan 2010
    Posts
    45
    Thanks
    6
    Thanked 0 Times in 0 Posts

    Sorry

    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?!

  • #5
    Regular Coder Samhain13's Avatar
    Join Date
    Aug 2008
    Location
    Pilipinas
    Posts
    169
    Thanks
    4
    Thanked 18 Times in 18 Posts
    ^ 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.
    I am a Man of Truth. I am a Free Human Person. I am a Peacemaker.
    ** Independent Multimedia Artist in Pasig **

  • #6
    New Coder
    Join Date
    Jan 2010
    Posts
    45
    Thanks
    6
    Thanked 0 Times in 0 Posts

    Mac

    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

  • #7
    Regular Coder Samhain13's Avatar
    Join Date
    Aug 2008
    Location
    Pilipinas
    Posts
    169
    Thanks
    4
    Thanked 18 Times in 18 Posts
    Whatever. If you don't show people here how you're trying to do things, nobody can help you.
    I am a Man of Truth. I am a Free Human Person. I am a Peacemaker.
    ** Independent Multimedia Artist in Pasig **

  • #8
    New Coder
    Join Date
    Jan 2010
    Posts
    45
    Thanks
    6
    Thanked 0 Times in 0 Posts

    what do you mean?

    Quote Originally Posted by Samhain13 View Post
    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?

  • #9
    Regular Coder Samhain13's Avatar
    Join Date
    Aug 2008
    Location
    Pilipinas
    Posts
    169
    Thanks
    4
    Thanked 18 Times in 18 Posts
    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?
    Last edited by Samhain13; 07-17-2010 at 01:31 PM.
    I am a Man of Truth. I am a Free Human Person. I am a Peacemaker.
    ** Independent Multimedia Artist in Pasig **

  • #10
    New Coder
    Join Date
    Jan 2010
    Posts
    45
    Thanks
    6
    Thanked 0 Times in 0 Posts

    readlines

    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.

  • #11
    New Coder
    Join Date
    Jan 2010
    Posts
    45
    Thanks
    6
    Thanked 0 Times in 0 Posts

    Soloution

    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,

  • #12
    New Coder
    Join Date
    Jan 2010
    Posts
    45
    Thanks
    6
    Thanked 0 Times in 0 Posts

    If only

    Quote Originally Posted by whatg View Post
    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


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •