如何在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();
这也可以工作得很好。
我已经摆弄了这一段时间,并倾向于使用read
与rstrip
结合使用。 如果没有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