Python 如何将文本文件读入字符串变量并去除换行符?
我使用以下代码段读取python中的文件:Python 如何将文本文件读入字符串变量并去除换行符?,python,string,Python,String,我使用以下代码段读取python中的文件: with open ("data.txt", "r") as myfile: data=myfile.readlines() 输入文件为: llkkkkkkkmmmmmnnnnnnnnnnnnnnn GGGGGGG HHHHHHHHHHHHHHHHHEEEEEEEEEEEEEEEEEEEEEEEEE 当我打印数据时,我得到 ['llkkkkkkkmmmmmmmnnnnnnnnnnnnnnnnn\n','ggggggggg hhhhhhhhh
with open ("data.txt", "r") as myfile:
data=myfile.readlines()
输入文件为:
llkkkkkkkmmmmmnnnnnnnnnnnnnnn
GGGGGGG HHHHHHHHHHHHHHHHHEEEEEEEEEEEEEEEEEEEEEEEEE
当我打印数据时,我得到
['llkkkkkkkmmmmmmmnnnnnnnnnnnnnnnnn\n','ggggggggg hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
正如我所看到的,数据以
列表的形式出现。我该怎么做呢?还有,我如何从中删除“\n”
,“[”
,和“]”
字符?很难确切地说出您想要的是什么,但类似的内容应该可以让您开始:
f = open('data.txt','r')
string = ""
while 1:
line = f.readline()
if not line:break
string += line
f.close()
print(string)
with open ("data.txt", "r") as myfile:
data = ' '.join([line.replace('\n', '') for line in myfile.readlines()])
很难说清楚你在追求什么,但像这样的事情应该会让你开始:
with open ("data.txt", "r") as myfile:
data = ' '.join([line.replace('\n', '') for line in myfile.readlines()])
join()将连接一个字符串列表,不带参数的rstrip()将从字符串末尾修剪空白,包括换行符
join()将连接字符串列表,不带参数的rstrip()将从字符串末尾修剪空白,包括换行符。您可以使用:
with open('data.txt', 'r') as file:
data = file.read().replace('\n', '')
您可以使用:
with open('data.txt', 'r') as file:
data = file.read().replace('\n', '')
我觉得没有人提到你问题的[]部分。在将每一行读入变量时,由于在用“”替换之前有多行,\n您最终创建了一个列表。如果你有一个x的变量,用
x
或打印(x)
或str(x)
您将看到带括号的整个列表。如果调用(排序数组)的每个元素
x[0]
然后省略括号。如果使用str()函数,则只会看到数据,而不会看到“”。
str(x[0])我觉得没有人提到你问题的[]部分。在将每一行读入变量时,由于在用“”替换之前有多行,\n您最终创建了一个列表。如果你有一个x的变量,用
x
或打印(x)
或str(x)
您将看到带括号的整个列表。如果调用(排序数组)的每个元素
x[0]
然后省略括号。如果使用str()函数,则只会看到数据,而不会看到“”。
str(x[0])要将所有行连接成一个字符串并删除新行,我通常使用:
with open('t.txt') as f:
s = " ".join([l.rstrip() for l in f])
要将所有行合并为一个字符串并删除新行,我通常使用:
with open('t.txt') as f:
s = " ".join([l.rstrip() for l in f])
您还可以将每一行剥离并连接成最后一个字符串
myfile = open("data.txt","r")
data = ""
lines = myfile.readlines()
for line in lines:
data = data + line.strip();
这也很好。您还可以剥离每一行并连接成最后一个字符串
myfile = open("data.txt","r")
data = ""
lines = myfile.readlines()
for line in lines:
data = data + line.strip();
这也很好。这很有效:
将文件更改为:
LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE
然后:
这将创建一个名为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
或:
这将返回:
LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN, GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE
这项工作:
将文件更改为:
LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE
然后:
这将创建一个名为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
或:
这将返回:
LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN, GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE
您可以在一行中读取文件:
str = open('very_Important.txt', 'r').read()
from pathlib import Path
txt = Path('data.txt').read_text()
请注意,这不会显式关闭文件
当文件作为垃圾回收的一部分退出时,CPython将关闭该文件
但其他python实现不会。要编写可移植代码,最好将与
一起使用,或者显式关闭文件。短并不总是好的。请参见您可以在一行中读取文件:
str = open('very_Important.txt', 'r').read()
from pathlib import Path
txt = Path('data.txt').read_text()
请注意,这不会显式关闭文件
当文件作为垃圾回收的一部分退出时,CPython将关闭该文件
但其他python实现不会。要编写可移植代码,最好将与
一起使用,或者显式关闭文件。短并不总是好的。看
此代码将帮助您读取第一行,然后使用列表和拆分选项,您可以将第一行按空格分隔的单词转换为存储在列表中
您可以轻松访问任何单词,甚至将其存储在字符串中
使用for循环也可以做同样的事情
file = open("myfile.txt", "r")
lines = file.readlines()
str = '' #string declaration
for i in range(len(lines)):
str += lines[i].rstrip('\n') + ' '
print str
此代码将帮助您读取第一行,然后使用列表和拆分选项,您可以将第一行按空格分隔的单词转换为存储在列表中
您可以轻松访问任何单词,甚至将其存储在字符串中
使用for循环也可以做同样的事情。python3:Google“列表理解”,如果方括号语法对您来说是新的
file = open("myfile.txt", "r")
lines = file.readlines()
str = '' #string declaration
for i in range(len(lines)):
str += lines[i].rstrip('\n') + ' '
print str
with open('data.txt') as f:
lines = [ line.strip('\n') for line in list(f) ]
python3:Google“列表理解”,如果方括号语法对您来说是新的
with open('data.txt') as f:
lines = [ line.strip('\n') for line in list(f) ]
我已经在这方面花了一段时间,并且更喜欢将read
与rstrip
结合使用。如果没有rstrip(“\n”)
,Python会在字符串的末尾添加一个换行符,在大多数情况下这不是很有用
打开(“myfile.txt”)作为f:
文件内容=f.read().rstrip(“\n”)
打印(文件内容)
我已经在这方面花了一段时间,并且更喜欢将read
与rstrip
结合使用。如果没有rstrip(“\n”),Python会在字符串的末尾添加一个换行符,在大多数情况下这不是很有用
打开(“myfile.txt”)作为f:
文件内容=f.read().rstrip(“\n”)
打印(文件内容)
您试过这个吗
x = "yourfilename.txt"
y = open(x, 'r').read()
print(y)
你试过这个吗
x = "yourfilename.txt"
y = open(x, 'r').read()
print(y)
我很惊讶还没有人提到分割线()
with open ("data.txt", "r") as myfile:
data = myfile.read().splitlines()
变量data
现在是一个列表,打印时如下所示:
['LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN', 'GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE']
注意没有换行符(\n
)
在这一点上,听起来您希望将行打印回console,这可以通过for循环实现:
for line in data:
print(line)
我很惊讶还没有人提到分割线()
with open ("data.txt", "r") as myfile:
data = myfile.read().splitlines()
变量data
现在是一个列表,打印时如下所示:
['LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN', 'GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE']
注意没有换行符(\n
)
在这一点上,听起来您希望将这些行打印回console,而console