我有一个文本文件,看起来像:
ABC
DEF
我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?
有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。
我有一个文本文件,看起来像:
ABC
DEF
我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?
有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。
当前回答
我已经摆弄了一段时间,更喜欢将use read与rstrip结合使用。如果没有rstrip("\n"), Python会在字符串的末尾添加换行符,这在大多数情况下不是很有用。
with open("myfile.txt") as f:
file_content = f.read().rstrip("\n")
print(file_content)
其他回答
在Python 3.5或更高版本中,使用pathlib可以将文本文件内容复制到一个变量中,并在一行中关闭文件:
from pathlib import Path
txt = Path('data.txt').read_text()
然后你可以使用str.replace删除换行符:
txt = txt.replace('\n', '')
如此: 将文件更改为:
LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE
然后:
file = open("file.txt")
line = file.read()
words = line.split()
这将创建一个名为words的列表,等于:
['LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN', 'GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE']
去掉了"\n"。要回答括号阻碍你的问题,只需这样做:
for word in words: # Assuming words is the list above
print word # Prints each word in file on a different line
Or:
print words[0] + ",", words[1] # Note that the "+" symbol indicates no spaces
#The comma not in parentheses indicates a space
这将返回:
LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN, GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE
这是一个一行的,可复制粘贴的解决方案,也关闭文件对象:
_ = open('data.txt', 'r'); data = _.read(); _.close()
f = open('data.txt','r')
string = ""
while 1:
line = f.readline()
if not line:break
string += line
f.close()
print(string)
也许你可以试试这个?我在我的程序中使用这个。
Data= open ('data.txt', 'r')
data = Data.readlines()
for i in range(len(data)):
data[i] = data[i].strip()+ ' '
data = ''.join(data).strip()