我有一个文本文件,看起来像:
ABC
DEF
我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?
有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。
我有一个文本文件,看起来像:
ABC
DEF
我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?
有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。
当前回答
这可以使用read()方法来完成:
text_as_string = open('Your_Text_File.txt', 'r').read()
或者因为默认模式本身是'r'(读),所以简单地使用,
text_as_string = open('Your_Text_File.txt').read()
其他回答
with open(player_name, 'r') as myfile:
data=myfile.readline()
list=data.split(" ")
word=list[0]
这段代码将帮助您读取第一行,然后使用列表和分割选项,您可以将第一行字由空格分隔,以存储在列表中。
这样你就可以轻松地访问任何单词,甚至将它存储在字符串中。
你也可以用for循环来做同样的事情。
如此: 将文件更改为:
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
试试下面的方法:
with open('data.txt', 'r') as myfile:
data = myfile.read()
sentences = data.split('\\n')
for sentence in sentences:
print(sentence)
注意:不移除\n。它只是为了查看文本,就像没有\n一样
在Python 3.5或更高版本中,使用pathlib可以将文本文件内容复制到一个变量中,并在一行中关闭文件:
from pathlib import Path
txt = Path('data.txt').read_text()
然后你可以使用str.replace删除换行符:
txt = txt.replace('\n', '')
你可以用:
with open('data.txt', 'r') as file:
data = file.read().replace('\n', '')
或者文件内容保证为一行
with open('data.txt', 'r') as file:
data = file.read().rstrip()