多行文件合并成一个字符串

3

你好,我正在制作一个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...]

and I want:

asdfadadfadadf ect... 

我是Python的新手,花了一些时间试图弄清楚它,但找不到有效的解决方案。非常感谢您的帮助!


到目前为止,大多数人似乎都认为您想要删除所有前导和尾随空格以及EOL字符。您是希望将它们删除、保留还是将EOL字符转换为空格? - Simon Callan
4个回答

6
你可以这样做:
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

0
另一种选项是先读取整个文件,然后移除换行符而不是将它们拼接起来:
with open('somefile') as fin:
    next(fin, None) # ignore first line
    one_big_string = fin.read().replace('\n', '')

-1
如果您想将文件的其余部分作为单个块返回,请调用read()函数:
with open('myfile.txt') as f:
    title = f.readline().strip()
    content = f.read()

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接