readlines gives me additional linebreaks python2.6.5

前端 未结 3 416
粉色の甜心
粉色の甜心 2021-01-21 08:33

I have problems with the following code:

file = open(\"file.txt\", \"r\")
lines = file.readlines()
print lines[0]
print lines[1]
print lines[2]
file.close()


        
相关标签:
3条回答
  • 2021-01-21 09:10

    print adds a newline. Strip the newline from the line:

    print lines[0].rstrip('\n')
    print lines[1].rstrip('\n')
    print lines[2].rstrip('\n')
    

    If you are reading the whole file into a list anyway, an alternative would be to use str.splitlines():

    lines = file.read().splitlines()
    

    which by default removes the newlines from the lines at the same time.

    0 讨论(0)
  • 2021-01-21 09:14

    readlines() will return an array of lines. Every line ends up with a line break.

    If you want to print all lines in a block, simply do this:

    with open("file.txt", "r") as file:
        lines = file.readlines()
        print "".join(lines)
    

    Use with, you can ever save a file.close()

    0 讨论(0)
  • 2021-01-21 09:21

    Do strip after each line. File has new line as last character. You have to remove it when you read it.

    print line[index].strip()
    
    0 讨论(0)
提交回复
热议问题