如何在Python中将文本文件读入stringvariables

我使用下面的代码段来读取python中的文件

with open ("data.txt", "r") as myfile: data=myfile.readlines() 

input文件是

 LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE 

当我打印数据,我得到

 ['LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN\n', 'GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE'] 

正如我所看到的数据是列表forms。 我如何使它string。 而且我该如何从中删除“\ n”,“[”和“]”字符?

你可以使用:

 with open('data.txt', 'r') as myfile: data=myfile.read().replace('\n', '') 

使用read(),而不是readline()

 data = myfile.read() 

从一行中读取文件

 str = open('very_Important.txt', 'r').read() 
 with open("data.txt") as myfile: data="".join(line.rstrip() for line in myfile) 

join()会join一个string列表,而没有参数的rstrip()会从string结尾修剪空格,包括换行符。

简单的方法:

 file = open('data.txt', 'r') text = file.read() file.close() 

很难准确地说出你究竟在做什么,但是这样的事情会让你开始:

 with open ("data.txt", "r") as myfile: data = ' '.join([line.replace('\n', '') for line in myfile.readlines()]) 

你也可以去掉每一行并连接成最终的string。

 myfile = open("data.txt","r") data = "" lines = myfile.readlines() for line in lines: data = data + line.strip(); 

这也可以工作得很好。

我已经摆弄了这一段时间,并倾向于使用readrstrip结合使用。 如果没有rstrip("\n") ,Python会在string末尾添加一个换行符,在大多数情况下,这个换行符并不是非常有用。

 with open("myfile.txt" as f: file_content = f.read().rstrip("\n") print file_content 
 f = open('data.txt','r') string = "" while 1: line = f.readline() if not line:break string += line f.close() print string 

我不觉得有人提到你问题的一部分。 当你将每一行读入你的variables时,因为在用''replace\ n之前有多行,你最终创build了一个列表。 如果你有一个x的variables,并打印出来

X

或打印(x)

或str(x)

你会看到括号中的整个列表。 如果你调用(sorting数组)的每个元素,

x [0]则省略括号。 如果你使用str()函数,你将看到的只是数据而不是“”。 STR(X [0])

 with open(player_name, 'r') as myfile: data=myfile.readline() list=data.split(" ") word=list[0] 

此代码将帮助您阅读第一行,然后使用列表和拆分选项,您可以将空格分隔的第一行字转换为存储在列表中。

比你可以很容易地访问任何字,甚至存储在一个string。

你也可以使用for循环做同样的事情。

python3:谷歌“列表comphrension”,如果方括号语法对你来说是新的。

  with open('data.txt') as f: lines = [ line.strip( ) for line in list(f) ] 

这工作:将您的文件更改为:

 LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE 

然后:

 file = open("file.txt") line = file.read() words = line.split() 

这将创build一个名为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 

要么:

 print words[0] + ",", words[1] # Note that the "+" symbol indicates no spaces #The comma not in parentheses indicates a space 

这返回:

 LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN, GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE 
 file = open("myfile.txt", "r") lines = file.readlines() str = '' #string declaration for i in range(len(lines)): str += lines[i].rstrip('\n') + ' ' print str