سؤال

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