Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将文本文件读入字符串变量并去除换行符?_Python_String - Fatal编程技术网

Python 如何将文本文件读入字符串变量并去除换行符?

Python 如何将文本文件读入字符串变量并去除换行符?,python,string,Python,String,我使用以下代码段读取python中的文件: with open ("data.txt", "r") as myfile: data=myfile.readlines() 输入文件为: llkkkkkkkmmmmmnnnnnnnnnnnnnnn GGGGGGG HHHHHHHHHHHHHHHHHEEEEEEEEEEEEEEEEEEEEEEEEE 当我打印数据时,我得到 ['llkkkkkkkmmmmmmmnnnnnnnnnnnnnnnnn\n','ggggggggg hhhhhhhhh

我使用以下代码段读取python中的文件:

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