2013-10-13 53 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... 

我是新來的蟒蛇,我已經花了一些時間試圖弄清楚這一點,但我不能找到一個可行的解決方案。任何幫助,將不勝感激!

+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)刪除內容的第一行。

然後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', '') 
相關問題