我有一个文本文件,看起来像:
ABC
DEF
我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?
有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。
我有一个文本文件,看起来像:
ABC
DEF
我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?
有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。
当前回答
这是一个一行的,可复制粘贴的解决方案,也关闭文件对象:
_ = open('data.txt', 'r'); data = _.read(); _.close()
其他回答
我很惊讶没有人提到splitlines()。
with open ("data.txt", "r") as myfile:
data = myfile.read().splitlines()
变量数据现在是一个列表,打印时是这样的:
['LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN', 'GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE']
注意这里没有换行符(\n)。
在这一点上,听起来好像你想打印回控制台的行,这可以通过for循环实现:
for line in data:
print(line)
file = open("myfile.txt", "r")
lines = file.readlines()
str = '' #string declaration
for i in range(len(lines)):
str += lines[i].rstrip('\n') + ' '
print str
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())
如此: 将文件更改为:
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(player_name, 'r') as myfile:
data=myfile.readline()
list=data.split(" ")
word=list[0]
这段代码将帮助您读取第一行,然后使用列表和分割选项,您可以将第一行字由空格分隔,以存储在列表中。
这样你就可以轻松地访问任何单词,甚至将它存储在字符串中。
你也可以用for循环来做同样的事情。