2013-10-13 5 views
2

Здравствуйте, я делаю программу python, которая принимает файл. Я хочу, чтобы это было настроено на одну строку. Мой текущий код:Несколько строк в одной строке

with open('myfile.txt') as f: 
    title = f.readline().strip(); 
    content = f.readlines(); 

Текстовый файл (упрощенный) является:

Title of Document 
asdfad 
adfadadf 
adfadaf 
adfadfad 

Я хочу, чтобы лишить титула (который моя программа делает), а затем сделать остальное одну строку. Сейчас выход:

['asdfad\n', 'adfadadf\n', ect...] 

и я хочу:

asdfadadfadadf ect... 

Я новичок в Python и я потратил некоторое время, пытаясь понять это, но я не могу найти решение, которое работает , Любая помощь будет оценена!

+0

До сих пор большинство людей по всей видимости, при условии, что вы хотите, чтобы вы удалили все начальные и конечные пробелы и символы EOL. Вы хотите, чтобы эти удаленные, сохраненные или вы хотите, чтобы символы EOL были преобразованы в пробелы? –

ответ

3

Вы можете сделать это:

with open('/tmp/test.txt') as f: 
    title=f.next()  # strip title line 
    data=''.join(line.rstrip() for line in f) 
0

Используйте list.pop(0), чтобы удалить первую строку из содержимого.

Then str.join(iterable). Вам также потребуется снять строки с новой строки.

content.pop(0) 
done = "".join([l.strip() for l in content]) 
print done 
-1

Если вы хотите, оставшуюся часть файла в один блок, просто вызовите функцию read():

with open('myfile.txt') as f: 
    title = f.readline().strip() 
    content = f.read() 

Это будет читать файл до EOF не встречается.

0

Другой вариант, чтобы прочитать весь файл, а затем удалите символ новой строки, а не объединяясь:

with open('somefile') as fin: 
    next(fin, None) # ignore first line 
    one_big_string = fin.read().replace('\n', '') 
Смежные вопросы