我有一个文本文件,看起来像:
ABC
DEF
我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?
有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。
我有一个文本文件,看起来像:
ABC
DEF
我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?
有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。
当前回答
你可以在一行中读取文件:
str = open('very_Important.txt', 'r').read()
请注意,这不会显式地关闭文件。
作为垃圾收集的一部分,CPython将在退出时关闭该文件。
但其他python实现不会。要编写可移植的代码,最好显式地使用with或关闭文件。短并不总是更好。参见https://stackoverflow.com/a/7396043/362951
其他回答
我觉得没有人回答过你问题的[]部分。当您将每一行读入变量时,因为在您将\n替换为"之前有多行,您最终创建了一个列表。如果你有一个变量x,把它打印出来
x
或打印(x)
或str (x)
您将看到带括号的整个列表。如果你调用数组中的每个元素
x [0] 然后省略括号。如果你使用str()函数,你将只看到数据而不是“either”。 str (x [0])
你试过这个吗?
x = "yourfilename.txt"
y = open(x, 'r').read()
print(y)
试试下面的方法:
with open('data.txt', 'r') as myfile:
data = myfile.read()
sentences = data.split('\\n')
for sentence in sentences:
print(sentence)
注意:不移除\n。它只是为了查看文本,就像没有\n一样
要使用Python删除换行符,可以使用字符串的replace函数。
这个例子删除了所有3种类型的换行符:
my_string = open('lala.json').read()
print(my_string)
my_string = my_string.replace("\r","").replace("\n","")
print(my_string)
示例文件为:
{
"lala": "lulu",
"foo": "bar"
}
你可以尝试使用这个回放场景:
https://repl.it/repls/AnnualJointHardware
file = open("myfile.txt", "r")
lines = file.readlines()
str = '' #string declaration
for i in range(len(lines)):
str += lines[i].rstrip('\n') + ' '
print str