문제

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()

This code gives me linebreaks between the lines. So the output is something like this:

line0

line1

line2

How can this be solved?

도움이 되었습니까?

해결책

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.

다른 팁

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()

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()

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top