我有一个文本文件,看起来像:

ABC
DEF

我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?


有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。


当前回答

正则表达式也适用:

import re
with open("depression.txt") as f:
     l = re.split(' ', re.sub('\n',' ', f.read()))[:-1]

print (l)

['I', 'feel', 'empty', 'and', 'dead', 'inside']

其他回答

Oneliner:

列表:" . join ([line.rstrip(“\ n”)在开放(file.txt)]) 生成器:"".join((line.rstrip('\n') for line in open('file.txt')))

列表比生成器快,但内存更重。生成器比列表慢,而且内存更轻,比如遍历行。在"".join()的情况下,我认为两者都应该工作得很好。.join()函数应该被删除,分别获得列表或生成器。

注意:close() /关闭文件描述符可能不需要

with open(player_name, 'r') as myfile:
 data=myfile.readline()
 list=data.split(" ")
 word=list[0]

这段代码将帮助您读取第一行,然后使用列表和分割选项,您可以将第一行字由空格分隔,以存储在列表中。

这样你就可以轻松地访问任何单词,甚至将它存储在字符串中。

你也可以用for循环来做同样的事情。

很难确切地说出你在追求什么,但像这样的东西应该让你开始:

with open ("data.txt", "r") as myfile:
    data = ' '.join([line.replace('\n', '') for line in myfile.readlines()])

这可以使用read()方法来完成:

text_as_string = open('Your_Text_File.txt', 'r').read()

或者因为默认模式本身是'r'(读),所以简单地使用,

text_as_string = open('Your_Text_File.txt').read()
from pathlib import Path   
line_lst = Path("to/the/file.txt").read_text().splitlines()

是获取文件所有行的最佳方法,'\n'已经被splitlines()剥离(它可以智能识别win/mac/unix行类型)。

但如果你想剥离每一行:

line_lst = [line.strip() for line in txt = Path("to/the/file.txt").read_text().splitlines()]

Strip()只是一个有用的示例,但是您可以按照自己的意愿处理您的行。

最后,你只想要连接的文本?

txt = ''.join(Path("to/the/file.txt").read_text().splitlines())