将多行文件合并为一个字符串

时间:2013-10-13 22:42:41

标签: python file-io

您好我正在制作一个接收文件的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的新手,我花了一些时间试图解决这个问题,但我找不到一个有效的解决方案。任何帮助,将不胜感激!

4 个答案:

答案 0 :(得分:4)

你可以这样做:

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

答案 1 :(得分:0)

使用list.pop(0)从内容中删除第一行。

然后str.join(iterable)。你还需要剥离换行符。

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

答案 2 :(得分:0)

另一种选择是读取整个文件,然后删除换行而不是连接在一起:

with open('somefile') as fin:
    next(fin, None) # ignore first line
    one_big_string = fin.read().replace('\n', '')

答案 3 :(得分:-1)

如果您想将文件的其余部分放在一个块中,只需调用read()函数:

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

这将读取文件,直到遇到EOF。